Ultra Detailed Player Audit - 20260827

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.

20260827_ARI@SF

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.53367139, "home_win_probability": 0.53367139, "away_win_probability": 0.46632861000000003, "predicted_score_text": "ARI 3 - 4 SF", "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": "ARI", "original_runs": 3, "run_delta": 0.0607, "adjusted_runs": 3, "lineup": {"players_used": 9, "total_weight": 32.0, "quality": 0.1363954981765967, "contact": 0.18030032099292467, "power": 0.007906067110366496, "discipline": 0.38437025716292594, "xwoba": 0.3204375, "recent_xwoba": 0.3204375, "barrel": 7.2406250000000005, "ab_hard_contact": -0.05099770541170895, "ab_bat_speed": 69.90582726343303, "ab_strikeout_rate": 0.19333748876439247, "available_players": 9, "top_players": [{"player_id": "682998", "player_name": "Corbin Carroll", "position": "RF", "weight": 4.0, "quality": 0.7067633733483322, "contact": 0.7019802955783969, "power": 0.9633092085894178, "discipline": 0.30135758751718006, "xwoba": 0.348, "recent_xwoba": 0.348, "barrel": 12.2, "ab_hard_contact": 0.7522794098835996, "ab_bat_speed": 74.42003051001821, "ab_strikeout_rate": 0.21849078341013825, "available": 1.0}, {"player_id": "672515", "player_name": "Gabriel Moreno", "position": "C", "weight": 4.0, "quality": 0.7401260597914171, "contact": 1.0762603790283782, "power": 0.47006853224539313, "discipline": 0.8868652059441535, "xwoba": 0.367, "recent_xwoba": 0.367, "barrel": 7.9, "ab_hard_contact": 0.19679921633644296, "ab_bat_speed": 70.53028234728235, "ab_strikeout_rate": 0.16498316498316498, "available": 1.0}, {"player_id": "663457", "player_name": "Lars Nootbaar", "position": "DH", "weight": 3.0, "quality": 0.6494641178300674, "contact": 0.57838258517316, "power": 0.580899619944961, "discipline": 0.9338483709273183, "xwoba": 0.334, "recent_xwoba": 0.334, "barrel": 9.3, "ab_hard_contact": 0.6484685893754137, "ab_bat_speed": 71.318375, "ab_strikeout_rate": 0.19, "available": 1.0}, {"player_id": "571448", "player_name": "Nolan Arenado", "position": "3B", "weight": 4.0, "quality": -0.52134288087361, "contact": -0.6308718384929738, "power": -0.5565447013627415, "discipline": 0.09778534571723445, "xwoba": 0.292, "recent_xwoba": 0.292, "barrel": 6.6, "ab_hard_contact": -0.2684178367786258, "ab_bat_speed": 69.87975088183421, "ab_strikeout_rate": 0.2147058823529412, "available": 1.0}, {"player_id": "694374", "player_name": "Tim Tawa", "position": "1B", "weight": 3.0, "quality": 0.23945110608630762, "contact": 0.251105135607778, "power": 0.4489679268400393, "discipline": -0.2581622110832636, "xwoba": 0.317, "recent_xwoba": 0.317, "barrel": 9.3, "ab_hard_contact": -0.4404509870087313, "ab_bat_speed": 70.0944558287796, "ab_strikeout_rate": 0.26772486772486775, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "694738", "player_name": "Landen Roupp", "quality": 0.18439599661109923, "contact": 0.5643862891397621, "command": -0.21490277777777764, "movement": -0.4718334736718443, "xwoba": 0.3, "whiff": 25.2, "faced_est_woba": 0.26553030687830687, "faced_launch_speed": 83.81122223993765, "faced_strikeout_rate": 0.2351920438957476, "faced_run_exp": 0.006601179372559203}}, "home": {"team": "SF", "original_runs": 4, "run_delta": 0.1643, "adjusted_runs": 4, "lineup": {"players_used": 9, "total_weight": 29.0, "quality": 0.09761651380539257, "contact": -0.29698003932070766, "power": 0.14878496544503478, "discipline": -0.23640650025135015, "xwoba": 0.30351724137931035, "recent_xwoba": 0.30351724137931035, "barrel": 9.455172413793106, "ab_hard_contact": -0.28592302279059634, "ab_bat_speed": 68.2195140378645, "ab_strikeout_rate": 0.2783899646594971, "available_players": 9, "top_players": [{"player_id": "805811", "player_name": "Bryce Eldridge", "position": "DH", "weight": 4.0, "quality": 0.7765011133058833, "contact": 0.7591051024882971, "power": 1.0661978687695097, "discipline": 0.2503112048413719, "xwoba": 0.352, "recent_xwoba": 0.352, "barrel": 11.6, "ab_hard_contact": 0.3209097563425829, "ab_bat_speed": 72.6358899535424, "ab_strikeout_rate": 0.2808943089430894, "available": 1.0}, {"player_id": "683766", "player_name": "Christian Koss", "position": "SS", "weight": 3.0, "quality": -0.4507580695129613, "contact": -1.4410585779220781, "power": -1.112705979920947, "discipline": -0.7997389306599835, "xwoba": 0.23400000000000004, "recent_xwoba": 0.234, "barrel": 5.0, "ab_hard_contact": -0.6697386460379849, "ab_bat_speed": 67.56420740740741, "ab_strikeout_rate": 0.2694444444444445, "available": 1.0}, {"player_id": "646240", "player_name": "Rafael Devers", "position": "1B", "weight": 4.0, "quality": 0.49464475136224884, "contact": 0.3775536787526349, "power": 0.9566062596875078, "discipline": -0.062254163634893486, "xwoba": 0.329, "recent_xwoba": 0.329, "barrel": 11.2, "ab_hard_contact": 0.19155376517873235, "ab_bat_speed": 70.734690828213, "ab_strikeout_rate": 0.2735311059907834, "available": 1.0}, {"player_id": "801501", "player_name": "Nate Furman", "position": "2B", "weight": 3.0, "quality": -0.04695780713933144, "contact": -1.9606072539682535, "power": -1.955009457079475, "discipline": 0.3521817042606517, "xwoba": 0.23700000000000002, "recent_xwoba": 0.23700000000000002, "barrel": 0.0, "ab_hard_contact": -1.7239986653990305, "ab_bat_speed": 64.99666666666667, "ab_strikeout_rate": 0.06666666666666667, "available": 1.0}, {"player_id": "701852", "player_name": "Drew Cavanaugh", "position": "C", "weight": 3.0, "quality": -0.19189511848211238, "contact": -0.45149326265114265, "power": -0.8704122682123172, "discipline": 0.38074519632414383, "xwoba": 0.312, "recent_xwoba": 0.312, "barrel": 3.1, "ab_hard_contact": -1.083673935674914, "ab_bat_speed": 67.1247509578544, "ab_strikeout_rate": 0.2638888888888889, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "703615", "player_name": "Jose Cabrera", "quality": -0.10481274076638807, "contact": -0.316962984565317, "command": -0.7709027777777778, "movement": -0.3975142551705609, "xwoba": 0.353, "whiff": 20.2, "faced_est_woba": 0.2677291391496599, "faced_launch_speed": 83.86442743764172, "faced_strikeout_rate": 0.23245614035087722, "faced_run_exp": 0.006833261708798738}}}, "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.5724, "recent_form_edge_home_minus_away": -0.398, "pitcher_matchup_edge_home_minus_away": -0.0112, "composite_home_edge": -0.259, "existing_home_win_probability": 0.5466, "refreshed_home_win_probability": 0.3733, "winner_support_before_review": -0.259}, "reasons": ["target direction already matched refreshed fundamentals or margin was not fragile"]}, "uncapped_home_win_probability": 0.546604, "uncapped_away_win_probability": 0.453396, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.546604, "discount_factor": 0.7225, "published_confidence": 0.533671, "guardrail_confidence_cap": 0.54, "guardrail_cap_enforced": false, "applied_discounts": [{"reason": "projected_margin_is_one_run", "factor": 0.85}, {"reason": "matchup_recency_guardrail", "factor": 0.85}]}, "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.", "pre_simulation_target": {"away_runs": 3, "home_runs": 4, "predicted_score_text": "ARI 3 - 4 SF", "confidence": 0.53367139, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "stable_final_prediction_policy", "simulation_usage": "organic_simulation_realized_target", "simulation_score_matches_prediction": true, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 3, "home_runs": 4, "score_text": "ARI 3 - 4 SF", "winner": "SF"}, "final_simulation_score": {"away_runs": 3, "home_runs": 4, "score_text": "ARI 3 - 4 SF", "winner": "SF"}, "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.0112, "recent_form_edge_home_minus_away": -0.398, "winner_direction": "home", "thresholds": {"pitcher_matchup": 0.35, "recent_form": 0.75}}, "margin_widening_capped": false, "simulation_winner_agrees": true, "away_run_delta": 0, "home_run_delta": 0, "total_run_delta": 0, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "organic_simulation_realized_target", "final_prediction_source": "stable_final_prediction_policy", "final_decision_policy": {"policy_version": "model_target_authoritative_simulation_realizes_v3", "away_runs": 3, "home_runs": 4, "winner": "SF", "model_winner": "SF", "simulation_winner": "SF", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 5, "published_winner": "SF", "published_winner_draw_share": 0.4, "draw_majority_team": "ARI", "published_winner_is_draw_majority": false, "sampling": "target_conditioned_selection", "is_unbiased_probability_sample": false, "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."}, "simulation_score_enabled": true, "independent_margin_support": false, "margin_widening_capped": false, "model_margin": 1, "simulation_margin": 1, "simulation_usage": "organic_simulation_realized_target", "score_source": "enhanced_prediction.pre_simulation_target", "simulation_realized_target": true, "model_score": {"away_runs": 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.5724, "winner": "SF", "score_reviewed": {"away_runs": 3, "home_runs": 4, "source": "enhanced_prediction.pre_simulation_target"}, "reason": "published margin is directionally supported or within review threshold"}}, "decision_profile": {"method": "priced_decision_profile_v2", "winner": "SF", "display_confidence": 0.5337, "internal_signal_score": 0.505, "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability", "model_pick_probability": 0.5337, "confidence_compression_detected": false, "moneyline_fit": "unavailable_without_market_price", "betting_status": "price_required_before_betting_analysis", "market_context": null, "margin_fit": "moneyline_preferred_over_margin", "totals_fit": "low_total_lean", "winner_accuracy_and_margin_accuracy_decoupled": true, "signals": {"final_margin": 1, "winner_quality_edge": -0.5724, "winner_recent_form_edge": -0.188, "winner_pitcher_matchup_edge": -0.0112, "winner_simulation_draw_rate": 0.4, "blowout_draw_rate_margin_4_plus": 0.0, "high_total_draw_rate_11_plus": 0.2, "low_total_draw_rate_6_or_less": 0.6, "total_runs_spread": {"min": 5, "median": 5, "max": 11, "range": 6}}, "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 predictionARI 3 - 4 SFSF0.534enhanced_prediction.pre_simulation_targetTrue
Simulation drawARI 3 - 4 SFSF-organic_simulation_realized_targetTrue

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

Full Prediction Process

Optimization Roadmap Runtime Status

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

PriorityChangeRuntime statusEvidence
P1Empirical confidence blendappliedraw=0.5101; empirical=0.5140; weight=0.5000; final=0.5121
P1H2H margin as base featureavailablehome net=-8; abs=8; home delta=-0.0462; away delta=0.0462
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.7795; recent edge=-0.1880; 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.8000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5337
9. Simulation reconciliationReconciles final shipped score with the simulation box score while retaining the pre-simulation target.simulation_reconciliationorganic_simulation_realized_target
10. Score evolution rendered7 stored score steps are rendered below.game.score_evolution.stepstrue

Score Evolution Steps

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

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.43403059382422804,
  "base_low_score_probability": 0.4342042755344418,
  "low_score_signal_threshold": 0.5142042755344418,
  "low_score_signal_strength": -0.00017368171021375778,
  "confidence": 0.6002,
  "factors": {
    "environmental": 0.9996,
    "pitcher_form": 1.0,
    "team_form": 1.0,
    "situational": 1.0,
    "combined": 0.9996
  },
  "prediction": "normal_scoring",
  "expected_total_runs": 7,
  "pre_simulation_expected_total_runs": 9.8,
  "low_score_model_expected_total_runs": 9.8,
  "final_simulation_total_runs": 7,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "monotone_reliability_shrinkage",
  "policy": "shrink_toward_even_score_floor_v3",
  "sample_size": 321,
  "near_bucket_sample_size": 321,
  "medium_bucket_sample_size": 436,
  "wide_bucket_sample_size": 498,
  "global_sample_size": 691,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.514,
  "bayesian_hit_rate": 0.5133,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.5085,
  "raw_pick_probability_unclamped": 0.5085,
  "score_probability_conflict": false,
  "margin_implied_home_probability": 0.5085,
  "margin_implied_pick_probability": 0.5085,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.5085,
  "score_implied_floor_pick_probability": 0.5082,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.5085,
  "uncapped_away_win_probability": 0.4915,
  "calibrated_pick_probability": 0.5082,
  "predicted_side": "home",
  "reliability": 0.946903,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.965487
}
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": 321,
  "empirical_hit_rate": 0.514,
  "empirical_weight": 0.5,
  "blended_confidence": 0.51205,
  "published_confidence": 0.533671,
  "published_after_governors": true,
  "governor_mode": "shrinkage_not_clamp"
}
H2H Base Feature
{
  "method": "h2h_net_margin_monotonic_v1",
  "available": true,
  "sample_size": 5,
  "sample_weight": 0.0577,
  "home_net_margin": -8.0,
  "absolute_net_margin": 8.0,
  "home_average_margin": -1.6,
  "home_run_delta": -0.0462,
  "away_run_delta": 0.0462,
  "evidence": [
    {
      "game_id": null,
      "home_margin": 2.0
    },
    {
      "game_id": null,
      "home_margin": -6.0
    },
    {
      "game_id": null,
      "home_margin": -1.0
    },
    {
      "game_id": null,
      "home_margin": -1.0
    },
    {
      "game_id": null,
      "home_margin": -2.0
    }
  ],
  "adaptive_parameters": {
    "h2h.history_limit": 5,
    "h2h.maximum_weight": 0.15,
    "h2h.prior_games": 8.0,
    "h2h.maximum_total_shift": 0.65
  }
}
Season Run Differential Adjustment
{
  "applied": true,
  "home": {
    "team": "SF",
    "games": 133,
    "wins": 54,
    "losses": 79,
    "win_pct": 0.40601503759398494,
    "runs_scored": 540,
    "runs_allowed": 614,
    "run_differential": -74,
    "run_differential_per_game": -0.556390977443609,
    "available": true
  },
  "away": {
    "team": "ARI",
    "games": 134,
    "wins": 71,
    "losses": 63,
    "win_pct": 0.5298507462686567,
    "runs_scored": 605,
    "runs_allowed": 600,
    "run_differential": 5,
    "run_differential_per_game": 0.03731343283582089,
    "available": true
  },
  "run_differential_edge_per_game": -0.5937,
  "win_pct_edge": -0.1238,
  "quality_edge": -0.5724,
  "season_quality_edge": -0.7795,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": -0.7795,
    "recent_quality_edge": -0.188,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "aligned",
    "blended_quality_edge": -0.5724
  },
  "margin_adjustment": -0.2404,
  "reason": "season-to-date run differential and record moved the score toward the stronger team",
  "margin_adjustment_policy": {
    "adjustment": -0.2404,
    "cap": 1.4,
    "scale": 0.42,
    "quality_edge": -0.5724,
    "season_quality_edge": -0.7795,
    "recent_alignment": "aligned",
    "large_edge_supported_by_recent_form": false,
    "method": "standard_bounded_season_recent_adjustment"
  },
  "adjusted_score": {
    "away_runs": 4.496,
    "home_runs": 4.721,
    "home_win_probability": 0.5191
  }
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 3,
      "away_runs": 3,
      "probability": 0.032258442545220534
    },
    {
      "home_runs": 4,
      "away_runs": 3,
      "probability": 0.03129349346383782
    },
    {
      "home_runs": 3,
      "away_runs": 4,
      "probability": 0.030683488270901442
    },
    {
      "home_runs": 4,
      "away_runs": 4,
      "probability": 0.02976565090850806
    },
    {
      "home_runs": 3,
      "away_runs": 2,
      "probability": 0.02811696921465008
    }
  ],
  "home_distribution": {
    "0": 0.0652777789115858,
    "1": 0.1092669195612517,
    "2": 0.15248992040640064,
    "3": 0.177428214936535,
    "4": 0.17212079215025572,
    "5": 0.1392108536275615,
    "6": 0.09387327386919221,
    "7": 0.05277642149688648,
    "8": 0.02473813881776715,
    "9": 0.009667701047388334,
    "10": 0.00314998517517562
  },
  "away_distribution": {
    "0": 0.06860493823762359,
    "1": 0.11451368156235166,
    "2": 0.15846954907767827,
    "3": 0.18181123310494435,
    "4": 0.1729346613889834,
    "5": 0.13637345038381052,
    "6": 0.08915876720608956,
    "7": 0.04832643139165217,
    "8": 0.02171660055213917,
    "9": 0.008090687094727385
  },
  "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.54,
  "winner_flipped": false,
  "reasons": [
    "predicted side recently lost this matchup by 5+ runs",
    "opponent already produced an 8+ run breakout in this matchup",
    "a prior same-side pick already missed against the actual result",
    "a prior same-side pick missed by 5+ actual runs"
  ],
  "signals": {
    "predicted_team": "SF",
    "opponent_team": "ARI",
    "h2h_net_margin": -5,
    "opponent_breakout": true,
    "opponent_blowout_win": true,
    "split_recent_h2h": true,
    "recent_h2h": [
      {
        "date": "2026-07-01",
        "predicted_team_runs": 6,
        "opponent_runs": 4,
        "margin_for_predicted_team": 2,
        "winner": "SF"
      },
      {
        "date": "2026-06-30",
        "predicted_team_runs": 2,
        "opponent_runs": 8,
        "margin_for_predicted_team": -6,
        "winner": "ARI"
      },
      {
        "date": "2026-06-29",
        "predicted_team_runs": 4,
        "opponent_runs": 5,
        "margin_for_predicted_team": -1,
        "winner": "ARI"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 3,
      "consecutive_same_pick_count": 0,
      "same_pick_actual_loss_count": 2,
      "same_pick_blowout_loss_count": 1,
      "prior_predictions": [
        {
          "date": "20260701",
          "away": "SF",
          "home": "ARI",
          "game_number": 1,
          "predicted_team": "ARI",
          "actual_winner": "SF",
          "actual_margin": 2,
          "raw_pick_probability": 0.66,
          "artifact": "20260701_SF@ARI.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260630",
          "away": "SF",
          "home": "ARI",
          "game_number": 1,
          "predicted_team": "SF",
          "actual_winner": "ARI",
          "actual_margin": 6,
          "raw_pick_probability": 0.51,
          "artifact": "20260630_SF@ARI.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260629",
          "away": "SF",
          "home": "ARI",
          "game_number": 1,
          "predicted_team": "SF",
          "actual_winner": "ARI",
          "actual_margin": 1,
          "raw_pick_probability": 0.51,
          "artifact": "20260629_SF@ARI.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "SF",
    "guardrail_opponent_team": "ARI",
    "output_pre_simulation_winner": "SF",
    "output_opponent_team": "ARI",
    "simulation_score_winner": "SF",
    "final_score_winner": "SF",
    "pre_simulation_winner": "SF",
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false
  },
  "hard_flip_suppressed": false,
  "flip_authority": "caps_confidence_and_shifts_runs_only",
  "final_prediction_sync": {
    "pre_simulation_score": {
      "away_runs": 3,
      "home_runs": 4,
      "score_text": "ARI 3 - 4 SF",
      "winner": "SF"
    },
    "final_simulation_score": {
      "away_runs": 3,
      "home_runs": 4,
      "score_text": "ARI 3 - 4 SF",
      "winner": "SF"
    },
    "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.0112,
      "recent_form_edge_home_minus_away": -0.398,
      "winner_direction": "home",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 3,
      "home_runs": 4,
      "winner": "SF",
      "model_winner": "SF",
      "simulation_winner": "SF",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 5,
        "published_winner": "SF",
        "published_winner_draw_share": 0.4,
        "draw_majority_team": "ARI",
        "published_winner_is_draw_majority": false,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 1,
      "simulation_margin": 1,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 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.5724,
      "winner": "SF",
      "score_reviewed": {
        "away_runs": 3,
        "home_runs": 4,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  }
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "hard_flip_suppressed": false,
  "policy": "recency_uncertainty_shrinkage_v2",
  "reasons": [],
  "signals": {
    "home": {
      "team": "SF",
      "games": 133,
      "wins": 54,
      "losses": 79,
      "win_pct": 0.40601503759398494,
      "runs_scored": 540,
      "runs_allowed": 614,
      "run_differential": -74,
      "run_differential_per_game": -0.556390977443609,
      "available": true
    },
    "away": {
      "team": "ARI",
      "games": 134,
      "wins": 71,
      "losses": 63,
      "win_pct": 0.5298507462686567,
      "runs_scored": 605,
      "runs_allowed": 600,
      "run_differential": 5,
      "run_differential_per_game": 0.03731343283582089,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": 0.1,
  "final_margin": 0.1,
  "margin_cap": 1.5,
  "season_quality_edge": 0.5724,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.51205,
  "final_confidence": 0.5082,
  "calibrated_pick_probability": 0.5082,
  "shrinkage_weight": 0.965487,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 0.1,
  "calibration_sample_size": 321,
  "calibration_empirical_hit_rate": 0.514,
  "calibration_bayesian_hit_rate": 0.5133,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.5724,
  "reasons": [
    "confidence aligned to the calibrated pick probability"
  ],
  "score_coherence": {
    "policy": "probability_follows_published_score_v1",
    "published_score": {
      "away_runs": 3,
      "home_runs": 4
    },
    "margin": 1,
    "probability_before": 0.508207,
    "margin_implied_home_probability": 0.585,
    "shrinkage_weight": 0.965487,
    "side_flipped": false,
    "applied": true,
    "probability_after": 0.546604,
    "aligned_pick_probability": 0.546604
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 3,
    "home_runs": 4,
    "score_text": "ARI 3 - 4 SF",
    "winner": "SF"
  },
  "final_simulation_score": {
    "away_runs": 3,
    "home_runs": 4,
    "score_text": "ARI 3 - 4 SF",
    "winner": "SF"
  },
  "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.0112,
    "recent_form_edge_home_minus_away": -0.398,
    "winner_direction": "home",
    "thresholds": {
      "pitcher_matchup": 0.35,
      "recent_form": 0.75
    }
  },
  "margin_widening_capped": false,
  "simulation_winner_agrees": true,
  "away_run_delta": 0,
  "home_run_delta": 0,
  "total_run_delta": 0,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "organic_simulation_realized_target",
  "final_prediction_source": "stable_final_prediction_policy",
  "final_decision_policy": {
    "policy_version": "model_target_authoritative_simulation_realizes_v3",
    "away_runs": 3,
    "home_runs": 4,
    "winner": "SF",
    "model_winner": "SF",
    "simulation_winner": "SF",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 5,
      "published_winner": "SF",
      "published_winner_draw_share": 0.4,
      "draw_majority_team": "ARI",
      "published_winner_is_draw_majority": false,
      "sampling": "target_conditioned_selection",
      "is_unbiased_probability_sample": false,
      "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
    },
    "simulation_score_enabled": true,
    "independent_margin_support": false,
    "margin_widening_capped": false,
    "model_margin": 1,
    "simulation_margin": 1,
    "simulation_usage": "organic_simulation_realized_target",
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_realized_target": true,
    "model_score": {
      "away_runs": 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.5724,
    "winner": "SF",
    "score_reviewed": {
      "away_runs": 3,
      "home_runs": 4,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 3,
  "home_runs": 4,
  "confidence": 0.53367139,
  "home_win_probability": 0.53367139,
  "away_win_probability": 0.46632861000000003,
  "predicted_score_text": "ARI 3 - 4 SF",
  "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": "ARI",
      "original_runs": 3,
      "run_delta": 0.0607,
      "adjusted_runs": 3,
      "lineup": {
        "players_used": 9,
        "total_weight": 32.0,
        "quality": 0.1363954981765967,
        "contact": 0.18030032099292467,
        "power": 0.007906067110366496,
        "discipline": 0.38437025716292594,
        "xwoba": 0.3204375,
        "recent_xwoba": 0.3204375,
        "barrel": 7.2406250000000005,
        "ab_hard_contact": -0.05099770541170895,
        "ab_bat_speed": 69.90582726343303,
        "ab_strikeout_rate": 0.19333748876439247,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "682998",
            "player_name": "Corbin Carroll",
            "position": "RF",
            "weight": 4.0,
            "quality": 0.7067633733483322,
            "contact": 0.7019802955783969,
            "power": 0.9633092085894178,
            "discipline": 0.30135758751718006,
            "xwoba": 0.348,
            "recent_xwoba": 0.348,
            "barrel": 12.2,
            "ab_hard_contact": 0.7522794098835996,
            "ab_bat_speed": 74.42003051001821,
            "ab_strikeout_rate": 0.21849078341013825,
            "available": 1.0
          },
          {
            "player_id": "672515",
            "player_name": "Gabriel Moreno",
            "position": "C",
            "weight": 4.0,
            "quality": 0.7401260597914171,
            "contact": 1.0762603790283782,
            "power": 0.47006853224539313,
            "discipline": 0.8868652059441535,
            "xwoba": 0.367,
            "recent_xwoba": 0.367,
            "barrel": 7.9,
            "ab_hard_contact": 0.19679921633644296,
            "ab_bat_speed": 70.53028234728235,
            "ab_strikeout_rate": 0.16498316498316498,
            "available": 1.0
          },
          {
            "player_id": "663457",
            "player_name": "Lars Nootbaar",
            "position": "DH",
            "weight": 3.0,
            "quality": 0.6494641178300674,
            "contact": 0.57838258517316,
            "power": 0.580899619944961,
            "discipline": 0.9338483709273183,
            "xwoba": 0.334,
            "recent_xwoba": 0.334,
            "barrel": 9.3,
            "ab_hard_contact": 0.6484685893754137,
            "ab_bat_speed": 71.318375,
            "ab_strikeout_rate": 0.19,
            "available": 1.0
          },
          {
            "player_id": "571448",
            "player_name": "Nolan Arenado",
            "position": "3B",
            "weight": 4.0,
            "quality": -0.52134288087361,
            "contact": -0.6308718384929738,
            "power": -0.5565447013627415,
            "discipline": 0.09778534571723445,
            "xwoba": 0.292,
            "recent_xwoba": 0.292,
            "barrel": 6.6,
            "ab_hard_contact": -0.2684178367786258,
            "ab_bat_speed": 69.87975088183421,
            "ab_strikeout_rate": 0.2147058823529412,
            "available": 1.0
          },
          {
            "player_id": "694374",
            "player_name": "Tim Tawa",
            "position": "1B",
            "weight": 3.0,
            "quality": 0.23945110608630762,
            "contact": 0.251105135607778,
            "power": 0.4489679268400393,
            "discipline": -0.2581622110832636,
            "xwoba": 0.317,
            "recent_xwoba": 0.317,
            "barrel": 9.3,
            "ab_hard_contact": -0.4404509870087313,
            "ab_bat_speed": 70.0944558287796,
            "ab_strikeout_rate": 0.26772486772486775,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "694738",
        "player_name": "Landen Roupp",
        "quality": 0.18439599661109923,
        "contact": 0.5643862891397621,
        "command": -0.21490277777777764,
        "movement": -0.4718334736718443,
        "xwoba": 0.3,
        "whiff": 25.2,
        "faced_est_woba": 0.26553030687830687,
        "faced_launch_speed": 83.81122223993765,
        "faced_strikeout_rate": 0.2351920438957476,
        "faced_run_exp": 0.006601179372559203
      }
    },
    "home": {
      "team": "SF",
      "original_runs": 4,
      "run_delta": 0.1643,
      "adjusted_runs": 4,
      "lineup": {
        "players_used": 9,
        "total_weight": 29.0,
        "quality": 0.09761651380539257,
        "contact": -0.29698003932070766,
        "power": 0.14878496544503478,
        "discipline": -0.23640650025135015,
        "xwoba": 0.30351724137931035,
        "recent_xwoba": 0.30351724137931035,
        "barrel": 9.455172413793106,
        "ab_hard_contact": -0.28592302279059634,
        "ab_bat_speed": 68.2195140378645,
        "ab_strikeout_rate": 0.2783899646594971,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "805811",
            "player_name": "Bryce Eldridge",
            "position": "DH",
            "weight": 4.0,
            "quality": 0.7765011133058833,
            "contact": 0.7591051024882971,
            "power": 1.0661978687695097,
            "discipline": 0.2503112048413719,
            "xwoba": 0.352,
            "recent_xwoba": 0.352,
            "barrel": 11.6,
            "ab_hard_contact": 0.3209097563425829,
            "ab_bat_speed": 72.6358899535424,
            "ab_strikeout_rate": 0.2808943089430894,
            "available": 1.0
          },
          {
            "player_id": "683766",
            "player_name": "Christian Koss",
            "position": "SS",
            "weight": 3.0,
            "quality": -0.4507580695129613,
            "contact": -1.4410585779220781,
            "power": -1.112705979920947,
            "discipline": -0.7997389306599835,
            "xwoba": 0.23400000000000004,
            "recent_xwoba": 0.234,
            "barrel": 5.0,
            "ab_hard_contact": -0.6697386460379849,
            "ab_bat_speed": 67.56420740740741,
            "ab_strikeout_rate": 0.2694444444444445,
            "available": 1.0
          },
          {
            "player_id": "646240",
            "player_name": "Rafael Devers",
            "position": "1B",
            "weight": 4.0,
            "quality": 0.49464475136224884,
            "contact": 0.3775536787526349,
            "power": 0.9566062596875078,
            "discipline": -0.062254163634893486,
            "xwoba": 0.329,
            "recent_xwoba": 0.329,
            "barrel": 11.2,
            "ab_hard_contact": 0.19155376517873235,
            "ab_bat_speed": 70.734690828213,
            "ab_strikeout_rate": 0.2735311059907834,
            "available": 1.0
          },
          {
            "player_id": "801501",
            "player_name": "Nate Furman",
            "position": "2B",
            "weight": 3.0,
            "quality": -0.04695780713933144,
            "contact": -1.9606072539682535,
            "power": -1.955009457079475,
            "discipline": 0.3521817042606517,
            "xwoba": 0.23700000000000002,
            "recent_xwoba": 0.23700000000000002,
            "barrel": 0.0,
            "ab_hard_contact": -1.7239986653990305,
            "ab_bat_speed": 64.99666666666667,
            "ab_strikeout_rate": 0.06666666666666667,
            "available": 1.0
          },
          {
            "player_id": "701852",
            "player_name": "Drew Cavanaugh",
            "position": "C",
            "weight": 3.0,
            "quality": -0.19189511848211238,
            "contact": -0.45149326265114265,
            "power": -0.8704122682123172,
            "discipline": 0.38074519632414383,
            "xwoba": 0.312,
            "recent_xwoba": 0.312,
            "barrel": 3.1,
            "ab_hard_contact": -1.083673935674914,
            "ab_bat_speed": 67.1247509578544,
            "ab_strikeout_rate": 0.2638888888888889,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "703615",
        "player_name": "Jose Cabrera",
        "quality": -0.10481274076638807,
        "contact": -0.316962984565317,
        "command": -0.7709027777777778,
        "movement": -0.3975142551705609,
        "xwoba": 0.353,
        "whiff": 20.2,
        "faced_est_woba": 0.2677291391496599,
        "faced_launch_speed": 83.86442743764172,
        "faced_strikeout_rate": 0.23245614035087722,
        "faced_run_exp": 0.006833261708798738
      }
    }
  },
  "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.5724,
      "recent_form_edge_home_minus_away": -0.398,
      "pitcher_matchup_edge_home_minus_away": -0.0112,
      "composite_home_edge": -0.259,
      "existing_home_win_probability": 0.5466,
      "refreshed_home_win_probability": 0.3733,
      "winner_support_before_review": -0.259
    },
    "reasons": [
      "target direction already matched refreshed fundamentals or margin was not fragile"
    ]
  },
  "uncapped_home_win_probability": 0.546604,
  "uncapped_away_win_probability": 0.453396,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.546604,
    "discount_factor": 0.7225,
    "published_confidence": 0.533671,
    "guardrail_confidence_cap": 0.54,
    "guardrail_cap_enforced": false,
    "applied_discounts": [
      {
        "reason": "projected_margin_is_one_run",
        "factor": 0.85
      },
      {
        "reason": "matchup_recency_guardrail",
        "factor": 0.85
      }
    ]
  },
  "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.",
  "pre_simulation_target": {
    "away_runs": 3,
    "home_runs": 4,
    "predicted_score_text": "ARI 3 - 4 SF",
    "confidence": 0.53367139,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "stable_final_prediction_policy",
  "simulation_usage": "organic_simulation_realized_target",
  "simulation_score_matches_prediction": true,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 3,
      "home_runs": 4,
      "score_text": "ARI 3 - 4 SF",
      "winner": "SF"
    },
    "final_simulation_score": {
      "away_runs": 3,
      "home_runs": 4,
      "score_text": "ARI 3 - 4 SF",
      "winner": "SF"
    },
    "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.0112,
      "recent_form_edge_home_minus_away": -0.398,
      "winner_direction": "home",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 3,
      "home_runs": 4,
      "winner": "SF",
      "model_winner": "SF",
      "simulation_winner": "SF",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 5,
        "published_winner": "SF",
        "published_winner_draw_share": 0.4,
        "draw_majority_team": "ARI",
        "published_winner_is_draw_majority": false,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 1,
      "simulation_margin": 1,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 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.5724,
      "winner": "SF",
      "score_reviewed": {
        "away_runs": 3,
        "home_runs": 4,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  },
  "decision_profile": {
    "method": "priced_decision_profile_v2",
    "winner": "SF",
    "display_confidence": 0.5337,
    "internal_signal_score": 0.505,
    "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
    "model_pick_probability": 0.5337,
    "confidence_compression_detected": false,
    "moneyline_fit": "unavailable_without_market_price",
    "betting_status": "price_required_before_betting_analysis",
    "market_context": null,
    "margin_fit": "moneyline_preferred_over_margin",
    "totals_fit": "low_total_lean",
    "winner_accuracy_and_margin_accuracy_decoupled": true,
    "signals": {
      "final_margin": 1,
      "winner_quality_edge": -0.5724,
      "winner_recent_form_edge": -0.188,
      "winner_pitcher_matchup_edge": -0.0112,
      "winner_simulation_draw_rate": 0.4,
      "blowout_draw_rate_margin_4_plus": 0.0,
      "high_total_draw_rate_11_plus": 0.2,
      "low_total_draw_rate_6_or_less": 0.6,
      "total_runs_spread": {
        "min": 5,
        "median": 5,
        "max": 11,
        "range": 6
      }
    },
    "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 ARITrue1.02461.0246190
Home SFTrue1.01341.0134190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
DHLars Nootbaar3841.06180.8234positive_batter_regression0.33400.24100.41909.3048.4091.40718.6019.5013.701.0857
RFCorbin Carroll101.06720.8961neutral0.34800.25200.448012.2048.9091.7015.1027.2021.8011.70-0.2571
SSGeraldo Perdomo221.00720.0955neutral0.32600.25500.3460330.2087.4014.2012.2012.4013.80-0.1143
LFMax Kepler5960.9884-0.1546neutral0.27300.20700.33907.7040.7088.7018.3025.4022.108.400.2857
2BIldemaro Vargas1571.00280.0371neutral0.30500.27600.37503.4035.4087.5010.1014.709.905.500.0286
CGabriel Moreno161.07981.0636neutral0.36700.29100.45507.9042.6089.3011.8015.4014.9011.30-0.0571
3BNolan Arenado950.9702-0.3977negative_batter_regression0.29200.22600.35106.603285.1019.2023.5020.708.80-0.9714
1BTim Tawa5351.03760.5019neutral0.31700.25200.41609.3045.4090.8011.2027.2022.207.700.2857
CFRyan Waldschmidt1811.00640.0850neutral0.31000.25200.38106.803287.6016.7031.5028.907.50-0.4571

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
RFDrew Gilbert2271.02380.3176neutral0.32500.26100.39205.3036.1086.7015.4022.7018.208.900.3429
LFTurner Hill3271.03480.4640neutral0.36800.28200.478011.1038.9087.5012.1016.7018.5014.80-0.6000
3BShay Whitcomb3991.01130.1511neutral0.27800.18100.460021.1047.408928.5040.3042.902.900.6000
DHBryce Eldridge1991.08181.0913neutral0.35200.25100.463011.6052.1092.5013.8026.7026.4012.600.2571
CFJonah Cox2970.9994-0.0086negative_batter_regression0.27200.20800.418015.405092.8018.2043.3050.901.80-1.8571
SSChristian Koss5320.9619-0.5086neutral0.23400.20500.2750529.3085.108.9028.6024.804.300.0857
1BRafael Devers821.04820.6429neutral0.32900.23100.450011.2050.7092.7015.1028.9025.7010.50-0.5143
CDrew Cavanaugh3031.00010.0018neutral0.31200.24100.34003.1029.908613.9025.9025130.6571
2BNate Furman4850.9590-0.5462positive_batter_regression0.23700.16700.1980028.6082.301329.2035.7014.302
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0134,
    "raw_average_factor": 1.0134,
    "team_espn_average_rank": 316.78,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "RF",
        "player_id": "687551",
        "player_name": "Drew Gilbert",
        "offense_factor": 1.0238,
        "quality_score": 0.3176,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "687551",
          "espn_id": 4619467,
          "player_name": "Drew Gilbert",
          "team": "SF",
          "role": "batter",
          "espn_rank": 227,
          "espn_total_ranked": 645,
          "metrics": {
            "espn_rank": 227,
            "gp_value": 108.0,
            "gp_rank": 153,
            "ab_value": 285.0,
            "ab_rank": 213,
            "r_value": 39.0,
            "r_rank": 192,
            "h_value": 69.0,
            "h_rank": 208,
            "avg_value": 0.2421052,
            "avg_rank": null,
            "2b_value": 13.0,
            "2b_rank": 205,
            "3b_value": 3.0,
            "3b_rank": 32,
            "hr_value": 7.0,
            "hr_rank": 233,
            "rbi_value": 34.0,
            "rbi_rank": 218,
            "tb_value": 109.0,
            "tb_rank": 1176,
            "bb_value": 29.0,
            "bb_rank": 194,
            "so_value": 59.0,
            "so_rank": 247,
            "sb_value": 1.0,
            "sb_rank": 317,
            "obp_value": 0.3250773,
            "obp_rank": "-",
            "slg_value": 0.3824561,
            "slg_rank": "-",
            "ops_value": 0.7075334,
            "ops_rank": null,
            "war_value": 0.79,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 283.0,
          "k_percent": 18.2,
          "bb_percent": 8.9,
          "woba": 0.313,
          "xwoba": 0.325,
          "xba": 0.261,
          "xslg": 0.392,
          "sweet_spot_percent": 36.5,
          "barrel_batted_rate": 5.3,
          "hard_hit_percent": 36.1,
          "exit_velocity_avg": 86.7,
          "launch_angle_avg": 15.4,
          "whiff_percent": 22.7,
          "swing_percent": 42.2
        },
        "components": {
          "expected_quality": 0.3135,
          "regression_edge": 0.3429,
          "xwoba_edge": 0.6857,
          "xba_edge": 0.6857,
          "xslg_edge": 0.3286,
          "barrel_edge": -0.3111,
          "hard_hit_edge": -0.2286,
          "exit_velocity_edge": -0.72,
          "sweet_spot_edge": 0.5333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "806367",
        "player_name": "Turner Hill",
        "offense_factor": 1.0348,
        "quality_score": 0.464,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "806367",
          "espn_id": 5207758,
          "player_name": "Turner Hill",
          "team": "SF",
          "role": "batter",
          "espn_rank": 327,
          "espn_total_ranked": 645,
          "metrics": {
            "espn_rank": 327,
            "gp_value": 9.0,
            "gp_rank": 572,
            "ab_value": 22.0,
            "ab_rank": 567,
            "r_value": 2.0,
            "r_rank": 550,
            "h_value": 7.0,
            "h_rank": 520,
            "avg_value": 0.3181818,
            "avg_rank": null,
            "2b_value": 4.0,
            "2b_rank": 394,
            "3b_value": 0.0,
            "3b_rank": 283,
            "hr_value": 0.0,
            "hr_rank": 521,
            "rbi_value": 3.0,
            "rbi_rank": 520,
            "tb_value": 11.0,
            "tb_rank": 3043,
            "bb_value": 4.0,
            "bb_rank": 477,
            "so_value": 5.0,
            "so_rank": 578,
            "sb_value": 1.0,
            "sb_rank": 317,
            "obp_value": 0.4074074,
            "obp_rank": "-",
            "slg_value": 0.5,
            "slg_rank": "-",
            "ops_value": 0.9074074,
            "ops_rank": null,
            "war_value": 0.25,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 9.0,
          "k_percent": 18.5,
          "bb_percent": 14.8,
          "woba": 0.389,
          "xwoba": 0.368,
          "xba": 0.282,
          "xslg": 0.478,
          "sweet_spot_percent": 38.9,
          "barrel_batted_rate": 11.1,
          "hard_hit_percent": 38.9,
          "exit_velocity_avg": 87.5,
          "launch_angle_avg": 12.1,
          "whiff_percent": 16.7,
          "swing_percent": 34.0
        },
        "components": {
          "expected_quality": 1.2967,
          "regression_edge": -0.6,
          "xwoba_edge": 1.9143,
          "xba_edge": 1.2857,
          "xslg_edge": 1.5571,
          "barrel_edge": 0.9778,
          "hard_hit_edge": 0.1714,
          "exit_velocity_edge": -0.4,
          "sweet_spot_edge": 0.9333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "694376",
        "player_name": "Shay Whitcomb",
        "offense_factor": 1.0113,
        "quality_score": 0.1511,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "694376",
          "espn_id": 4683352,
          "player_name": "Shay Whitcomb",
          "team": "SF",
          "role": "batter",
          "espn_rank": 399,
          "espn_total_ranked": 645,
          "metrics": {
            "espn_rank": 399,
            "gp_value": 20.0,
            "gp_rank": 495,
            "ab_value": 34.0,
            "ab_rank": 534,
            "r_value": 4.0,
            "r_rank": 514,
            "h_value": 5.0,
            "h_rank": 543,
            "avg_value": 0.1470588,
            "avg_rank": null,
            "2b_value": 1.0,
            "2b_rank": 500,
            "3b_value": 0.0,
            "3b_rank": 283,
            "hr_value": 3.0,
            "hr_rank": 354,
            "rbi_value": 7.0,
            "rbi_rank": 457,
            "tb_value": 15.0,
            "tb_rank": 2671,
            "bb_value": 1.0,
            "bb_rank": 545,
            "so_value": 15.0,
            "so_rank": 495,
            "sb_value": 0.0,
            "sb_rank": 422,
            "obp_value": 0.1714285,
            "obp_rank": "-",
            "slg_value": 0.4411764,
            "slg_rank": "-",
            "ops_value": 0.6126049,
            "ops_rank": null,
            "war_value": 0.03,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 23.0,
          "k_percent": 42.9,
          "bb_percent": 2.9,
          "woba": 0.257,
          "xwoba": 0.278,
          "xba": 0.181,
          "xslg": 0.46,
          "sweet_spot_percent": 47.4,
          "barrel_batted_rate": 21.1,
          "hard_hit_percent": 47.4,
          "exit_velocity_avg": 89.0,
          "launch_angle_avg": 28.5,
          "whiff_percent": 40.3,
          "swing_percent": 48.8
        },
        "components": {
          "expected_quality": 0.2928,
          "regression_edge": 0.6,
          "xwoba_edge": -0.6571,
          "xba_edge": -1.6,
          "xslg_edge": 1.3,
          "barrel_edge": 2.5,
          "hard_hit_edge": 1.3857,
          "exit_velocity_edge": 0.2,
          "sweet_spot_edge": 2.35,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "DH",
        "player_id": "805811",
        "player_name": "Bryce Eldridge",
        "offense_factor": 1.0818,
        "quality_score": 1.0913,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "805811",
          "espn_id": 5149064,
          "player_name": "Bryce Eldridge",
          "team": "SF",
          "role": "batter",
          "espn_rank": 199,
          "espn_total_ranked": 645,
          "metrics": {
            "espn_rank": 199,
            "gp_value": 87.0,
            "gp_rank": 237,
            "ab_value": 310.0,
            "ab_rank": 195,
            "r_value": 41.0,
            "r_rank": 176,
            "h_value": 78.0,
            "h_rank": 181,
            "avg_value": 0.2516129,
            "avg_rank": null,
            "2b_value": 15.0,
            "2b_rank": 174,
            "3b_value": 0.0,
            "3b_rank": 283,
            "hr_value": 14.0,
            "hr_rank": 112,
            "rbi_value": 35.0,
            "rbi_rank": 210,
            "tb_value": 135.0,
            "tb_rank": 1257,
            "bb_value": 45.0,
            "bb_rank": 83,
            "so_value": 94.0,
            "so_rank": 108,
            "sb_value": 1.0,
            "sb_rank": 317,
            "obp_value": 0.3455056,
            "obp_rank": "-",
            "slg_value": 0.4354838,
            "slg_rank": "-",
            "ops_value": 0.7809894,
            "ops_rank": null,
            "war_value": 1.02,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 331.0,
          "k_percent": 26.4,
          "bb_percent": 12.6,
          "woba": 0.343,
          "xwoba": 0.352,
          "xba": 0.251,
          "xslg": 0.463,
          "sweet_spot_percent": 35.5,
          "barrel_batted_rate": 11.6,
          "hard_hit_percent": 52.1,
          "exit_velocity_avg": 92.5,
          "launch_angle_avg": 13.8,
          "whiff_percent": 26.7,
          "swing_percent": 43.0
        },
        "components": {
          "expected_quality": 1.2271,
          "regression_edge": 0.2571,
          "xwoba_edge": 1.4571,
          "xba_edge": 0.4,
          "xslg_edge": 1.3429,
          "barrel_edge": 1.0889,
          "hard_hit_edge": 2.0571,
          "exit_velocity_edge": 1.6,
          "sweet_spot_edge": 0.3667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "CF",
        "player_id": "813841",
        "player_name": "Jonah Cox",
        "offense_factor": 0.9994,
        "quality_score": -0.0086,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "813841",
          "espn_id": 5145886,
          "player_name": "Jonah Cox",
          "team": "SF",
          "role": "batter",
          "espn_rank": 297,
          "espn_total_ranked": 645,
          "metrics": {
            "espn_rank": 297,
            "gp_value": 33.0,
            "gp_rank": 439,
            "ab_value": 51.0,
            "ab_rank": 488,
            "r_value": 9.0,
            "r_rank": 439,
            "h_value": 13.0,
            "h_rank": 469,
            "avg_value": 0.2549019,
            "avg_rank": null,
            "2b_value": 1.0,
            "2b_rank": 500,
            "3b_value": 2.0,
            "3b_rank": 65,
            "hr_value": 3.0,
            "hr_rank": 354,
            "rbi_value": 6.0,
            "rbi_rank": 473,
            "tb_value": 27.0,
            "tb_rank": 2161,
            "bb_value": 1.0,
            "bb_rank": 545,
            "so_value": 28.0,
            "so_rank": 410,
            "sb_value": 4.0,
            "sb_rank": 192,
            "obp_value": 0.2692307,
            "obp_rank": "-",
            "slg_value": 0.5294117,
            "slg_rank": "-",
            "ops_value": 0.7986424,
            "ops_rank": null,
            "war_value": 0.4,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 39.0,
          "k_percent": 50.9,
          "bb_percent": 1.8,
          "woba": 0.337,
          "xwoba": 0.272,
          "xba": 0.208,
          "xslg": 0.418,
          "sweet_spot_percent": 50.0,
          "barrel_batted_rate": 15.4,
          "hard_hit_percent": 50.0,
          "exit_velocity_avg": 92.8,
          "launch_angle_avg": 18.2,
          "whiff_percent": 43.3,
          "swing_percent": 56.9
        },
        "components": {
          "expected_quality": 0.28,
          "regression_edge": -1.8571,
          "xwoba_edge": -0.8286,
          "xba_edge": -0.8286,
          "xslg_edge": 0.7,
          "barrel_edge": 1.9333,
          "hard_hit_edge": 1.7571,
          "exit_velocity_edge": 1.72,
          "sweet_spot_edge": 2.5,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "SS",
        "player_id": "683766",
        "player_name": "Christian Koss",
        "offense_factor": 0.9619,
        "quality_score": -0.5086,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "683766",
          "espn_id": 4109031,
          "player_name": "Christian Koss",
          "team": "SF",
          "role": "batter",
          "espn_rank": 532,
          "espn_total_ranked": 645,
          "metrics": {
            "espn_rank": 532,
            "gp_value": 41.0,
            "gp_rank": 403,
            "ab_value": 109.0,
            "ab_rank": 412,
            "r_value": 10.0,
            "r_rank": 428,
            "h_value": 23.0,
            "h_rank": 402,
            "avg_value": 0.2110091,
            "avg_rank": null,
            "2b_value": 5.0,
            "2b_rank": 366,
            "3b_value": 0.0,
            "3b_rank": 283,
            "hr_value": 0.0,
            "hr_rank": 521,
            "rbi_value": 2.0,
            "rbi_rank": 538,
            "tb_value": 28.0,
            "tb_rank": 2897,
            "bb_value": 5.0,
            "bb_rank": 455,
            "so_value": 29.0,
            "so_rank": 402,
            "sb_value": 2.0,
            "sb_rank": 263,
            "obp_value": 0.2521739,
            "obp_rank": "-",
            "slg_value": 0.2568807,
            "slg_rank": "-",
            "ops_value": 0.5090546,
            "ops_rank": null,
            "war_value": -0.27,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 87.0,
          "k_percent": 24.8,
          "bb_percent": 4.3,
          "woba": 0.231,
          "xwoba": 0.234,
          "xba": 0.205,
          "xslg": 0.275,
          "sweet_spot_percent": 23.2,
          "barrel_batted_rate": 5.0,
          "hard_hit_percent": 29.3,
          "exit_velocity_avg": 85.1,
          "launch_angle_avg": 8.9,
          "whiff_percent": 28.6,
          "swing_percent": 56.7
        },
        "components": {
          "expected_quality": -1.3281,
          "regression_edge": 0.0857,
          "xwoba_edge": -1.9143,
          "xba_edge": -0.9143,
          "xslg_edge": -1.3429,
          "barrel_edge": -0.3778,
          "hard_hit_edge": -1.2,
          "exit_velocity_edge": -1.36,
          "sweet_spot_edge": -1.6833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "646240",
        "player_name": "Rafael Devers",
        "offense_factor": 1.0482,
        "quality_score": 0.6429,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "646240",
          "espn_id": 33859,
          "player_name": "Rafael Devers",
          "team": "SF",
          "role": "batter",
          "espn_rank": 82,
          "espn_total_ranked": 645,
          "metrics": {
            "espn_rank": 82,
            "gp_value": 133.0,
            "gp_rank": 6,
            "ab_value": 500.0,
            "ab_rank": 21,
            "r_value": 74.0,
            "r_rank": 36,
            "h_value": 123.0,
            "h_rank": 47,
            "avg_value": 0.246,
            "avg_rank": 95.0,
            "2b_value": 31.0,
            "2b_rank": 5,
            "3b_value": 1.0,
            "3b_rank": 128,
            "hr_value": 29.0,
            "hr_rank": 11,
            "rbi_value": 76.0,
            "rbi_rank": 23,
            "tb_value": 243.0,
            "tb_rank": 341,
            "bb_value": 59.0,
            "bb_rank": 37,
            "so_value": 145.0,
            "so_rank": 14,
            "sb_value": 0.0,
            "sb_rank": 422,
            "obp_value": 0.324468,
            "obp_rank": "86",
            "slg_value": 0.486,
            "slg_rank": "23",
            "ops_value": 0.810468,
            "ops_rank": 63.0,
            "war_value": 2.31,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 522.0,
          "k_percent": 25.7,
          "bb_percent": 10.5,
          "woba": 0.347,
          "xwoba": 0.329,
          "xba": 0.231,
          "xslg": 0.45,
          "sweet_spot_percent": 30.9,
          "barrel_batted_rate": 11.2,
          "hard_hit_percent": 50.7,
          "exit_velocity_avg": 92.7,
          "launch_angle_avg": 15.1,
          "whiff_percent": 28.9,
          "swing_percent": 48.0
        },
        "components": {
          "expected_quality": 0.8312,
          "regression_edge": -0.5143,
          "xwoba_edge": 0.8,
          "xba_edge": -0.1714,
          "xslg_edge": 1.1571,
          "barrel_edge": 1.0,
          "hard_hit_edge": 1.8571,
          "exit_velocity_edge": 1.68,
          "sweet_spot_edge": -0.4,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "C",
        "player_id": "701852",
        "player_name": "Drew Cavanaugh",
        "offense_factor": 1.0001,
        "quality_score": 0.0018,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "701852",
          "espn_id": 5270445,
          "player_name": "Drew Cavanaugh",
          "team": "SF",
          "role": "batter",
          "espn_rank": 303,
          "espn_total_ranked": 645,
          "metrics": {
            "espn_rank": 303,
            "gp_value": 37.0,
            "gp_rank": 423,
            "ab_value": 92.0,
            "ab_rank": 427,
            "r_value": 5.0,
            "r_rank": 492,
            "h_value": 23.0,
            "h_rank": 402,
            "avg_value": 0.25,
            "avg_rank": null,
            "2b_value": 1.0,
            "2b_rank": 500,
            "3b_value": 0.0,
            "3b_rank": 283,
            "hr_value": 0.0,
            "hr_rank": 521,
            "rbi_value": 7.0,
            "rbi_rank": 457,
            "tb_value": 24.0,
            "tb_rank": 3031,
            "bb_value": 14.0,
            "bb_rank": 334,
            "so_value": 27.0,
            "so_rank": 416,
            "sb_value": 1.0,
            "sb_rank": 317,
            "obp_value": 0.3490566,
            "obp_rank": "-",
            "slg_value": 0.2608695,
            "slg_rank": "-",
            "ops_value": 0.6099261,
            "ops_rank": null,
            "war_value": 0.37,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 89.0,
          "k_percent": 25.0,
          "bb_percent": 13.0,
          "woba": 0.289,
          "xwoba": 0.312,
          "xba": 0.241,
          "xslg": 0.34,
          "sweet_spot_percent": 41.8,
          "barrel_batted_rate": 3.1,
          "hard_hit_percent": 29.9,
          "exit_velocity_avg": 86.0,
          "launch_angle_avg": 13.9,
          "whiff_percent": 25.9,
          "swing_percent": 46.6
        },
        "components": {
          "expected_quality": -0.1023,
          "regression_edge": 0.6571,
          "xwoba_edge": 0.3143,
          "xba_edge": 0.1143,
          "xslg_edge": -0.4143,
          "barrel_edge": -0.8,
          "hard_hit_edge": -1.1143,
          "exit_velocity_edge": -1.0,
          "sweet_spot_edge": 1.4167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "801501",
        "player_name": "Nate Furman",
        "offense_factor": 0.959,
        "quality_score": -0.5462,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "801501",
          "espn_id": 4752203,
          "player_name": "Nate Furman",
          "team": "SF",
          "role": "batter",
          "espn_rank": 485,
          "espn_total_ranked": 645,
          "metrics": {
            "espn_rank": 485,
            "gp_value": 8.0,
            "gp_rank": 588,
            "ab_value": 12.0,
            "ab_rank": 595,
            "r_value": 0.0,
            "r_rank": 611,
            "h_value": 1.0,
            "h_rank": 600,
            "avg_value": 0.0833333,
            "avg_rank": null,
            "2b_value": 0.0,
            "2b_rank": 564,
            "3b_value": 0.0,
            "3b_rank": 283,
            "hr_value": 0.0,
            "hr_rank": 521,
            "rbi_value": 0.0,
            "rbi_rank": 596,
            "tb_value": 1.0,
            "tb_rank": 3293,
            "bb_value": 2.0,
            "bb_rank": 515,
            "so_value": 5.0,
            "so_rank": 578,
            "sb_value": 0.0,
            "sb_rank": 422,
            "obp_value": 0.2142857,
            "obp_rank": "-",
            "slg_value": 0.0833333,
            "slg_rank": "-",
            "ops_value": 0.297619,
            "ops_rank": null,
            "war_value": -0.14,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 7.0,
          "k_percent": 35.7,
          "bb_percent": 14.3,
          "woba": 0.163,
          "xwoba": 0.237,
          "xba": 0.167,
          "xslg": 0.198,
          "sweet_spot_percent": 28.6,
          "barrel_batted_rate": 0.0,
          "hard_hit_percent": 28.6,
          "exit_velocity_avg": 82.3,
          "launch_angle_avg": 13.0,
          "whiff_percent": 29.2,
          "swing_percent": 42.1
        },
        "components": {
          "expected_quality": -1.737,
          "regression_edge": 2.0,
          "xwoba_edge": -1.8286,
          "xba_edge": -2.0,
          "xslg_edge": -2.4429,
          "barrel_edge": -1.4889,
          "hard_hit_edge": -1.3,
          "exit_velocity_edge": -2.48,
          "sweet_spot_edge": -0.7833,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0246,
    "raw_average_factor": 1.0246,
    "team_espn_average_rank": 221.78,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "DH",
        "player_id": "663457",
        "player_name": "Lars Nootbaar",
        "offense_factor": 1.0618,
        "quality_score": 0.8234,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "663457",
          "espn_id": 4448736,
          "player_name": "Lars Nootbaar",
          "team": "ARI",
          "role": "batter",
          "espn_rank": 384,
          "espn_total_ranked": 645,
          "metrics": {
            "espn_rank": 384,
            "gp_value": 64.0,
            "gp_rank": 330,
            "ab_value": 207.0,
            "ab_rank": 292,
            "r_value": 26.0,
            "r_rank": 282,
            "h_value": 45.0,
            "h_rank": 299,
            "avg_value": 0.2173913,
            "avg_rank": null,
            "2b_value": 10.0,
            "2b_rank": 256,
            "3b_value": 1.0,
            "3b_rank": 128,
            "hr_value": 4.0,
            "hr_rank": 316,
            "rbi_value": 21.0,
            "rbi_rank": 318,
            "tb_value": 69.0,
            "tb_rank": 1759,
            "bb_value": 33.0,
            "bb_rank": 166,
            "so_value": 47.0,
            "so_rank": 300,
            "sb_value": 2.0,
            "sb_rank": 263,
            "obp_value": 0.3236514,
            "obp_rank": "-",
            "slg_value": 0.3333333,
            "slg_rank": "-",
            "ops_value": 0.6569847,
            "ops_rank": null,
            "war_value": 0.05,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 225.0,
          "k_percent": 19.5,
          "bb_percent": 13.7,
          "woba": 0.296,
          "xwoba": 0.334,
          "xba": 0.241,
          "xslg": 0.419,
          "sweet_spot_percent": 32.9,
          "barrel_batted_rate": 9.3,
          "hard_hit_percent": 48.4,
          "exit_velocity_avg": 91.4,
          "launch_angle_avg": 7.0,
          "whiff_percent": 18.6,
          "swing_percent": 37.1
        },
        "components": {
          "expected_quality": 0.7807,
          "regression_edge": 1.0857,
          "xwoba_edge": 0.9429,
          "xba_edge": 0.1143,
          "xslg_edge": 0.7143,
          "barrel_edge": 0.5778,
          "hard_hit_edge": 1.5286,
          "exit_velocity_edge": 1.16,
          "sweet_spot_edge": -0.0667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "682998",
        "player_name": "Corbin Carroll",
        "offense_factor": 1.0672,
        "quality_score": 0.8961,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "682998",
          "espn_id": 42404,
          "player_name": "Corbin Carroll",
          "team": "ARI",
          "role": "batter",
          "espn_rank": 10,
          "espn_total_ranked": 645,
          "metrics": {
            "espn_rank": 10,
            "gp_value": 130.0,
            "gp_rank": 28,
            "ab_value": 485.0,
            "ab_rank": 39,
            "r_value": 81.0,
            "r_rank": 18,
            "h_value": 121.0,
            "h_rank": 54,
            "avg_value": 0.2494845,
            "avg_rank": 86.0,
            "2b_value": 28.0,
            "2b_rank": 13,
            "3b_value": 16.0,
            "3b_rank": 1,
            "hr_value": 18.0,
            "hr_rank": 66,
            "rbi_value": 58.0,
            "rbi_rank": 80,
            "tb_value": 235.0,
            "tb_rank": 263,
            "bb_value": 66.0,
            "bb_rank": 22,
            "so_value": 123.0,
            "so_rank": 47,
            "sb_value": 20.0,
            "sb_rank": 22,
            "obp_value": 0.3463587,
            "obp_rank": "50",
            "slg_value": 0.484536,
            "slg_rank": "25",
            "ops_value": 0.8308947,
            "ops_rank": 25.0,
            "war_value": 5.0,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 529.0,
          "k_percent": 21.8,
          "bb_percent": 11.7,
          "woba": 0.357,
          "xwoba": 0.348,
          "xba": 0.252,
          "xslg": 0.448,
          "sweet_spot_percent": 30.9,
          "barrel_batted_rate": 12.2,
          "hard_hit_percent": 48.9,
          "exit_velocity_avg": 91.7,
          "launch_angle_avg": 15.1,
          "whiff_percent": 27.2,
          "swing_percent": 45.0
        },
        "components": {
          "expected_quality": 1.0838,
          "regression_edge": -0.2571,
          "xwoba_edge": 1.3429,
          "xba_edge": 0.4286,
          "xslg_edge": 1.1286,
          "barrel_edge": 1.2222,
          "hard_hit_edge": 1.6,
          "exit_velocity_edge": 1.28,
          "sweet_spot_edge": -0.4,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "672695",
        "player_name": "Geraldo Perdomo",
        "offense_factor": 1.0072,
        "quality_score": 0.0955,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "672695",
          "espn_id": 41355,
          "player_name": "Geraldo Perdomo",
          "team": "ARI",
          "role": "batter",
          "espn_rank": 22,
          "espn_total_ranked": 645,
          "metrics": {
            "espn_rank": 22,
            "gp_value": 129.0,
            "gp_rank": 37,
            "ab_value": 465.0,
            "ab_rank": 70,
            "r_value": 61.0,
            "r_rank": 85,
            "h_value": 117.0,
            "h_rank": 72,
            "avg_value": 0.2516129,
            "avg_rank": 80.0,
            "2b_value": 18.0,
            "2b_rank": 128,
            "3b_value": 6.0,
            "3b_rank": 6,
            "hr_value": 9.0,
            "hr_rank": 188,
            "rbi_value": 46.0,
            "rbi_rank": 144,
            "tb_value": 174.0,
            "tb_rank": 776,
            "bb_value": 77.0,
            "bb_rank": 10,
            "so_value": 69.0,
            "so_rank": 203,
            "sb_value": 17.0,
            "sb_rank": 38,
            "obp_value": 0.3586956,
            "obp_rank": "33",
            "slg_value": 0.3741935,
            "slg_rank": "125",
            "ops_value": 0.7328891,
            "ops_rank": 92.0,
            "war_value": 4.19,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 520.0,
          "k_percent": 12.4,
          "bb_percent": 13.8,
          "woba": 0.33,
          "xwoba": 0.326,
          "xba": 0.255,
          "xslg": 0.346,
          "sweet_spot_percent": 34.8,
          "barrel_batted_rate": 3.0,
          "hard_hit_percent": 30.2,
          "exit_velocity_avg": 87.4,
          "launch_angle_avg": 14.2,
          "whiff_percent": 12.2,
          "swing_percent": 39.0
        },
        "components": {
          "expected_quality": 0.1297,
          "regression_edge": -0.1143,
          "xwoba_edge": 0.7143,
          "xba_edge": 0.5143,
          "xslg_edge": -0.3286,
          "barrel_edge": -0.8222,
          "hard_hit_edge": -1.0714,
          "exit_velocity_edge": -0.44,
          "sweet_spot_edge": 0.25,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "596146",
        "player_name": "Max Kepler",
        "offense_factor": 0.9884,
        "quality_score": -0.1546,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "596146",
          "espn_id": 31870,
          "player_name": "Max Kepler",
          "team": "ARI",
          "role": "batter",
          "espn_rank": 596,
          "espn_total_ranked": 645,
          "metrics": {
            "espn_rank": 596,
            "gp_value": 37.0,
            "gp_rank": 423,
            "ab_value": 118.0,
            "ab_rank": 397,
            "r_value": 10.0,
            "r_rank": 428,
            "h_value": 25.0,
            "h_rank": 394,
            "avg_value": 0.2118644,
            "avg_rank": null,
            "2b_value": 7.0,
            "2b_rank": 319,
            "3b_value": 0.0,
            "3b_rank": 283,
            "hr_value": 2.0,
            "hr_rank": 403,
            "rbi_value": 15.0,
            "rbi_rank": 358,
            "tb_value": 38.0,
            "tb_rank": 2488,
            "bb_value": 11.0,
            "bb_rank": 366,
            "so_value": 29.0,
            "so_rank": 402,
            "sb_value": 0.0,
            "sb_rank": 422,
            "obp_value": 0.2748091,
            "obp_rank": "-",
            "slg_value": 0.3220338,
            "slg_rank": "-",
            "ops_value": 0.5968429,
            "ops_rank": null,
            "war_value": -0.58,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 123.0,
          "k_percent": 22.1,
          "bb_percent": 8.4,
          "woba": 0.263,
          "xwoba": 0.273,
          "xba": 0.207,
          "xslg": 0.339,
          "sweet_spot_percent": 33.0,
          "barrel_batted_rate": 7.7,
          "hard_hit_percent": 40.7,
          "exit_velocity_avg": 88.7,
          "launch_angle_avg": 18.3,
          "whiff_percent": 25.4,
          "swing_percent": 52.5
        },
        "components": {
          "expected_quality": -0.3681,
          "regression_edge": 0.2857,
          "xwoba_edge": -0.8,
          "xba_edge": -0.8571,
          "xslg_edge": -0.4286,
          "barrel_edge": 0.2222,
          "hard_hit_edge": 0.4286,
          "exit_velocity_edge": 0.08,
          "sweet_spot_edge": -0.05,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "545121",
        "player_name": "Ildemaro Vargas",
        "offense_factor": 1.0028,
        "quality_score": 0.0371,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "545121",
          "espn_id": 32985,
          "player_name": "Ildemaro Vargas",
          "team": "ARI",
          "role": "batter",
          "espn_rank": 157,
          "espn_total_ranked": 645,
          "metrics": {
            "espn_rank": 157,
            "gp_value": 118.0,
            "gp_rank": 113,
            "ab_value": 386.0,
            "ab_rank": 125,
            "r_value": 52.0,
            "r_rank": 125,
            "h_value": 99.0,
            "h_rank": 118,
            "avg_value": 0.2564766,
            "avg_rank": 71.0,
            "2b_value": 18.0,
            "2b_rank": 128,
            "3b_value": 5.0,
            "3b_rank": 12,
            "hr_value": 9.0,
            "hr_rank": 188,
            "rbi_value": 63.0,
            "rbi_rank": 65,
            "tb_value": 154.0,
            "tb_rank": 834,
            "bb_value": 23.0,
            "bb_rank": 234,
            "so_value": 41.0,
            "so_rank": 335,
            "sb_value": 3.0,
            "sb_rank": 223,
            "obp_value": 0.3002421,
            "obp_rank": "128",
            "slg_value": 0.3989637,
            "slg_rank": "102",
            "ops_value": 0.6992058,
            "ops_rank": 26.0,
            "war_value": 1.35,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 380.0,
          "k_percent": 9.9,
          "bb_percent": 5.5,
          "woba": 0.304,
          "xwoba": 0.305,
          "xba": 0.276,
          "xslg": 0.375,
          "sweet_spot_percent": 30.2,
          "barrel_batted_rate": 3.4,
          "hard_hit_percent": 35.4,
          "exit_velocity_avg": 87.5,
          "launch_angle_avg": 10.1,
          "whiff_percent": 14.7,
          "swing_percent": 50.3
        },
        "components": {
          "expected_quality": 0.0385,
          "regression_edge": 0.0286,
          "xwoba_edge": 0.1143,
          "xba_edge": 1.1143,
          "xslg_edge": 0.0857,
          "barrel_edge": -0.7333,
          "hard_hit_edge": -0.3286,
          "exit_velocity_edge": -0.4,
          "sweet_spot_edge": -0.5167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "672515",
        "player_name": "Gabriel Moreno",
        "offense_factor": 1.0798,
        "quality_score": 1.0636,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "672515",
          "espn_id": 42464,
          "player_name": "Gabriel Moreno",
          "team": "ARI",
          "role": "batter",
          "espn_rank": 16,
          "espn_total_ranked": 645,
          "metrics": {
            "espn_rank": 16,
            "gp_value": 104.0,
            "gp_rank": 165,
            "ab_value": 373.0,
            "ab_rank": 133,
            "r_value": 56.0,
            "r_rank": 106,
            "h_value": 113.0,
            "h_rank": 84,
            "avg_value": 0.302949,
            "avg_rank": 6.0,
            "2b_value": 28.0,
            "2b_rank": 13,
            "3b_value": 1.0,
            "3b_rank": 128,
            "hr_value": 10.0,
            "hr_rank": 164,
            "rbi_value": 65.0,
            "rbi_rank": 59,
            "tb_value": 173.0,
            "tb_rank": 677,
            "bb_value": 49.0,
            "bb_rank": 68,
            "so_value": 65.0,
            "so_rank": 220,
            "sb_value": 5.0,
            "sb_rank": 168,
            "obp_value": 0.3816091,
            "obp_rank": "7",
            "slg_value": 0.4638069,
            "slg_rank": "38",
            "ops_value": 0.845416,
            "ops_rank": 31.0,
            "war_value": 4.47,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 410.0,
          "k_percent": 14.9,
          "bb_percent": 11.3,
          "woba": 0.369,
          "xwoba": 0.367,
          "xba": 0.291,
          "xslg": 0.455,
          "sweet_spot_percent": 37.9,
          "barrel_batted_rate": 7.9,
          "hard_hit_percent": 42.6,
          "exit_velocity_avg": 89.3,
          "launch_angle_avg": 11.8,
          "whiff_percent": 15.4,
          "swing_percent": 41.5
        },
        "components": {
          "expected_quality": 1.2461,
          "regression_edge": -0.0571,
          "xwoba_edge": 1.8857,
          "xba_edge": 1.5429,
          "xslg_edge": 1.2286,
          "barrel_edge": 0.2667,
          "hard_hit_edge": 0.7,
          "exit_velocity_edge": 0.32,
          "sweet_spot_edge": 0.7667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "3B",
        "player_id": "571448",
        "player_name": "Nolan Arenado",
        "offense_factor": 0.9702,
        "quality_score": -0.3977,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "571448",
          "espn_id": 31261,
          "player_name": "Nolan Arenado",
          "team": "ARI",
          "role": "batter",
          "espn_rank": 95,
          "espn_total_ranked": 645,
          "metrics": {
            "espn_rank": 95,
            "gp_value": 125.0,
            "gp_rank": 73,
            "ab_value": 433.0,
            "ab_rank": 90,
            "r_value": 63.0,
            "r_rank": 74,
            "h_value": 103.0,
            "h_rank": 104,
            "avg_value": 0.2378752,
            "avg_rank": 110.0,
            "2b_value": 20.0,
            "2b_rank": 95,
            "3b_value": 1.0,
            "3b_rank": 128,
            "hr_value": 21.0,
            "hr_rank": 37,
            "rbi_value": 65.0,
            "rbi_rank": 59,
            "tb_value": 188.0,
            "tb_rank": 566,
            "bb_value": 43.0,
            "bb_rank": 91,
            "so_value": 101.0,
            "so_rank": 91,
            "sb_value": 4.0,
            "sb_rank": 192,
            "obp_value": 0.3148148,
            "obp_rank": "102",
            "slg_value": 0.4341801,
            "slg_rank": "62",
            "ops_value": 0.7489949,
            "ops_rank": 164.0,
            "war_value": 2.04,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 460.0,
          "k_percent": 20.7,
          "bb_percent": 8.8,
          "woba": 0.326,
          "xwoba": 0.292,
          "xba": 0.226,
          "xslg": 0.351,
          "sweet_spot_percent": 32.8,
          "barrel_batted_rate": 6.6,
          "hard_hit_percent": 32.0,
          "exit_velocity_avg": 85.1,
          "launch_angle_avg": 19.2,
          "whiff_percent": 23.5,
          "swing_percent": 45.4
        },
        "components": {
          "expected_quality": -0.3043,
          "regression_edge": -0.9714,
          "xwoba_edge": -0.2571,
          "xba_edge": -0.3143,
          "xslg_edge": -0.2571,
          "barrel_edge": -0.0222,
          "hard_hit_edge": -0.8143,
          "exit_velocity_edge": -1.36,
          "sweet_spot_edge": -0.0833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "694374",
        "player_name": "Tim Tawa",
        "offense_factor": 1.0376,
        "quality_score": 0.5019,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "694374",
          "espn_id": 4345192,
          "player_name": "Tim Tawa",
          "team": "ARI",
          "role": "batter",
          "espn_rank": 535,
          "espn_total_ranked": 645,
          "metrics": {
            "espn_rank": 535,
            "gp_value": 77.0,
            "gp_rank": 280,
            "ab_value": 220.0,
            "ab_rank": 278,
            "r_value": 26.0,
            "r_rank": 282,
            "h_value": 54.0,
            "h_rank": 263,
            "avg_value": 0.2454545,
            "avg_rank": null,
            "2b_value": 10.0,
            "2b_rank": 256,
            "3b_value": 0.0,
            "3b_rank": 283,
            "hr_value": 8.0,
            "hr_rank": 209,
            "rbi_value": 32.0,
            "rbi_rank": 233,
            "tb_value": 88.0,
            "tb_rank": 1712,
            "bb_value": 19.0,
            "bb_rank": 276,
            "so_value": 55.0,
            "so_rank": 265,
            "sb_value": 7.0,
            "sb_rank": 123,
            "obp_value": 0.3016528,
            "obp_rank": "-",
            "slg_value": 0.4,
            "slg_rank": "-",
            "ops_value": 0.7016528,
            "ops_rank": null,
            "war_value": -0.28,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 214.0,
          "k_percent": 22.2,
          "bb_percent": 7.7,
          "woba": 0.307,
          "xwoba": 0.317,
          "xba": 0.252,
          "xslg": 0.416,
          "sweet_spot_percent": 33.9,
          "barrel_batted_rate": 9.3,
          "hard_hit_percent": 45.4,
          "exit_velocity_avg": 90.8,
          "launch_angle_avg": 11.2,
          "whiff_percent": 27.2,
          "swing_percent": 49.2
        },
        "components": {
          "expected_quality": 0.5535,
          "regression_edge": 0.2857,
          "xwoba_edge": 0.4571,
          "xba_edge": 0.4286,
          "xslg_edge": 0.6714,
          "barrel_edge": 0.5778,
          "hard_hit_edge": 1.1,
          "exit_velocity_edge": 0.92,
          "sweet_spot_edge": 0.1,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "CF",
        "player_id": "814439",
        "player_name": "Ryan Waldschmidt",
        "offense_factor": 1.0064,
        "quality_score": 0.085,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "814439",
          "espn_id": 5129344,
          "player_name": "Ryan Waldschmidt",
          "team": "ARI",
          "role": "batter",
          "espn_rank": 181,
          "espn_total_ranked": 645,
          "metrics": {
            "espn_rank": 181,
            "gp_value": 67.0,
            "gp_rank": 318,
            "ab_value": 211.0,
            "ab_rank": 285,
            "r_value": 27.0,
            "r_rank": 275,
            "h_value": 58.0,
            "h_rank": 253,
            "avg_value": 0.2748815,
            "avg_rank": null,
            "2b_value": 15.0,
            "2b_rank": 174,
            "3b_value": 1.0,
            "3b_rank": 128,
            "hr_value": 3.0,
            "hr_rank": 354,
            "rbi_value": 22.0,
            "rbi_rank": 308,
            "tb_value": 84.0,
            "tb_rank": 1239,
            "bb_value": 18.0,
            "bb_rank": 289,
            "so_value": 69.0,
            "so_rank": 203,
            "sb_value": 7.0,
            "sb_rank": 123,
            "obp_value": 0.338983,
            "obp_rank": "-",
            "slg_value": 0.3981042,
            "slg_rank": "-",
            "ops_value": 0.7370872,
            "ops_rank": null,
            "war_value": 1.16,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 215.0,
          "k_percent": 28.9,
          "bb_percent": 7.5,
          "woba": 0.326,
          "xwoba": 0.31,
          "xba": 0.252,
          "xslg": 0.381,
          "sweet_spot_percent": 49.0,
          "barrel_batted_rate": 6.8,
          "hard_hit_percent": 32.0,
          "exit_velocity_avg": 87.6,
          "launch_angle_avg": 16.7,
          "whiff_percent": 31.5,
          "swing_percent": 43.5
        },
        "components": {
          "expected_quality": 0.1755,
          "regression_edge": -0.4571,
          "xwoba_edge": 0.2571,
          "xba_edge": 0.4286,
          "xslg_edge": 0.1714,
          "barrel_edge": 0.0222,
          "hard_hit_edge": -0.8143,
          "exit_velocity_edge": -0.36,
          "sweet_spot_edge": 2.5,
          "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 ARITrue555-0.19030.45001.01620.96860.99461.0058neutral0.35300.355014.808.6020.206.7035
Home SFTrue2260.218110.98151.00341.03800.9011neutral0.30000.300022.6011.1025.204.8029.30

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away ARITrueNone6889.15234000000000-0.0389
Home SFTrueNone9087.00232600000000-0.1593
Run FactorValue
away_runs_vs_home_pitcher0.9898
home_runs_vs_away_pitcher1.0018
home_pitcher_starter_only_factor0.9815
away_pitcher_starter_only_factor1.0073
home_pitcher_workload_share0.5556
away_pitcher_workload_share0.5185
home_pitcher_quality_edge0.2198
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "694738",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 545.0,
      "k_percent": 22.6,
      "bb_percent": 11.1,
      "woba": 0.3,
      "xwoba": 0.3,
      "sweet_spot_percent": 32.8,
      "barrel_batted_rate": 4.8,
      "hard_hit_percent": 29.3,
      "avg_best_speed": 75.1243,
      "avg_hyper_speed": 92.5778,
      "whiff_percent": 25.2,
      "swing_percent": 43.4
    },
    "league_medians": {
      "pa": 122.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.315,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.8,
      "avg_best_speed": 77.6441,
      "avg_hyper_speed": 93.9187,
      "whiff_percent": 25.2,
      "swing_percent": 47.3
    },
    "components": {
      "contact_quality": 0.4384,
      "command_and_miss": -0.0564,
      "regression_edge": 0.0,
      "xwoba_edge": 0.3143,
      "barrel_edge": 0.5111,
      "hard_hit_edge": 1.2143,
      "whiff_edge": 0.0,
      "bb_edge": -0.475,
      "pitch_design_score": -0.1593
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "694738",
      "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": 87.00224317148336,
        "release_spin_rate": 2326.4570396123822,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_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": 87.00224317148336,
          "release_spin_rate": 2326.4570396123822,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.0022,
        "release_spin_rate": 2326.457,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.1593,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -1.138,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -0.0
      },
      "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
    },
    "quality_score": 0.2181,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9815,
    "strikeout_factor": 1.0034,
    "walk_factor": 1.038,
    "homer_factor": 0.9011,
    "woba_minus_xwoba": 0.0,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "694738",
      "espn_id": 4345404,
      "player_name": "Landen Roupp",
      "team": "SF",
      "role": "pitcher",
      "espn_rank": 226,
      "espn_total_ranked": 832,
      "metrics": {
        "espn_rank": 226,
        "gp_value": 25.0,
        "gp_rank": 279,
        "gs_value": 25.0,
        "gs_rank": 35,
        "qs_value": 10.0,
        "qs_rank": 50,
        "era_value": 4.344,
        "era_rank": 44.0,
        "w_value": 7.0,
        "w_rank": 73,
        "l_value": 13.0,
        "l_rank": 2,
        "sv_value": 0.0,
        "sv_rank": 243,
        "hld_value": 0.0,
        "hld_rank": 336,
        "ip_value": 134.2,
        "ip_rank": 51,
        "h_value": 113.0,
        "h_rank": 78,
        "er_value": 65.0,
        "er_rank": 29,
        "hr_value": 10.0,
        "hr_rank": 144,
        "bb_value": 64.0,
        "bb_rank": 6,
        "k_value": 130.0,
        "k_rank": 42,
        "k_per_9_value": 8.688119,
        "k_per_9_rank": 22.0,
        "whip_value": 1.3143,
        "whip_rank": 41.0,
        "war_value": 0.61,
        "war_rank": 1.0
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "703615",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 60.0,
      "k_percent": 14.8,
      "bb_percent": 8.6,
      "woba": 0.355,
      "xwoba": 0.353,
      "sweet_spot_percent": 23.3,
      "barrel_batted_rate": 6.7,
      "hard_hit_percent": 35.0,
      "avg_best_speed": 76.0794,
      "avg_hyper_speed": 94.2725,
      "whiff_percent": 20.2,
      "swing_percent": 44.4
    },
    "league_medians": {
      "pa": 122.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.315,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.8,
      "avg_best_speed": 77.6441,
      "avg_hyper_speed": 93.9187,
      "whiff_percent": 25.2,
      "swing_percent": 47.3
    },
    "components": {
      "contact_quality": -0.4429,
      "command_and_miss": -0.6829,
      "regression_edge": 0.0571,
      "xwoba_edge": -1.2,
      "barrel_edge": 0.0889,
      "hard_hit_edge": 0.4,
      "whiff_edge": -0.7143,
      "bb_edge": 0.15,
      "pitch_design_score": -0.0389
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "703615",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 68,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 68,
        "pitch_usage": 0.0,
        "release_speed": 89.15315412186379,
        "release_spin_rate": 2339.8362135176653,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 68,
          "pitch_usage": 0.0,
          "release_speed": 89.15315412186379,
          "release_spin_rate": 2339.8362135176653,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.1532,
        "release_spin_rate": 2339.8362,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.0389,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.2777,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -0.0
      },
      "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
    },
    "quality_score": -0.1903,
    "sample_weight": 0.45,
    "run_prevention_factor": 1.0162,
    "strikeout_factor": 0.9686,
    "walk_factor": 0.9946,
    "homer_factor": 1.0058,
    "woba_minus_xwoba": 0.002,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "703615",
      "espn_id": 5270084,
      "player_name": "Jose Cabrera",
      "team": "ARI",
      "role": "pitcher",
      "espn_rank": 555,
      "espn_total_ranked": 832,
      "metrics": {
        "espn_rank": 555,
        "gp_value": 4.0,
        "gp_rank": 634,
        "gs_value": 4.0,
        "gs_rank": 221,
        "qs_value": 0.0,
        "qs_rank": 205,
        "era_value": 5.6037,
        "era_rank": null,
        "w_value": 0.0,
        "w_rank": 509,
        "l_value": 2.0,
        "l_rank": 305,
        "sv_value": 0.0,
        "sv_rank": 243,
        "hld_value": 0.0,
        "hld_rank": 336,
        "ip_value": 17.2,
        "ip_rank": 512,
        "h_value": 20.0,
        "h_rank": 489,
        "er_value": 11.0,
        "er_rank": 471,
        "hr_value": 3.0,
        "hr_rank": 413,
        "bb_value": 7.0,
        "bb_rank": 531,
        "k_value": 12.0,
        "k_rank": 544,
        "k_per_9_value": 6.1132073,
        "k_per_9_rank": 28.0,
        "whip_value": 1.5283,
        "whip_rank": null,
        "war_value": -0.07,
        "war_rank": null
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.9898,
    "home_runs_vs_away_pitcher": 1.0018,
    "home_pitcher_starter_only_factor": 0.9815,
    "away_pitcher_starter_only_factor": 1.0073,
    "home_pitcher_workload_share": 0.5556,
    "away_pitcher_workload_share": 0.5185,
    "home_pitcher_quality_edge": 0.2198
  },
  "score_before": {
    "away_runs": 4.3896,
    "home_runs": 4.8531
  },
  "score_after": {
    "away_runs": 4.345,
    "home_runs": 4.8621,
    "home_win_probability": 0.5479
  },
  "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 ARI5-50.5004.105.60-152Waverageweak
Home SF3-70.3003.805.10-131Laverageweak

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away ARI71-630.53050.037True
Home SF54-790.406-74-0.556True
Signal---0.594-0.572applied=True

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-07-01SF @ ARI6 - 4SF2close
2026-06-30SF @ ARI2 - 8ARI6blowout
2026-06-29SF @ ARI4 - 5ARI1close
2026-05-27ARI @ SF3 - 2ARI1close
2026-05-26ARI @ SF7 - 5ARI2close

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target ARI--3----
Game target SF--4----
Player finalized ARI32841447
Player finalized SF387314311
Player model fractional ARI31.637.784.040.914.203.406.53
Player model fractional SF27.285.892.881.033.142.388.51
Simulation box ARI35831326
Simulation box SF34741446

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 ARIStarterJose Cabrera4.1034525.001.43True
Away ARISetup ManBrandyn Garcia111123.681.11True
Away ARIMiddle Reliever (High Leverage)Jonathan Loáisiga1.1000005.631.53True
Away ARICloserJuan Morillo100002.110.86True
Away ARIMiddle Reliever (High Leverage)Kevin Ginkel0.1001103.281.14True
Home SFStarterLanden Roupp514515.161.46True
Home SFCloserDylan Smith100004.531.48True
Home SFMiddle Reliever (High Leverage)Jason Foley111213.921.34True
Home SFSetup ManSam Hentges110105.131.49True
Home SFMiddle Reliever (High Leverage)Trent Harris101004.011.32True
Market-line comparison is not rendered because no local odds or sportsbook line CSV was found in data/. Add a real odds source before using market deltas as a model feature.

Player Boost/Deboost Impact Summary

SideTeamRolePosPlayerDominantChangedBoostedDeboostedBetterWorseLargest MetricLargest DeltaDirectionEffect
homeSFbatter1BRafael Deversworse1129110predicted_SO1.9170boostworse
awayARIbatterDHLars Nootbaarworse94536predicted_AB1.7660boostbetter
homeSFbatterRFDrew Gilbertbetter106473predicted_RBI1.6600boostbetter
awayARIbatterSSGeraldo Perdomobetter118392predicted_RBI1.6200boostbetter
awayARIbatter2BIldemaro Vargasbetter115665predicted_AB-1.5090deboostworse
homeSFbatterLFTurner Hilldeboosted104655predicted_2B1.5000boostbetter
homeSFbatter3BShay Whitcombworse102837predicted_AB1.5000boostbetter
homeSFbatterCFJonah Coxworse102837predicted_AB1.5000boostbetter
homeSFbatter2BNate Furmanbetter95454predicted_AB1.5000boostbetter
homeSFbatterDHBryce Eldridgeworse1001019predicted_H-1.2100deboostworse
awayARIbatterRFCorbin Carrollworse126657predicted_H1.0900boostbetter
awayARIbatterCGabriel Morenoworse102837predicted_H-1.0800deboostworse
homeSFbatterSSChristian Kossworse93645predicted_AB1.0540boostbetter
awayARIpitcherStarterJose Cabreraworse43113predicted_ER1.0000boostworse
awayARIpitcherMiddle Reliever (High Leverage)Jonathan Loáisigabetter21120predicted_H-1.0000deboostbetter
awayARIpitcherMiddle Reliever (High Leverage)Kevin Ginkeldeboosted20211predicted_ER-1.0000deboostbetter
awayARIbatterCFRyan Waldschmidtworse102819predicted_SO0.9550boostworse
homeSFbatterCDrew Cavanaughbetter96354predicted_RBI0.9100boostbetter
awayARIbatter1BTim Tawaworse114738predicted_AB0.8570boostbetter
awayARIbatterLFMax Keplerworse103746predicted_SO-0.8060deboostbetter
awayARIbatter3BNolan Arenadoworse115647predicted_R-0.5040deboostworse

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

Away Team: ARI

Away Pitcher Deep Analysis

FieldValue
PitcherJose Cabrera
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.1903
ESPN Rank555
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0389
Avg Velo89.1532
Avg Spin2339.8362
HB Inches0
IVB Inches0
Release Extension0
Pre IP4.1000
Pre ER3
Pre H5
Pre BB2
Pre SO4
Season ERA5.6038
Season WHIP1.5283
Role Avg IP4.4170
Recent Avg IP4.4170
Last Start IP4.1000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ARI",
    "games": 134,
    "wins": 71,
    "losses": 63,
    "win_pct": 0.5299,
    "runs_scored": 605.0,
    "runs_allowed": 600.0,
    "run_differential": 5.0,
    "run_differential_per_game": 0.0373,
    "avg_runs_scored": 4.5149,
    "avg_runs_allowed": 4.4776,
    "offense_index": 1.0064,
    "defense_index": 1.0019,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 5.6,
      "run_differential": -15.0
    },
    "available": true,
    "quality_score": 0.03
  },
  "opponent": {
    "team": "SF",
    "games": 133,
    "wins": 54,
    "losses": 79,
    "win_pct": 0.406,
    "runs_scored": 540.0,
    "runs_allowed": 614.0,
    "run_differential": -74.0,
    "run_differential_per_game": -0.5564,
    "avg_runs_scored": 4.0602,
    "avg_runs_allowed": 4.6165,
    "offense_index": 0.9051,
    "defense_index": 0.9717,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 5.1,
      "run_differential": -13.0
    },
    "available": true,
    "quality_score": -0.2181
  },
  "edges": {
    "quality_edge": 0.2481,
    "offense_edge": 0.0064,
    "opponent_offense_edge": -0.0949,
    "defense_strength": 0.0019,
    "opponent_defense_weakness": 0.0283,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0138,
    "run_prevention": 0.9722,
    "strikeout": 1.015
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "703615",
    "profile": {
      "available": true,
      "pitcher_id": "703615",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 60.0,
        "k_percent": 14.8,
        "bb_percent": 8.6,
        "woba": 0.355,
        "xwoba": 0.353,
        "sweet_spot_percent": 23.3,
        "barrel_batted_rate": 6.7,
        "hard_hit_percent": 35.0,
        "avg_best_speed": 76.0794,
        "avg_hyper_speed": 94.2725,
        "whiff_percent": 20.2,
        "swing_percent": 44.4
      },
      "league_medians": {
        "pa": 122.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.6441,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.3
      },
      "components": {
        "contact_quality": -0.4429,
        "command_and_miss": -0.6829,
        "regression_edge": 0.0571,
        "xwoba_edge": -1.2,
        "barrel_edge": 0.0889,
        "hard_hit_edge": 0.4,
        "whiff_edge": -0.7143,
        "bb_edge": 0.15,
        "pitch_design_score": -0.0389
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "703615",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 68,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 68,
          "pitch_usage": 0.0,
          "release_speed": 89.15315412186379,
          "release_spin_rate": 2339.8362135176653,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 68,
            "pitch_usage": 0.0,
            "release_speed": 89.15315412186379,
            "release_spin_rate": 2339.8362135176653,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.1532,
          "release_spin_rate": 2339.8362,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0389,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.2777,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": -0.1903,
      "sample_weight": 0.45,
      "run_prevention_factor": 1.0162,
      "strikeout_factor": 0.9686,
      "walk_factor": 0.9946,
      "homer_factor": 1.0058,
      "woba_minus_xwoba": 0.002,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "703615",
        "espn_id": 5270084,
        "player_name": "Jose Cabrera",
        "team": "ARI",
        "role": "pitcher",
        "espn_rank": 555,
        "espn_total_ranked": 832,
        "metrics": {
          "espn_rank": 555,
          "gp_value": 4.0,
          "gp_rank": 634,
          "gs_value": 4.0,
          "gs_rank": 221,
          "qs_value": 0.0,
          "qs_rank": 205,
          "era_value": 5.6037,
          "era_rank": null,
          "w_value": 0.0,
          "w_rank": 509,
          "l_value": 2.0,
          "l_rank": 305,
          "sv_value": 0.0,
          "sv_rank": 243,
          "hld_value": 0.0,
          "hld_rank": 336,
          "ip_value": 17.2,
          "ip_rank": 512,
          "h_value": 20.0,
          "h_rank": 489,
          "er_value": 11.0,
          "er_rank": 471,
          "hr_value": 3.0,
          "hr_rank": 413,
          "bb_value": 7.0,
          "bb_rank": 531,
          "k_value": 12.0,
          "k_rank": 544,
          "k_per_9_value": 6.1132073,
          "k_per_9_rank": 28.0,
          "whip_value": 1.5283,
          "whip_rank": null,
          "war_value": -0.07,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 3.0,
        "factor": 1.0073,
        "adjusted": 3
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 1.0073,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.9976,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 1.0026,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 0.9859,
        "adjusted": 3
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "insufficient_data"
  },
  "pitching": {
    "IP": 17.2,
    "ER": 11,
    "H": 20,
    "BB": 7,
    "SO": 12,
    "HR": 3,
    "ERA": 5.603773584905661,
    "WHIP": 1.528301886792453,
    "K9": 6.113207547169812,
    "HR9": 1.528301886792453,
    "games_pitched": 4,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 4,
    "error_prone": false
  },
  "games_count": 4,
  "latest_game_date": "2026-07-08T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "703615",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 68,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 68,
    "pitch_usage": 0.0,
    "release_speed": 89.15315412186379,
    "release_spin_rate": 2339.8362135176653,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 68,
      "pitch_usage": 0.0,
      "release_speed": 89.15315412186379,
      "release_spin_rate": 2339.8362135176653,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.1532,
    "release_spin_rate": 2339.8362,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0389,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.2777,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 1.0
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4444,
    "prior_weight": 0.5556
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "703615",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 4,
  "reference_playing_time": 4.667,
  "windows": {
    "last_5": {
      "games": 4,
      "totals": {
        "IP": 17.2,
        "ER": 11.0,
        "R": 11.0,
        "H": 20.0,
        "BB": 7.0,
        "SO": 12.0,
        "HR": 3.0,
        "BF": 81.0,
        "Pitches": 279.0
      },
      "per_game": {
        "IP": 4.1,
        "ER": 2.75,
        "R": 2.75,
        "H": 5.0,
        "BB": 1.75,
        "SO": 3.0,
        "HR": 0.75,
        "BF": 20.25,
        "Pitches": 69.75
      },
      "rates": {
        "ERA": 5.6038,
        "WHIP": 1.5283,
        "ER_per_IP": 0.62264,
        "H_per_IP": 1.13208,
        "BB_per_IP": 0.39623,
        "SO_per_IP": 0.67925,
        "HR_per_IP": 0.16981
      }
    },
    "last_10": {
      "games": 4,
      "totals": {
        "IP": 17.2,
        "ER": 11.0,
        "R": 11.0,
        "H": 20.0,
        "BB": 7.0,
        "SO": 12.0,
        "HR": 3.0,
        "BF": 81.0,
        "Pitches": 279.0
      },
      "per_game": {
        "IP": 4.1,
        "ER": 2.75,
        "R": 2.75,
        "H": 5.0,
        "BB": 1.75,
        "SO": 3.0,
        "HR": 0.75,
        "BF": 20.25,
        "Pitches": 69.75
      },
      "rates": {
        "ERA": 5.6038,
        "WHIP": 1.5283,
        "ER_per_IP": 0.62264,
        "H_per_IP": 1.13208,
        "BB_per_IP": 0.39623,
        "SO_per_IP": 0.67925,
        "HR_per_IP": 0.16981
      }
    },
    "season": {
      "games": 4,
      "totals": {
        "IP": 17.2,
        "ER": 11.0,
        "R": 11.0,
        "H": 20.0,
        "BB": 7.0,
        "SO": 12.0,
        "HR": 3.0,
        "BF": 81.0,
        "Pitches": 279.0
      },
      "per_game": {
        "IP": 4.1,
        "ER": 2.75,
        "R": 2.75,
        "H": 5.0,
        "BB": 1.75,
        "SO": 3.0,
        "HR": 0.75,
        "BF": 20.25,
        "Pitches": 69.75
      },
      "rates": {
        "ERA": 5.6038,
        "WHIP": 1.5283,
        "ER_per_IP": 0.62264,
        "H_per_IP": 1.13208,
        "BB_per_IP": 0.39623,
        "SO_per_IP": 0.67925,
        "HR_per_IP": 0.16981
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 4.2,
    "predicted_ER": 2.512,
    "predicted_H": 4.726,
    "predicted_BB": 1.722,
    "predicted_SO": 3.73,
    "predicted_HR": 0.71,
    "predicted_ERA": 5.003,
    "predicted_WHIP": 1.427
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5847,
  "form_weight": 0.4153,
  "form_reliability": 0.4444,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4444,
    "prior_weight": 0.5556
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 4.2,
      "form": 4.2,
      "final": 4.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 2.512,
      "final": 2.2126,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 4.0,
      "form": 4.726,
      "final": 4.3015,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 1.722,
      "final": 1.8846,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 3.0,
      "form": 3.73,
      "final": 3.3031,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.71,
      "final": 0.2948,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.003,
      "final": 5.003,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.427,
      "final": 1.427,
      "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
PitcherBrandyn Garcia
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.4806
ESPN Rank147
Movement AvailableTrue
Primary Pitch-
Movement Score0.2112
Avg Velo93.6185
Avg Spin2388.7163
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H1
Pre BB2
Pre SO1
Season ERA1.7419
Season WHIP0.6774
Role Avg IP0.8610
Recent Avg IP0.8670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ARI",
    "games": 134,
    "wins": 71,
    "losses": 63,
    "win_pct": 0.5299,
    "runs_scored": 605.0,
    "runs_allowed": 600.0,
    "run_differential": 5.0,
    "run_differential_per_game": 0.0373,
    "avg_runs_scored": 4.5149,
    "avg_runs_allowed": 4.4776,
    "offense_index": 1.0064,
    "defense_index": 1.0019,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 5.6,
      "run_differential": -15.0
    },
    "available": true,
    "quality_score": 0.03
  },
  "opponent": {
    "team": "SF",
    "games": 133,
    "wins": 54,
    "losses": 79,
    "win_pct": 0.406,
    "runs_scored": 540.0,
    "runs_allowed": 614.0,
    "run_differential": -74.0,
    "run_differential_per_game": -0.5564,
    "avg_runs_scored": 4.0602,
    "avg_runs_allowed": 4.6165,
    "offense_index": 0.9051,
    "defense_index": 0.9717,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 5.1,
      "run_differential": -13.0
    },
    "available": true,
    "quality_score": -0.2181
  },
  "edges": {
    "quality_edge": 0.2481,
    "offense_edge": 0.0064,
    "opponent_offense_edge": -0.0949,
    "defense_strength": 0.0019,
    "opponent_defense_weakness": 0.0283,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0138,
    "run_prevention": 0.9722,
    "strikeout": 1.015
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "805299",
    "profile": {
      "available": true,
      "pitcher_id": "805299",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 107.0,
        "k_percent": 30.3,
        "bb_percent": 6.9,
        "woba": 0.225,
        "xwoba": 0.234,
        "sweet_spot_percent": 18.4,
        "barrel_batted_rate": 4.6,
        "hard_hit_percent": 33.3,
        "avg_best_speed": 78.2747,
        "avg_hyper_speed": 93.8056,
        "whiff_percent": 26.4,
        "swing_percent": 44.3
      },
      "league_medians": {
        "pa": 122.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.6441,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.3
      },
      "components": {
        "contact_quality": 1.594,
        "command_and_miss": 0.7086,
        "regression_edge": -0.2571,
        "xwoba_edge": 2.2,
        "barrel_edge": 0.5556,
        "hard_hit_edge": 0.6429,
        "whiff_edge": 0.1714,
        "bb_edge": 0.575,
        "pitch_design_score": 0.2112
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "805299",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 13,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 13,
          "pitch_usage": 0.0,
          "release_speed": 93.61852378705493,
          "release_spin_rate": 2388.716302302561,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 13,
            "pitch_usage": 0.0,
            "release_speed": 93.61852378705493,
            "release_spin_rate": 2388.716302302561,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.6185,
          "release_spin_rate": 2388.7163,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.2112,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.5085,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.4806,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9591,
      "strikeout_factor": 1.0244,
      "walk_factor": 0.9793,
      "homer_factor": 0.9387,
      "woba_minus_xwoba": -0.009,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "805299",
        "espn_id": 5202600,
        "player_name": "Brandyn Garcia",
        "team": "ARI",
        "role": "pitcher",
        "espn_rank": 147,
        "espn_total_ranked": 832,
        "metrics": {
          "espn_rank": 147,
          "gp_value": 45.0,
          "gp_rank": 113,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 205,
          "era_value": 2.3684,
          "era_rank": null,
          "w_value": 0.0,
          "w_rank": 509,
          "l_value": 1.0,
          "l_rank": 404,
          "sv_value": 4.0,
          "sv_rank": 51,
          "hld_value": 15.0,
          "hld_rank": 29,
          "ip_value": 38.0,
          "ip_rank": 365,
          "h_value": 22.0,
          "h_rank": 463,
          "er_value": 10.0,
          "er_rank": 503,
          "hr_value": 2.0,
          "hr_rank": 489,
          "bb_value": 10.0,
          "bb_rank": 457,
          "k_value": 44.0,
          "k_rank": 301,
          "k_per_9_value": 10.421052,
          "k_per_9_rank": 22.0,
          "whip_value": 0.8421,
          "whip_rank": null,
          "war_value": 1.15,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9816,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9816,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9907,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9724,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.011,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 8.0,
    "ER": 2,
    "H": 5,
    "BB": 1,
    "SO": 10,
    "HR": 0,
    "ERA": 2.25,
    "WHIP": 0.75,
    "K9": 11.25,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 2,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-03T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "805299",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 13,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 13,
    "pitch_usage": 0.0,
    "release_speed": 93.61852378705493,
    "release_spin_rate": 2388.716302302561,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 13,
      "pitch_usage": 0.0,
      "release_speed": 93.61852378705493,
      "release_spin_rate": 2388.716302302561,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.6185,
    "release_spin_rate": 2388.7163,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.2112,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.5085,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.225,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5545,
    "prior_weight": 0.4455
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "805299",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 36,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 2.0,
        "R": 3.0,
        "H": 4.0,
        "BB": 1.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 18.0,
        "Pitches": 69.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.6,
        "H": 0.8,
        "BB": 0.2,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 3.6,
        "Pitches": 13.8
      },
      "rates": {
        "ERA": 4.1538,
        "WHIP": 1.1538,
        "ER_per_IP": 0.46154,
        "H_per_IP": 0.92308,
        "BB_per_IP": 0.23077,
        "SO_per_IP": 1.38462,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.0,
        "ER": 2.0,
        "R": 3.0,
        "H": 5.0,
        "BB": 1.0,
        "SO": 10.0,
        "HR": 0.0,
        "BF": 30.0,
        "Pitches": 109.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.2,
        "R": 0.3,
        "H": 0.5,
        "BB": 0.1,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 3.0,
        "Pitches": 10.9
      },
      "rates": {
        "ERA": 2.25,
        "WHIP": 0.75,
        "ER_per_IP": 0.25,
        "H_per_IP": 0.625,
        "BB_per_IP": 0.125,
        "SO_per_IP": 1.25,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 36,
      "totals": {
        "IP": 31.0,
        "ER": 6.0,
        "R": 7.0,
        "H": 15.0,
        "BB": 6.0,
        "SO": 36.0,
        "HR": 0.0,
        "BF": 112.0,
        "Pitches": 399.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1667,
        "R": 0.1944,
        "H": 0.4167,
        "BB": 0.1667,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 3.1111,
        "Pitches": 11.0833
      },
      "rates": {
        "ERA": 1.7419,
        "WHIP": 0.6774,
        "ER_per_IP": 0.19355,
        "H_per_IP": 0.48387,
        "BB_per_IP": 0.19355,
        "SO_per_IP": 1.16129,
        "HR_per_IP": 0.0
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.383,
    "predicted_H": 0.786,
    "predicted_BB": 0.25,
    "predicted_SO": 1.063,
    "predicted_HR": 0.061,
    "predicted_ERA": 3.6811,
    "predicted_WHIP": 1.1082
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5382,
  "form_weight": 0.4618,
  "form_reliability": 0.5545,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 6.225,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5545,
    "prior_weight": 0.4455
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.383,
      "final": 0.7151,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.786,
      "final": 0.9012,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 0.25,
      "final": 1.1919,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.063,
      "final": 1.0291,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.061,
      "final": 0.0282,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.6811,
      "final": 3.6811,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1082,
      "final": 1.1082,
      "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
PitcherJonathan Loáisiga
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.3332
ESPN Rank139
Movement AvailableTrue
Primary Pitch-
Movement Score0.2546
Avg Velo94.3933
Avg Spin2232.2697
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA2.8000
Season WHIP1.1111
Role Avg IP0.9380
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ARI",
    "games": 134,
    "wins": 71,
    "losses": 63,
    "win_pct": 0.5299,
    "runs_scored": 605.0,
    "runs_allowed": 600.0,
    "run_differential": 5.0,
    "run_differential_per_game": 0.0373,
    "avg_runs_scored": 4.5149,
    "avg_runs_allowed": 4.4776,
    "offense_index": 1.0064,
    "defense_index": 1.0019,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 5.6,
      "run_differential": -15.0
    },
    "available": true,
    "quality_score": 0.03
  },
  "opponent": {
    "team": "SF",
    "games": 133,
    "wins": 54,
    "losses": 79,
    "win_pct": 0.406,
    "runs_scored": 540.0,
    "runs_allowed": 614.0,
    "run_differential": -74.0,
    "run_differential_per_game": -0.5564,
    "avg_runs_scored": 4.0602,
    "avg_runs_allowed": 4.6165,
    "offense_index": 0.9051,
    "defense_index": 0.9717,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 5.1,
      "run_differential": -13.0
    },
    "available": true,
    "quality_score": -0.2181
  },
  "edges": {
    "quality_edge": 0.2481,
    "offense_edge": 0.0064,
    "opponent_offense_edge": -0.0949,
    "defense_strength": 0.0019,
    "opponent_defense_weakness": 0.0283,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0138,
    "run_prevention": 0.9722,
    "strikeout": 1.015
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "642528",
    "profile": {
      "available": true,
      "pitcher_id": "642528",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 171.0,
        "k_percent": 18.0,
        "bb_percent": 5.3,
        "woba": 0.269,
        "xwoba": 0.271,
        "sweet_spot_percent": 28.7,
        "barrel_batted_rate": 4.5,
        "hard_hit_percent": 33.1,
        "avg_best_speed": 74.7413,
        "avg_hyper_speed": 93.1891,
        "whiff_percent": 22.5,
        "swing_percent": 52.7
      },
      "league_medians": {
        "pa": 122.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.6441,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.3
      },
      "components": {
        "contact_quality": 0.9354,
        "command_and_miss": -0.1971,
        "regression_edge": -0.0571,
        "xwoba_edge": 1.1429,
        "barrel_edge": 0.5778,
        "hard_hit_edge": 0.6714,
        "whiff_edge": -0.3857,
        "bb_edge": 0.975,
        "pitch_design_score": 0.2546
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "642528",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 15,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 15,
          "pitch_usage": 0.0,
          "release_speed": 94.39330928614196,
          "release_spin_rate": 2232.2697143653386,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 15,
            "pitch_usage": 0.0,
            "release_speed": 94.39330928614196,
            "release_spin_rate": 2232.2697143653386,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 94.3933,
          "release_spin_rate": 2232.2697,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.2546,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.8184,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.3332,
      "sample_weight": 0.684,
      "run_prevention_factor": 0.9717,
      "strikeout_factor": 0.9738,
      "walk_factor": 0.9466,
      "homer_factor": 0.9266,
      "woba_minus_xwoba": -0.002,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "642528",
        "espn_id": 39807,
        "player_name": "Jonathan Loaisiga",
        "team": "ARI",
        "role": "pitcher",
        "espn_rank": 139,
        "espn_total_ranked": 832,
        "metrics": {
          "espn_rank": 139,
          "gp_value": 54.0,
          "gp_rank": 51,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 205,
          "era_value": 2.5796,
          "era_rank": null,
          "w_value": 5.0,
          "w_rank": 125,
          "l_value": 3.0,
          "l_rank": 220,
          "sv_value": 1.0,
          "sv_rank": 130,
          "hld_value": 8.0,
          "hld_rank": 102,
          "ip_value": 52.1,
          "ip_rank": 259,
          "h_value": 45.0,
          "h_rank": 253,
          "er_value": 15.0,
          "er_rank": 389,
          "hr_value": 3.0,
          "hr_rank": 413,
          "bb_value": 11.0,
          "bb_rank": 434,
          "k_value": 37.0,
          "k_rank": 349,
          "k_per_9_value": 6.363057,
          "k_per_9_rank": 36.0,
          "whip_value": 1.07,
          "whip_rank": null,
          "war_value": 1.19,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9806,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9806,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9635,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9498,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9821,
        "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": 5,
    "H": 10,
    "BB": 4,
    "SO": 10,
    "HR": 1,
    "ERA": 4.655172413793104,
    "WHIP": 1.4482758620689655,
    "K9": 9.310344827586208,
    "HR9": 0.9310344827586208,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-04T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "642528",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 15,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 15,
    "pitch_usage": 0.0,
    "release_speed": 94.39330928614196,
    "release_spin_rate": 2232.2697143653386,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 15,
      "pitch_usage": 0.0,
      "release_speed": 94.39330928614196,
      "release_spin_rate": 2232.2697143653386,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 94.3933,
    "release_spin_rate": 2232.2697,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.2546,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.8184,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.036,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6438,
    "prior_weight": 0.3562
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "642528",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 48,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 5.0,
        "R": 5.0,
        "H": 8.0,
        "BB": 2.0,
        "SO": 3.0,
        "HR": 1.0,
        "BF": 24.0,
        "Pitches": 81.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 1.6,
        "BB": 0.4,
        "SO": 0.6,
        "HR": 0.2,
        "BF": 4.8,
        "Pitches": 16.2
      },
      "rates": {
        "ERA": 9.0,
        "WHIP": 2.0,
        "ER_per_IP": 1.0,
        "H_per_IP": 1.6,
        "BB_per_IP": 0.4,
        "SO_per_IP": 0.6,
        "HR_per_IP": 0.2
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.2,
        "ER": 5.0,
        "R": 5.0,
        "H": 10.0,
        "BB": 4.0,
        "SO": 10.0,
        "HR": 1.0,
        "BF": 42.0,
        "Pitches": 155.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.5,
        "R": 0.5,
        "H": 1.0,
        "BB": 0.4,
        "SO": 1.0,
        "HR": 0.1,
        "BF": 4.2,
        "Pitches": 15.5
      },
      "rates": {
        "ERA": 4.6552,
        "WHIP": 1.4483,
        "ER_per_IP": 0.51724,
        "H_per_IP": 1.03448,
        "BB_per_IP": 0.41379,
        "SO_per_IP": 1.03448,
        "HR_per_IP": 0.10345
      }
    },
    "season": {
      "games": 48,
      "totals": {
        "IP": 45.0,
        "ER": 14.0,
        "R": 15.0,
        "H": 39.0,
        "BB": 11.0,
        "SO": 32.0,
        "HR": 2.0,
        "BF": 180.0,
        "Pitches": 675.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2917,
        "R": 0.3125,
        "H": 0.8125,
        "BB": 0.2292,
        "SO": 0.6667,
        "HR": 0.0417,
        "BF": 3.75,
        "Pitches": 14.0625
      },
      "rates": {
        "ERA": 2.8,
        "WHIP": 1.1111,
        "ER_per_IP": 0.31111,
        "H_per_IP": 0.86667,
        "BB_per_IP": 0.24444,
        "SO_per_IP": 0.71111,
        "HR_per_IP": 0.04444
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.625,
    "predicted_H": 1.156,
    "predicted_BB": 0.372,
    "predicted_SO": 0.834,
    "predicted_HR": 0.139,
    "predicted_ERA": 5.6278,
    "predicted_WHIP": 1.5283
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5005,
  "form_weight": 0.4995,
  "form_reliability": 0.6438,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.036,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6438,
    "prior_weight": 0.3562
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.625,
      "final": 0.3122,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 1.156,
      "final": 1.0779,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.372,
      "final": 0.1858,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.834,
      "final": 0.4166,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.139,
      "final": 0.0694,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.6278,
      "final": 5.6278,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.5283,
      "final": 1.5283,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherJuan Morillo
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.7661
ESPN Rank85
Movement AvailableTrue
Primary Pitch-
Movement Score0.2800
Avg Velo95.2171
Avg Spin2315.0053
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA2.5435
Season WHIP0.9783
Role Avg IP0.9580
Recent Avg IP1.0670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ARI",
    "games": 134,
    "wins": 71,
    "losses": 63,
    "win_pct": 0.5299,
    "runs_scored": 605.0,
    "runs_allowed": 600.0,
    "run_differential": 5.0,
    "run_differential_per_game": 0.0373,
    "avg_runs_scored": 4.5149,
    "avg_runs_allowed": 4.4776,
    "offense_index": 1.0064,
    "defense_index": 1.0019,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 5.6,
      "run_differential": -15.0
    },
    "available": true,
    "quality_score": 0.03
  },
  "opponent": {
    "team": "SF",
    "games": 133,
    "wins": 54,
    "losses": 79,
    "win_pct": 0.406,
    "runs_scored": 540.0,
    "runs_allowed": 614.0,
    "run_differential": -74.0,
    "run_differential_per_game": -0.5564,
    "avg_runs_scored": 4.0602,
    "avg_runs_allowed": 4.6165,
    "offense_index": 0.9051,
    "defense_index": 0.9717,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 5.1,
      "run_differential": -13.0
    },
    "available": true,
    "quality_score": -0.2181
  },
  "edges": {
    "quality_edge": 0.2481,
    "offense_edge": 0.0064,
    "opponent_offense_edge": -0.0949,
    "defense_strength": 0.0019,
    "opponent_defense_weakness": 0.0283,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0138,
    "run_prevention": 0.9722,
    "strikeout": 1.015
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "666661",
    "profile": {
      "available": true,
      "pitcher_id": "666661",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 174.0,
        "k_percent": 28.6,
        "bb_percent": 8.6,
        "woba": 0.244,
        "xwoba": 0.236,
        "sweet_spot_percent": 27.1,
        "barrel_batted_rate": 3.1,
        "hard_hit_percent": 31.0,
        "avg_best_speed": 74.0895,
        "avg_hyper_speed": 92.8349,
        "whiff_percent": 30.3,
        "swing_percent": 48.7
      },
      "league_medians": {
        "pa": 122.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.6441,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.3
      },
      "components": {
        "contact_quality": 1.5555,
        "command_and_miss": 0.7093,
        "regression_edge": 0.2286,
        "xwoba_edge": 2.1429,
        "barrel_edge": 0.8889,
        "hard_hit_edge": 0.9714,
        "whiff_edge": 0.7286,
        "bb_edge": 0.15,
        "pitch_design_score": 0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "666661",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 15,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 15,
          "pitch_usage": 0.0,
          "release_speed": 95.21706573791943,
          "release_spin_rate": 2315.0052952223436,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 15,
            "pitch_usage": 0.0,
            "release_speed": 95.21706573791943,
            "release_spin_rate": 2315.0052952223436,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 95.2171,
          "release_spin_rate": 2315.0053,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.7661,
      "sample_weight": 0.696,
      "run_prevention_factor": 0.9349,
      "strikeout_factor": 1.0465,
      "walk_factor": 0.9916,
      "homer_factor": 0.8787,
      "woba_minus_xwoba": 0.008,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "666661",
        "espn_id": 4722925,
        "player_name": "Juan Morillo",
        "team": "ARI",
        "role": "pitcher",
        "espn_rank": 85,
        "espn_total_ranked": 832,
        "metrics": {
          "espn_rank": 85,
          "gp_value": 56.0,
          "gp_rank": 39,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 205,
          "era_value": 2.2356,
          "era_rank": null,
          "w_value": 3.0,
          "w_rank": 227,
          "l_value": 4.0,
          "l_rank": 164,
          "sv_value": 2.0,
          "sv_rank": 84,
          "hld_value": 17.0,
          "hld_rank": 19,
          "ip_value": 52.1,
          "ip_rank": 259,
          "h_value": 35.0,
          "h_rank": 341,
          "er_value": 13.0,
          "er_rank": 425,
          "hr_value": 2.0,
          "hr_rank": 489,
          "bb_value": 18.0,
          "bb_rank": 304,
          "k_value": 60.0,
          "k_rank": 201,
          "k_per_9_value": 10.318471,
          "k_per_9_rank": 20.0,
          "whip_value": 1.0127,
          "whip_rank": null,
          "war_value": 1.77,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9547,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9547,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9942,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9156,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0324,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 10.2,
    "ER": 1,
    "H": 4,
    "BB": 3,
    "SO": 12,
    "HR": 0,
    "ERA": 0.84375,
    "WHIP": 0.65625,
    "K9": 10.125,
    "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-03T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "666661",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 15,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 15,
    "pitch_usage": 0.0,
    "release_speed": 95.21706573791943,
    "release_spin_rate": 2315.0052952223436,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 15,
      "pitch_usage": 0.0,
      "release_speed": 95.21706573791943,
      "release_spin_rate": 2315.0052952223436,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 95.2171,
    "release_spin_rate": 2315.0053,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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": 9.236,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6488,
    "prior_weight": 0.3512
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "666661",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 48,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 2.0,
        "BB": 0.0,
        "SO": 7.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.0,
        "SO": 1.4,
        "HR": 0.0,
        "BF": 3.6,
        "Pitches": 14.2
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.375,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.375,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.3125,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 4.0,
        "BB": 3.0,
        "SO": 12.0,
        "HR": 0.0,
        "BF": 37.0,
        "Pitches": 153.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.1,
        "H": 0.4,
        "BB": 0.3,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 3.7,
        "Pitches": 15.3
      },
      "rates": {
        "ERA": 0.8438,
        "WHIP": 0.6562,
        "ER_per_IP": 0.09375,
        "H_per_IP": 0.375,
        "BB_per_IP": 0.28125,
        "SO_per_IP": 1.125,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 48,
      "totals": {
        "IP": 46.0,
        "ER": 13.0,
        "R": 15.0,
        "H": 29.0,
        "BB": 16.0,
        "SO": 55.0,
        "HR": 2.0,
        "BF": 183.0,
        "Pitches": 724.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2708,
        "R": 0.3125,
        "H": 0.6042,
        "BB": 0.3333,
        "SO": 1.1458,
        "HR": 0.0417,
        "BF": 3.8125,
        "Pitches": 15.0833
      },
      "rates": {
        "ERA": 2.5435,
        "WHIP": 0.9783,
        "ER_per_IP": 0.28261,
        "H_per_IP": 0.63043,
        "BB_per_IP": 0.34783,
        "SO_per_IP": 1.19565,
        "HR_per_IP": 0.04348
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.234,
    "predicted_H": 0.62,
    "predicted_BB": 0.239,
    "predicted_SO": 1.125,
    "predicted_HR": 0.057,
    "predicted_ERA": 2.1099,
    "predicted_WHIP": 0.8582
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4984,
  "form_weight": 0.5016,
  "form_reliability": 0.6488,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.236,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6488,
    "prior_weight": 0.3512
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.234,
      "final": 0.1174,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.62,
      "final": 0.311,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.239,
      "final": 0.1199,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.125,
      "final": 0.5643,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.057,
      "final": 0.0286,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.1099,
      "final": 2.1099,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.8582,
      "final": 0.8582,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherKevin Ginkel
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.1248
ESPN Rank258
Movement AvailableTrue
Primary Pitch-
Movement Score0.0312
Avg Velo90.4043
Avg Spin2393.7283
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.1000
Pre ER0
Pre H1
Pre BB0
Pre SO1
Season ERA3.0423
Season WHIP1.1197
Role Avg IP0.9470
Recent Avg IP1.0670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ARI",
    "games": 134,
    "wins": 71,
    "losses": 63,
    "win_pct": 0.5299,
    "runs_scored": 605.0,
    "runs_allowed": 600.0,
    "run_differential": 5.0,
    "run_differential_per_game": 0.0373,
    "avg_runs_scored": 4.5149,
    "avg_runs_allowed": 4.4776,
    "offense_index": 1.0064,
    "defense_index": 1.0019,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 5.6,
      "run_differential": -15.0
    },
    "available": true,
    "quality_score": 0.03
  },
  "opponent": {
    "team": "SF",
    "games": 133,
    "wins": 54,
    "losses": 79,
    "win_pct": 0.406,
    "runs_scored": 540.0,
    "runs_allowed": 614.0,
    "run_differential": -74.0,
    "run_differential_per_game": -0.5564,
    "avg_runs_scored": 4.0602,
    "avg_runs_allowed": 4.6165,
    "offense_index": 0.9051,
    "defense_index": 0.9717,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 5.1,
      "run_differential": -13.0
    },
    "available": true,
    "quality_score": -0.2181
  },
  "edges": {
    "quality_edge": 0.2481,
    "offense_edge": 0.0064,
    "opponent_offense_edge": -0.0949,
    "defense_strength": 0.0019,
    "opponent_defense_weakness": 0.0283,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0138,
    "run_prevention": 0.9722,
    "strikeout": 1.015
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "656464",
    "profile": {
      "available": true,
      "pitcher_id": "656464",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 182.0,
        "k_percent": 23.9,
        "bb_percent": 6.8,
        "woba": 0.287,
        "xwoba": 0.299,
        "sweet_spot_percent": 32.5,
        "barrel_batted_rate": 9.7,
        "hard_hit_percent": 39.6,
        "avg_best_speed": 78.5491,
        "avg_hyper_speed": 94.0527,
        "whiff_percent": 30.2,
        "swing_percent": 50.3
      },
      "league_medians": {
        "pa": 122.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.6441,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.3
      },
      "components": {
        "contact_quality": 0.1344,
        "command_and_miss": 0.4921,
        "regression_edge": -0.3429,
        "xwoba_edge": 0.3429,
        "barrel_edge": -0.5778,
        "hard_hit_edge": -0.2571,
        "whiff_edge": 0.7143,
        "bb_edge": 0.6,
        "pitch_design_score": 0.0312
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "656464",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 10,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 10,
          "pitch_usage": 0.0,
          "release_speed": 90.4043295627249,
          "release_spin_rate": 2393.728257130463,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 10,
            "pitch_usage": 0.0,
            "release_speed": 90.4043295627249,
            "release_spin_rate": 2393.728257130463,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.4043,
          "release_spin_rate": 2393.7283,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0312,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.2228,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.1248,
      "sample_weight": 0.728,
      "run_prevention_factor": 0.9894,
      "strikeout_factor": 1.0287,
      "walk_factor": 0.9651,
      "homer_factor": 1.0336,
      "woba_minus_xwoba": -0.012,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "656464",
        "espn_id": 41432,
        "player_name": "Kevin Ginkel",
        "team": "ARI",
        "role": "pitcher",
        "espn_rank": 258,
        "espn_total_ranked": 832,
        "metrics": {
          "espn_rank": 258,
          "gp_value": 59.0,
          "gp_rank": 23,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 205,
          "era_value": 3.7636,
          "era_rank": null,
          "w_value": 5.0,
          "w_rank": 125,
          "l_value": 4.0,
          "l_rank": 164,
          "sv_value": 2.0,
          "sv_rank": 84,
          "hld_value": 11.0,
          "hld_rank": 65,
          "ip_value": 55.0,
          "ip_rank": 235,
          "h_value": 46.0,
          "h_rank": 243,
          "er_value": 23.0,
          "er_rank": 244,
          "hr_value": 7.0,
          "hr_rank": 213,
          "bb_value": 15.0,
          "bb_rank": 357,
          "k_value": 53.0,
          "k_rank": 240,
          "k_per_9_value": 8.672728,
          "k_per_9_rank": 27.0,
          "whip_value": 1.109,
          "whip_rank": null,
          "war_value": 0.46,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9923,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9923,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9746,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0245,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0209,
        "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": 4,
    "H": 9,
    "BB": 2,
    "SO": 3,
    "HR": 1,
    "ERA": 3.6000000000000005,
    "WHIP": 1.1,
    "K9": 2.7000000000000006,
    "HR9": 0.9000000000000001,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-01T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "656464",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 10,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 10,
    "pitch_usage": 0.0,
    "release_speed": 90.4043295627249,
    "release_spin_rate": 2393.728257130463,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 10,
      "pitch_usage": 0.0,
      "release_speed": 90.4043295627249,
      "release_spin_rate": 2393.728257130463,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.4043,
    "release_spin_rate": 2393.7283,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0312,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.2228,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.504,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6553,
    "prior_weight": 0.3447
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "656464",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 50,
  "reference_playing_time": 0.1,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 1.0,
        "R": 2.0,
        "H": 4.0,
        "BB": 1.0,
        "SO": 1.0,
        "HR": 1.0,
        "BF": 21.0,
        "Pitches": 71.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.4,
        "H": 0.8,
        "BB": 0.2,
        "SO": 0.2,
        "HR": 0.2,
        "BF": 4.2,
        "Pitches": 14.2
      },
      "rates": {
        "ERA": 1.6875,
        "WHIP": 0.9375,
        "ER_per_IP": 0.1875,
        "H_per_IP": 0.75,
        "BB_per_IP": 0.1875,
        "SO_per_IP": 0.1875,
        "HR_per_IP": 0.1875
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 4.0,
        "R": 6.0,
        "H": 9.0,
        "BB": 2.0,
        "SO": 3.0,
        "HR": 1.0,
        "BF": 40.0,
        "Pitches": 130.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.6,
        "H": 0.9,
        "BB": 0.2,
        "SO": 0.3,
        "HR": 0.1,
        "BF": 4.0,
        "Pitches": 13.0
      },
      "rates": {
        "ERA": 3.6,
        "WHIP": 1.1,
        "ER_per_IP": 0.4,
        "H_per_IP": 0.9,
        "BB_per_IP": 0.2,
        "SO_per_IP": 0.3,
        "HR_per_IP": 0.1
      }
    },
    "season": {
      "games": 50,
      "totals": {
        "IP": 47.1,
        "ER": 16.0,
        "R": 19.0,
        "H": 40.0,
        "BB": 13.0,
        "SO": 43.0,
        "HR": 5.0,
        "BF": 189.0,
        "Pitches": 733.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.32,
        "R": 0.38,
        "H": 0.8,
        "BB": 0.26,
        "SO": 0.86,
        "HR": 0.1,
        "BF": 3.78,
        "Pitches": 14.66
      },
      "rates": {
        "ERA": 3.0423,
        "WHIP": 1.1197,
        "ER_per_IP": 0.33803,
        "H_per_IP": 0.84507,
        "BB_per_IP": 0.27465,
        "SO_per_IP": 0.90845,
        "HR_per_IP": 0.10563
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.281,
    "predicted_H": 0.674,
    "predicted_BB": 0.204,
    "predicted_SO": 0.438,
    "predicted_HR": 0.11,
    "predicted_ERA": 3.2809,
    "predicted_WHIP": 1.1395
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4956,
  "form_weight": 0.5044,
  "form_reliability": 0.6553,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.504,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6553,
    "prior_weight": 0.3447
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.1,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.281,
      "final": 0.6374,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.674,
      "final": 0.8356,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.204,
      "final": 0.1029,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 0.438,
      "final": 1.2122,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.11,
      "final": 0.5511,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.2809,
      "final": 3.2809,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1395,
      "final": 1.1395,
      "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."
}
Lars Nootbaar (663457) · BATTER · DH · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 49
All-history rows before 20260827: 49
System season_avg: 0.2170
Data season_avg (2026 season-to-date): 0.1491
Diff (system - data): 0.0679
System opponent_avg: 0.2170
System season_avg diverges from 2026 season-to-date by 0.0679. 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.1560.0000.000Hitting_2B0.0820.000-0.0820.000
predicted_3B0.0160.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.2345.0003.000Hitting_AB3.2863.0001.7142.000
predicted_AVG0.2170.2000.000Hitting_AVG0.1490.0000.0510.200
predicted_BB0.5160.0001.000Hitting_BB0.7551.000-0.755-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7031.0000.000Hitting_H0.4900.0000.5101.000
predicted_HR0.0620.0000.000Hitting_HR0.0410.000-0.0410.000
predicted_OBP0.3250.2000.250Hitting_OBP0.3080.250-0.108-0.050
predicted_R0.4060.0000.000Hitting_R0.2451.000-0.245-1.000
predicted_RBI0.3280.0000.000Hitting_RBI0.2240.000-0.2240.000
predicted_SLG0.3330.2000.000Hitting_SLG0.2110.000-0.0110.200
predicted_SO0.7341.0001.000Hitting_SO0.6120.0000.3881.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_AB: 3.2340 -> 5.0000 (boost 1.7660, better)
Biggest Deboostpredicted_BB: 0.5160 -> 0.0000 (deboost -0.5160, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42231predicted_RBI: 0.3280 -> 0.3802 (boost 0.0522, better)predicted_SO: 0.7340 -> 0.6521 (deboost -0.0819, 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.3472 -> 0.3524 (boost 0.0052, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_SO: 0.6471 -> 1.0000 (boost 0.3529, worse)predicted_BB: 0.4757 -> 0.0000 (deboost -0.4757, worse)AB rounded to 3 (raw=3.23), rates preserved: AVG=0.217 HR/AB=0.025
5consistency_constraints10101-predicted_R: 0.4074 -> 0.0000 (deboost -0.4074, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation21111predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context21111predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference11010predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "663457",
  "player_name": "Lars Nootbaar",
  "position": "DH",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.156,
        "predicted_3B": 0.016,
        "predicted_AB": 3.234,
        "predicted_AVG": 0.217,
        "predicted_BB": 0.516,
        "predicted_H": 0.703,
        "predicted_HR": 0.062,
        "predicted_OBP": 0.325,
        "predicted_R": 0.406,
        "predicted_RBI": 0.328,
        "predicted_SLG": 0.333,
        "predicted_SO": 0.734
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1568,
        "predicted_3B": 0.0135,
        "predicted_AB": 3.2031,
        "predicted_AVG": 0.215,
        "predicted_BB": 0.4721,
        "predicted_H": 0.6896,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.0795,
        "predicted_OBP": 0.3156,
        "predicted_R": 0.3939,
        "predicted_RBI": 0.3802,
        "predicted_SLG": 0.3472,
        "predicted_SO": 0.6521
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.156,
          "after": 0.1568,
          "delta": 0.0008,
          "percent_delta": 0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.016,
          "after": 0.0135,
          "delta": -0.0025,
          "percent_delta": -0.1563,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.234,
          "after": 3.2031,
          "delta": -0.0309,
          "percent_delta": -0.0096,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.217,
          "after": 0.215,
          "delta": -0.002,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.516,
          "after": 0.4721,
          "delta": -0.0439,
          "percent_delta": -0.0851,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.703,
          "after": 0.6896,
          "delta": -0.0134,
          "percent_delta": -0.0191,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.062,
          "after": 0.0795,
          "delta": 0.0175,
          "percent_delta": 0.2823,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.325,
          "after": 0.3156,
          "delta": -0.0094,
          "percent_delta": -0.0289,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.406,
          "after": 0.3939,
          "delta": -0.0121,
          "percent_delta": -0.0298,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.328,
          "after": 0.3802,
          "delta": 0.0522,
          "percent_delta": 0.1591,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.3472,
          "delta": 0.0142,
          "percent_delta": 0.0426,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.734,
          "after": 0.6521,
          "delta": -0.0819,
          "percent_delta": -0.1116,
          "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_RBI",
          "before": 0.328,
          "after": 0.3802,
          "delta": 0.0522,
          "percent_delta": 0.1591,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.734,
          "after": 0.6521,
          "delta": -0.0819,
          "percent_delta": -0.1116,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.1568,
        "predicted_3B": 0.0135,
        "predicted_AB": 3.2031,
        "predicted_AVG": 0.2193,
        "predicted_BB": 0.4757,
        "predicted_H": 0.7026,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.0808,
        "predicted_OBP": 0.3203,
        "predicted_R": 0.4074,
        "predicted_RBI": 0.3932,
        "predicted_SLG": 0.3524,
        "predicted_SO": 0.6471
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1568,
          "after": 0.1568,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0135,
          "after": 0.0135,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.2031,
          "after": 3.2031,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.215,
          "after": 0.2193,
          "delta": 0.0043,
          "percent_delta": 0.02,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4721,
          "after": 0.4757,
          "delta": 0.0036,
          "percent_delta": 0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6896,
          "after": 0.7026,
          "delta": 0.013,
          "percent_delta": 0.0189,
          "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.0795,
          "after": 0.0808,
          "delta": 0.0013,
          "percent_delta": 0.0164,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3156,
          "after": 0.3203,
          "delta": 0.0047,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3939,
          "after": 0.4074,
          "delta": 0.0135,
          "percent_delta": 0.0343,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3802,
          "after": 0.3932,
          "delta": 0.013,
          "percent_delta": 0.0342,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3472,
          "after": 0.3524,
          "delta": 0.0052,
          "percent_delta": 0.015,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6521,
          "after": 0.6471,
          "delta": -0.005,
          "percent_delta": -0.0077,
          "direction": "no_change",
          "projection_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.3472,
          "after": 0.3524,
          "delta": 0.0052,
          "percent_delta": 0.015,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.23), rates preserved: AVG=0.217 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.1568,
          "after": 0.0,
          "delta": -0.1568,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0135,
          "after": 0.0,
          "delta": -0.0135,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.2031,
          "after": 3.0,
          "delta": -0.2031,
          "percent_delta": -0.0634,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4757,
          "after": 0.0,
          "delta": -0.4757,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7026,
          "after": 1.0,
          "delta": 0.2974,
          "percent_delta": 0.4233,
          "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.0808,
          "after": 0.0,
          "delta": -0.0808,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3932,
          "after": 0.0,
          "delta": -0.3932,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6471,
          "after": 1.0,
          "delta": 0.3529,
          "percent_delta": 0.5454,
          "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.6471,
          "after": 1.0,
          "delta": 0.3529,
          "percent_delta": 0.5454,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4757,
          "after": 0.0,
          "delta": -0.4757,
          "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.4074,
          "after": 0.0,
          "delta": -0.4074,
          "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.4074,
          "after": 0.0,
          "delta": -0.4074,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.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_SO",
          "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": 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.217,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.323,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.349,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2193,
          "after": 0.217,
          "delta": -0.0023,
          "percent_delta": -0.0105,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3203,
          "after": 0.323,
          "delta": 0.0027,
          "percent_delta": 0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3524,
          "after": 0.349,
          "delta": -0.0034,
          "percent_delta": -0.0096,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "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_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 5.0,
          "delta": 2.0,
          "percent_delta": 0.6667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 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": 5.0,
          "delta": 2.0,
          "percent_delta": 0.6667,
          "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": 5.0,
        "predicted_AVG": 0.2193,
        "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.3203,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3524,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.217,
          "after": 0.2193,
          "delta": 0.0023,
          "percent_delta": 0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.323,
          "after": 0.3203,
          "delta": -0.0027,
          "percent_delta": -0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.349,
          "after": 0.3524,
          "delta": 0.0034,
          "percent_delta": 0.0097,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "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": "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.016,
        "after": 0.0,
        "delta": -0.016,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.234,
        "after": 5.0,
        "delta": 1.766,
        "percent_delta": 0.5461,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.217,
        "after": 0.2193,
        "delta": 0.0023,
        "percent_delta": 0.0106,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.516,
        "after": 0.0,
        "delta": -0.516,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.703,
        "after": 1.0,
        "delta": 0.297,
        "percent_delta": 0.4225,
        "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.325,
        "after": 0.3203,
        "delta": -0.0047,
        "percent_delta": -0.0145,
        "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.328,
        "after": 0.0,
        "delta": -0.328,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.333,
        "after": 0.3524,
        "delta": 0.0194,
        "percent_delta": 0.0583,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.734,
        "after": 1.0,
        "delta": 0.266,
        "percent_delta": 0.3624,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 4,
      "deboosted_metrics": 5,
      "better_metrics": 3,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.234,
        "after": 5.0,
        "delta": 1.766,
        "percent_delta": 0.5461,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.516,
        "after": 0.0,
        "delta": -0.516,
        "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.016-
predicted_AB3.234-
predicted_AVG0.217-
predicted_BB0.516-
predicted_H0.703-
predicted_HR0.062-
predicted_OBP0.325-
predicted_R0.406-
predicted_RBI0.328-
predicted_SLG0.333-
predicted_SO0.734-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1570.001
predicted_3B0.013-0.003
predicted_AB3.203-0.031
predicted_AVG0.215-0.002
predicted_BB0.472-0.044
predicted_H0.690-0.013
predicted_HBP0.003-
predicted_HR0.0800.018
predicted_OBP0.316-0.009
predicted_R0.394-0.012
predicted_RBI0.3800.052
predicted_SLG0.3470.014
predicted_SO0.652-0.082
3. team_form_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.0130.000
predicted_AB3.2030.000
predicted_AVG0.2190.004
predicted_BB0.4760.004
predicted_H0.7030.013
predicted_HBP0.0030.000
predicted_HR0.0810.001
predicted_OBP0.3200.005
predicted_R0.4070.014
predicted_RBI0.3930.013
predicted_SLG0.3520.005
predicted_SO0.647-0.005
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.23), rates preserved: AVG=0.217 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. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0001.000
H0.000-1.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.013
predicted_AB3.000-0.203
predicted_AVG0.217-0.002
predicted_BB0.000-0.476
predicted_H1.0000.297
predicted_HR0.000-0.081
predicted_OBP0.3230.003
predicted_R0.000-0.407
predicted_RBI0.000-0.393
predicted_SLG0.349-0.003
predicted_SO1.0000.353
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 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.0001.0000.0001.0004.0002.0001.0000.0000.21430.26670.50000.21430.07140.28570.07140.0000
last_100.2010-29.0005.0001.0000.0001.0004.0002.0004.0004.0000.17240.27270.31030.17240.03450.13790.13790.1379
season0.6064-207.00045.00010.0001.0004.00021.00026.00033.00047.0000.21740.32370.33330.21740.01930.10140.15940.2271
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1580
predicted_3B0.0100
predicted_AB3.1600
predicted_AVG0.2122
predicted_BB0.4110
predicted_H0.6710
predicted_HBP0.0030
predicted_HR0.1040
predicted_OBP0.3025
predicted_R0.3770
predicted_RBI0.4530
predicted_SLG0.3671
predicted_SO0.5380
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15600.15800.1568model_form_blend
predicted_3B0.01600.01000.0135model_form_blend
predicted_AB3.23403.16003.2031model_form_blend
predicted_AVG0.21700.21220.2150model_form_blend
predicted_BB0.51600.41100.4721model_form_blend
predicted_H0.70300.67100.6896model_form_blend
predicted_HBP-0.00300.0030form_only
predicted_HR0.06200.10400.0795model_form_blend
predicted_OBP0.32500.30250.3156model_form_blend
predicted_R0.40600.37700.3939model_form_blend
predicted_RBI0.32800.45300.3802model_form_blend
predicted_SLG0.33300.36710.3472model_form_blend
predicted_SO0.73400.53800.6521model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260825_CHC@ARI
game_typefull
mlbID663457
playerID663457
playerNameLars Nootbaar
posDH
startedTrue
startingPositionDH
teamARI
teamID1
game_date2026-08-25
sl_k_percent19.5
sl_bb_percent13.6
sl_woba0.316
sl_xwoba0.344
sl_xba0.246
sl_xslg0.445
sl_sweet_spot_percent34.3
sl_barrel_batted_rate10.5
sl_hard_hit_percent49.4
sl_exit_velocity_avg91.7
sl_launch_angle_avg8.7
sl_whiff_percent18.3
sl_swing_percent36.9
Corbin Carroll (682998) · BATTER · RF · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 545
All-history rows before 20260827: 545
System season_avg: 0.2490
Data season_avg (2026 season-to-date): 0.2529
Diff (system - data): -0.0039
System opponent_avg: 0.1820

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2150.0001.000Hitting_2B0.2170.000-0.2170.000
predicted_3B0.1230.0000.000Hitting_3B0.1280.000-0.1280.000
predicted_AB4.3605.0004.000Hitting_AB3.8173.0001.1832.000
predicted_AVG0.2090.4000.250Hitting_AVG0.2530.0000.1470.400
predicted_BB0.5080.0001.000Hitting_BB0.5410.000-0.5410.000
predicted_CS-0.0000.000BaseRunning_CS0.0240.000-0.0240.000
predicted_H0.9102.0001.000Hitting_H0.9650.0001.0352.000
predicted_HR0.1100.0000.000Hitting_HR0.1520.000-0.1520.000
predicted_OBP0.3190.4000.400Hitting_OBP0.3530.0000.0470.400
predicted_R0.6231.0001.000Hitting_R0.6570.0000.3431.000
predicted_RBI0.3900.0000.000Hitting_RBI0.4920.000-0.4920.000
predicted_SLG0.4120.4000.500Hitting_SLG0.4970.000-0.0970.400
predicted_SO0.9461.0001.000Hitting_SO0.9672.0000.033-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics6
Deboosted Metrics6
Better Metrics5
Worse Metrics7
Biggest Boostpredicted_H: 0.9100 -> 2.0000 (boost 1.0900, better)
Biggest Deboostpredicted_BB: 0.5080 -> 0.0000 (deboost -0.5080, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43131predicted_AVG: 0.2090 -> 0.2302 (boost 0.0212, better)predicted_AB: 4.3600 -> 4.0497 (deboost -0.3103, worse)Final model input calibrated 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.3278 -> 0.3136 (deboost -0.0142, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling71616predicted_H: 0.9405 -> 1.0000 (boost 0.0595, better)predicted_BB: 0.4804 -> 0.0000 (deboost -0.4804, worse)AB rounded to 4 (raw=4.36), rates preserved: AVG=0.216 HR/AB=0.023
5bvp_blend00000--Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182)
6consistency_constraints11010predicted_R: 0.5940 -> 1.0000 (boost 0.4060, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation22020predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context50505-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference22020predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
10current_json_final33030predicted_SLG: 0.3790 -> 0.4203 (boost 0.0413, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "682998",
  "player_name": "Corbin Carroll",
  "position": "RF",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.215,
        "predicted_3B": 0.123,
        "predicted_AB": 4.36,
        "predicted_AVG": 0.209,
        "predicted_BB": 0.508,
        "predicted_H": 0.91,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.319,
        "predicted_R": 0.623,
        "predicted_RBI": 0.39,
        "predicted_SLG": 0.412,
        "predicted_SO": 0.946
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.212,
        "predicted_3B": 0.1252,
        "predicted_AB": 4.0497,
        "predicted_AVG": 0.2302,
        "predicted_BB": 0.4767,
        "predicted_H": 0.9231,
        "predicted_HBP": 0.056,
        "predicted_HR": 0.0982,
        "predicted_OBP": 0.3278,
        "predicted_R": 0.5743,
        "predicted_RBI": 0.3643,
        "predicted_SLG": 0.4301,
        "predicted_SO": 0.9617
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.215,
          "after": 0.212,
          "delta": -0.003,
          "percent_delta": -0.014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.123,
          "after": 0.1252,
          "delta": 0.0022,
          "percent_delta": 0.0179,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.36,
          "after": 4.0497,
          "delta": -0.3103,
          "percent_delta": -0.0712,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.209,
          "after": 0.2302,
          "delta": 0.0212,
          "percent_delta": 0.1014,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.508,
          "after": 0.4767,
          "delta": -0.0313,
          "percent_delta": -0.0616,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.91,
          "after": 0.9231,
          "delta": 0.0131,
          "percent_delta": 0.0144,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.0982,
          "delta": -0.0118,
          "percent_delta": -0.1073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.319,
          "after": 0.3278,
          "delta": 0.0088,
          "percent_delta": 0.0276,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.623,
          "after": 0.5743,
          "delta": -0.0487,
          "percent_delta": -0.0782,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.39,
          "after": 0.3643,
          "delta": -0.0257,
          "percent_delta": -0.0659,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.412,
          "after": 0.4301,
          "delta": 0.0181,
          "percent_delta": 0.0439,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.946,
          "after": 0.9617,
          "delta": 0.0157,
          "percent_delta": 0.0166,
          "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.209,
          "after": 0.2302,
          "delta": 0.0212,
          "percent_delta": 0.1014,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.36,
          "after": 4.0497,
          "delta": -0.3103,
          "percent_delta": -0.0712,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 130
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.212,
        "predicted_3B": 0.1252,
        "predicted_AB": 4.0497,
        "predicted_AVG": 0.2322,
        "predicted_BB": 0.4804,
        "predicted_H": 0.9405,
        "predicted_HBP": 0.056,
        "predicted_HR": 0.0998,
        "predicted_OBP": 0.3136,
        "predicted_R": 0.594,
        "predicted_RBI": 0.3768,
        "predicted_SLG": 0.4203,
        "predicted_SO": 0.9543
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.212,
          "after": 0.212,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.1252,
          "after": 0.1252,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0497,
          "after": 4.0497,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2302,
          "after": 0.2322,
          "delta": 0.002,
          "percent_delta": 0.0087,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4767,
          "after": 0.4804,
          "delta": 0.0037,
          "percent_delta": 0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9231,
          "after": 0.9405,
          "delta": 0.0174,
          "percent_delta": 0.0188,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.056,
          "after": 0.056,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0982,
          "after": 0.0998,
          "delta": 0.0016,
          "percent_delta": 0.0163,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3278,
          "after": 0.3136,
          "delta": -0.0142,
          "percent_delta": -0.0433,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5743,
          "after": 0.594,
          "delta": 0.0197,
          "percent_delta": 0.0343,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3643,
          "after": 0.3768,
          "delta": 0.0125,
          "percent_delta": 0.0343,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4301,
          "after": 0.4203,
          "delta": -0.0098,
          "percent_delta": -0.0228,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9617,
          "after": 0.9543,
          "delta": -0.0074,
          "percent_delta": -0.0077,
          "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.3278,
          "after": 0.3136,
          "delta": -0.0142,
          "percent_delta": -0.0433,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.36), rates preserved: AVG=0.216 HR/AB=0.023",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.212,
          "after": 0.0,
          "delta": -0.212,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.1252,
          "after": 0.0,
          "delta": -0.1252,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.0497,
          "after": 4.0,
          "delta": -0.0497,
          "percent_delta": -0.0123,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4804,
          "after": 0.0,
          "delta": -0.4804,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9405,
          "after": 1.0,
          "delta": 0.0595,
          "percent_delta": 0.0633,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.056,
          "after": 0.0,
          "delta": -0.056,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0998,
          "after": 0.0,
          "delta": -0.0998,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3768,
          "after": 0.0,
          "delta": -0.3768,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9543,
          "after": 1.0,
          "delta": 0.0457,
          "percent_delta": 0.0479,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.9405,
          "after": 1.0,
          "delta": 0.0595,
          "percent_delta": 0.0633,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4804,
          "after": 0.0,
          "delta": -0.4804,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8927,
        "bvp": 0.1073
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.594,
          "after": 1.0,
          "delta": 0.406,
          "percent_delta": 0.6835,
          "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.594,
          "after": 1.0,
          "delta": 0.406,
          "percent_delta": 0.6835,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.212,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.288,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.379,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2322,
          "after": 0.212,
          "delta": -0.0202,
          "percent_delta": -0.087,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3136,
          "after": 0.288,
          "delta": -0.0256,
          "percent_delta": -0.0816,
          "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.4203,
          "after": 0.379,
          "delta": -0.0413,
          "percent_delta": -0.0983,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "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.2322,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3136,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4203,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.212,
          "after": 0.2322,
          "delta": 0.0202,
          "percent_delta": 0.0954,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.288,
          "after": 0.3136,
          "delta": 0.0256,
          "percent_delta": 0.089,
          "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.379,
          "after": 0.4203,
          "delta": 0.0413,
          "percent_delta": 0.109,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.379,
          "after": 0.4203,
          "delta": 0.0413,
          "percent_delta": 0.109,
          "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.215,
        "after": 0.0,
        "delta": -0.215,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.123,
        "after": 0.0,
        "delta": -0.123,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.36,
        "after": 5.0,
        "delta": 0.64,
        "percent_delta": 0.1468,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.209,
        "after": 0.2322,
        "delta": 0.0232,
        "percent_delta": 0.111,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.508,
        "after": 0.0,
        "delta": -0.508,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.91,
        "after": 2.0,
        "delta": 1.09,
        "percent_delta": 1.1978,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.11,
        "after": 0.0,
        "delta": -0.11,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.319,
        "after": 0.3136,
        "delta": -0.0054,
        "percent_delta": -0.0169,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.623,
        "after": 1.0,
        "delta": 0.377,
        "percent_delta": 0.6051,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.39,
        "after": 0.0,
        "delta": -0.39,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.412,
        "after": 0.4203,
        "delta": 0.0083,
        "percent_delta": 0.0201,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.946,
        "after": 1.0,
        "delta": 0.054,
        "percent_delta": 0.0571,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 6,
      "deboosted_metrics": 6,
      "better_metrics": 5,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.91,
        "after": 2.0,
        "delta": 1.09,
        "percent_delta": 1.1978,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.508,
        "after": 0.0,
        "delta": -0.508,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.215-
predicted_3B0.123-
predicted_AB4.360-
predicted_AVG0.209-
predicted_BB0.508-
predicted_H0.910-
predicted_HR0.110-
predicted_OBP0.319-
predicted_R0.623-
predicted_RBI0.390-
predicted_SLG0.412-
predicted_SO0.946-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.212-0.003
predicted_3B0.1250.002
predicted_AB4.050-0.310
predicted_AVG0.2300.021
predicted_BB0.477-0.031
predicted_H0.9230.013
predicted_HBP0.056-
predicted_HR0.098-0.012
predicted_OBP0.3280.009
predicted_R0.574-0.049
predicted_RBI0.364-0.026
predicted_SLG0.4300.018
predicted_SO0.9620.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.2120.000
predicted_3B0.1250.000
predicted_AB4.0500.000
predicted_AVG0.2320.002
predicted_BB0.4800.004
predicted_H0.9410.017
predicted_HBP0.0560.000
predicted_HR0.1000.002
predicted_OBP0.314-0.014
predicted_R0.5940.020
predicted_RBI0.3770.013
predicted_SLG0.420-0.010
predicted_SO0.954-0.007
4. ab_floor_and_scaling

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

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
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
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI0.0000.000
SO1.0000.000
8. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.212
predicted_3B0.000-0.125
predicted_AB4.000-0.050
predicted_AVG0.212-0.020
predicted_BB0.000-0.480
predicted_H1.0000.059
predicted_HR0.000-0.100
predicted_OBP0.288-0.026
predicted_R1.0000.406
predicted_RBI0.000-0.377
predicted_SLG0.379-0.041
predicted_SO1.0000.046
9. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB5.0001.000
BB0.000-1.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.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: 130
Reference playing time: 4.360
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0005.0001.0001.0000.0001.0001.0001.0006.0000.27780.30000.44440.27780.00000.05560.05560.3333
last_100.2010-34.0009.0002.0001.0000.0001.0005.0005.0009.0000.26470.36590.38240.26470.00000.02940.14710.2647
season0.60130-485.000121.00028.00016.00018.00058.00081.00066.000123.0000.24950.34640.48450.24950.03710.11960.13610.2536
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2080
predicted_3B0.1280
predicted_AB3.6470
predicted_AVG0.2577
predicted_BB0.4360
predicted_H0.9400
predicted_HBP0.0560
predicted_HR0.0830
predicted_OBP0.3392
predicted_R0.5110
predicted_RBI0.3310
predicted_SLG0.4536
predicted_SO0.9820
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21500.20800.2120model_form_blend
predicted_3B0.12300.12800.1252model_form_blend
predicted_AB4.36003.64704.0497model_form_blend
predicted_AVG0.20900.25770.2302model_form_blend
predicted_BB0.50800.43600.4767model_form_blend
predicted_H0.91000.94000.9231model_form_blend
predicted_HBP-0.05600.0560form_only
predicted_HR0.11000.08300.0982model_form_blend
predicted_OBP0.31900.33920.3278model_form_blend
predicted_R0.62300.51100.5743model_form_blend
predicted_RBI0.39000.33100.3643model_form_blend
predicted_SLG0.41200.45360.4301model_form_blend
predicted_SO0.94600.98200.9617model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260826_CHC@ARI
game_typefull
mlbID682998
playerID682998
playerNameCorbin Carroll
posRF
startedTrue
startingPositionRF
teamARI
teamID1
game_date2026-08-26
sl_k_percent21.7
sl_bb_percent11.8
sl_woba0.352
sl_xwoba0.346
sl_xba0.251
sl_xslg0.443
sl_sweet_spot_percent30.6
sl_barrel_batted_rate11.9
sl_hard_hit_percent47.6
sl_exit_velocity_avg91.7
sl_launch_angle_avg15.4
sl_whiff_percent27.0
sl_swing_percent44.6
Geraldo Perdomo (672695) · BATTER · SS · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 536
All-history rows before 20260827: 536
System season_avg: 0.2520
Data season_avg (2026 season-to-date): 0.2477
Diff (system - data): 0.0043
System opponent_avg: 0.3250

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1401.0000.000Hitting_2B0.1320.0000.8681.000
predicted_3B0.0471.0000.000Hitting_3B0.0580.0000.9421.000
predicted_AB3.6104.0004.000Hitting_AB3.7053.0000.2951.000
predicted_AVG0.2860.5000.250Hitting_AVG0.2480.6670.252-0.167
predicted_BB0.5970.0001.000Hitting_BB0.6360.000-0.6360.000
predicted_CS-0.0000.000BaseRunning_CS0.0710.000-0.0710.000
predicted_H1.0302.0001.000Hitting_H0.9182.0001.0820.000
predicted_HR0.0600.0000.000Hitting_HR0.0820.000-0.0820.000
predicted_OBP0.3700.5000.400Hitting_OBP0.3600.6670.140-0.167
predicted_R0.4731.0000.000Hitting_R0.5240.0000.4761.000
predicted_RBI0.3802.0000.000Hitting_RBI0.3510.0001.6492.000
predicted_SLG0.3601.2500.250Hitting_SLG0.3810.6670.8690.583
predicted_SO0.5350.0000.000Hitting_SO0.5540.000-0.5540.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics8
Deboosted Metrics3
Better Metrics9
Worse Metrics2
Biggest Boostpredicted_RBI: 0.3800 -> 2.0000 (boost 1.6200, better)
Biggest Deboostpredicted_BB: 0.5970 -> 0.0000 (deboost -0.5970, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend20202-predicted_R: 0.4730 -> 0.4117 (deboost -0.0613, worse)Final model input calibrated 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.3610 -> 0.3896 (boost 0.0286, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling63324predicted_SO: 0.5318 -> 1.0000 (boost 0.4682, worse)predicted_RBI: 0.3926 -> 0.0000 (deboost -0.3926, worse)AB rounded to 4 (raw=3.61), rates preserved: AVG=0.285 HR/AB=0.015
5bvp_blend00000--Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.333)
6consistency_constraints10101-predicted_R: 0.4258 -> 0.0000 (deboost -0.4258, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation10110-predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context22011predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference75261predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
10current_json_final10101-predicted_OBP: 0.4030 -> 0.3818 (deboost -0.0212, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "672695",
  "player_name": "Geraldo Perdomo",
  "position": "SS",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.14,
        "predicted_3B": 0.047,
        "predicted_AB": 3.61,
        "predicted_AVG": 0.286,
        "predicted_BB": 0.597,
        "predicted_H": 1.03,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.37,
        "predicted_R": 0.473,
        "predicted_RBI": 0.38,
        "predicted_SLG": 0.36,
        "predicted_SO": 0.535
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1343,
        "predicted_3B": 0.0383,
        "predicted_AB": 3.603,
        "predicted_AVG": 0.2805,
        "predicted_BB": 0.557,
        "predicted_H": 1.0096,
        "predicted_HBP": 0.019,
        "predicted_HR": 0.0539,
        "predicted_OBP": 0.3666,
        "predicted_R": 0.4117,
        "predicted_RBI": 0.3796,
        "predicted_SLG": 0.361,
        "predicted_SO": 0.5359
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.14,
          "after": 0.1343,
          "delta": -0.0057,
          "percent_delta": -0.0407,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.047,
          "after": 0.0383,
          "delta": -0.0087,
          "percent_delta": -0.1851,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.61,
          "after": 3.603,
          "delta": -0.007,
          "percent_delta": -0.0019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.286,
          "after": 0.2805,
          "delta": -0.0055,
          "percent_delta": -0.0192,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.597,
          "after": 0.557,
          "delta": -0.04,
          "percent_delta": -0.067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.03,
          "after": 1.0096,
          "delta": -0.0204,
          "percent_delta": -0.0198,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.0539,
          "delta": -0.0061,
          "percent_delta": -0.1017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.37,
          "after": 0.3666,
          "delta": -0.0034,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.473,
          "after": 0.4117,
          "delta": -0.0613,
          "percent_delta": -0.1296,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.38,
          "after": 0.3796,
          "delta": -0.0004,
          "percent_delta": -0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.36,
          "after": 0.361,
          "delta": 0.001,
          "percent_delta": 0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.535,
          "after": 0.5359,
          "delta": 0.0009,
          "percent_delta": 0.0017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.473,
          "after": 0.4117,
          "delta": -0.0613,
          "percent_delta": -0.1296,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 129
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1343,
        "predicted_3B": 0.0383,
        "predicted_AB": 3.603,
        "predicted_AVG": 0.2855,
        "predicted_BB": 0.5613,
        "predicted_H": 1.0286,
        "predicted_HBP": 0.019,
        "predicted_HR": 0.0548,
        "predicted_OBP": 0.3818,
        "predicted_R": 0.4258,
        "predicted_RBI": 0.3926,
        "predicted_SLG": 0.3896,
        "predicted_SO": 0.5318
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1343,
          "after": 0.1343,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0383,
          "after": 0.0383,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.603,
          "after": 3.603,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2805,
          "after": 0.2855,
          "delta": 0.005,
          "percent_delta": 0.0178,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.557,
          "after": 0.5613,
          "delta": 0.0043,
          "percent_delta": 0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0096,
          "after": 1.0286,
          "delta": 0.019,
          "percent_delta": 0.0188,
          "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.0539,
          "after": 0.0548,
          "delta": 0.0009,
          "percent_delta": 0.0167,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3666,
          "after": 0.3818,
          "delta": 0.0152,
          "percent_delta": 0.0415,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4117,
          "after": 0.4258,
          "delta": 0.0141,
          "percent_delta": 0.0342,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3796,
          "after": 0.3926,
          "delta": 0.013,
          "percent_delta": 0.0342,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.361,
          "after": 0.3896,
          "delta": 0.0286,
          "percent_delta": 0.0792,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5359,
          "after": 0.5318,
          "delta": -0.0041,
          "percent_delta": -0.0077,
          "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.361,
          "after": 0.3896,
          "delta": 0.0286,
          "percent_delta": 0.0792,
          "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.61), rates preserved: AVG=0.285 HR/AB=0.015",
      "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.1343,
          "after": 0.0,
          "delta": -0.1343,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0383,
          "after": 0.0,
          "delta": -0.0383,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.603,
          "after": 4.0,
          "delta": 0.397,
          "percent_delta": 0.1102,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5613,
          "after": 1.0,
          "delta": 0.4387,
          "percent_delta": 0.7816,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0286,
          "after": 1.0,
          "delta": -0.0286,
          "percent_delta": -0.0278,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.019,
          "after": 0.0,
          "delta": -0.019,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0548,
          "after": 0.0,
          "delta": -0.0548,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3926,
          "after": 0.0,
          "delta": -0.3926,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5318,
          "after": 1.0,
          "delta": 0.4682,
          "percent_delta": 0.8804,
          "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.5318,
          "after": 1.0,
          "delta": 0.4682,
          "percent_delta": 0.8804,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3926,
          "after": 0.0,
          "delta": -0.3926,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.333)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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.9077,
        "bvp": 0.0923
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4258,
          "after": 0.0,
          "delta": -0.4258,
          "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.4258,
          "after": 0.0,
          "delta": -0.4258,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "embedded_savant_player_context",
      "description": "Player 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.289,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.403,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.389,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2855,
          "after": 0.289,
          "delta": 0.0035,
          "percent_delta": 0.0123,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3818,
          "after": 0.403,
          "delta": 0.0212,
          "percent_delta": 0.0555,
          "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.3896,
          "after": 0.389,
          "delta": -0.0006,
          "percent_delta": -0.0015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 1.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 5,
        "deboosted_metrics": 2,
        "better_metrics": 6,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 1.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2855,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3818,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3896,
        "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": 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.289,
          "after": 0.2855,
          "delta": -0.0035,
          "percent_delta": -0.0122,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.403,
          "after": 0.3818,
          "delta": -0.0212,
          "percent_delta": -0.0526,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.389,
          "after": 0.3896,
          "delta": 0.0006,
          "percent_delta": 0.0016,
          "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_OBP",
          "before": 0.403,
          "after": 0.3818,
          "delta": -0.0212,
          "percent_delta": -0.0526,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.14,
        "after": 1.0,
        "delta": 0.86,
        "percent_delta": 6.1429,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.047,
        "after": 1.0,
        "delta": 0.953,
        "percent_delta": 20.2766,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.61,
        "after": 4.0,
        "delta": 0.39,
        "percent_delta": 0.108,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.286,
        "after": 0.2855,
        "delta": -0.0005,
        "percent_delta": -0.0017,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.597,
        "after": 0.0,
        "delta": -0.597,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.03,
        "after": 2.0,
        "delta": 0.97,
        "percent_delta": 0.9417,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 0.0,
        "delta": -0.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.37,
        "after": 0.3818,
        "delta": 0.0118,
        "percent_delta": 0.0319,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.473,
        "after": 1.0,
        "delta": 0.527,
        "percent_delta": 1.1142,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.38,
        "after": 2.0,
        "delta": 1.62,
        "percent_delta": 4.2632,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.36,
        "after": 0.3896,
        "delta": 0.0296,
        "percent_delta": 0.0822,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.535,
        "after": 0.0,
        "delta": -0.535,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 8,
      "deboosted_metrics": 3,
      "better_metrics": 9,
      "worse_metrics": 2,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.38,
        "after": 2.0,
        "delta": 1.62,
        "percent_delta": 4.2632,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.597,
        "after": 0.0,
        "delta": -0.597,
        "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.140-
predicted_3B0.047-
predicted_AB3.610-
predicted_AVG0.286-
predicted_BB0.597-
predicted_H1.030-
predicted_HR0.060-
predicted_OBP0.370-
predicted_R0.473-
predicted_RBI0.380-
predicted_SLG0.360-
predicted_SO0.535-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.134-0.006
predicted_3B0.038-0.009
predicted_AB3.603-0.007
predicted_AVG0.281-0.005
predicted_BB0.557-0.040
predicted_H1.010-0.020
predicted_HBP0.019-
predicted_HR0.054-0.006
predicted_OBP0.367-0.003
predicted_R0.412-0.061
predicted_RBI0.380-0.000
predicted_SLG0.3610.001
predicted_SO0.5360.001
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1340.000
predicted_3B0.0380.000
predicted_AB3.6030.000
predicted_AVG0.2850.005
predicted_BB0.5610.004
predicted_H1.0290.019
predicted_HBP0.0190.000
predicted_HR0.0550.001
predicted_OBP0.3820.015
predicted_R0.4260.014
predicted_RBI0.3930.013
predicted_SLG0.3900.029
predicted_SO0.532-0.004
4. ab_floor_and_scaling

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

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

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
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.000
SO0.000-1.000
8. embedded_savant_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.038
predicted_AB4.0000.397
predicted_AVG0.2890.004
predicted_BB1.0000.439
predicted_H1.000-0.029
predicted_HR0.000-0.055
predicted_OBP0.4030.021
predicted_R0.000-0.426
predicted_RBI0.000-0.393
predicted_SLG0.389-0.001
predicted_SO1.0000.468
9. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B1.0001.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.000
RBI2.0002.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: 129
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0006.0000.0000.0000.0002.0000.0002.0002.0000.33330.40000.33330.33330.00000.11110.11110.1111
last_100.2010-35.00010.0002.0000.0000.0004.0002.0004.0006.0000.28570.35000.34290.28570.00000.11430.11430.1714
season0.60129-465.000117.00018.0006.0009.00046.00061.00077.00069.0000.25160.35870.37420.25160.01930.09890.16560.1484
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1270
predicted_3B0.0270
predicted_AB3.5940
predicted_AVG0.2734
predicted_BB0.5050
predicted_H0.9830
predicted_HBP0.0190
predicted_HR0.0460
predicted_OBP0.3621
predicted_R0.3320
predicted_RBI0.3790
predicted_SLG0.3622
predicted_SO0.5370
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14000.12700.1343model_form_blend
predicted_3B0.04700.02700.0383model_form_blend
predicted_AB3.61003.59403.6030model_form_blend
predicted_AVG0.28600.27340.2805model_form_blend
predicted_BB0.59700.50500.5570model_form_blend
predicted_H1.03000.98301.0096model_form_blend
predicted_HBP-0.01900.0190form_only
predicted_HR0.06000.04600.0539model_form_blend
predicted_OBP0.37000.36210.3666model_form_blend
predicted_R0.47300.33200.4117model_form_blend
predicted_RBI0.38000.37900.3796model_form_blend
predicted_SLG0.36000.36220.3610model_form_blend
predicted_SO0.53500.53700.5359model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.667
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260826_CHC@ARI
game_typefull
mlbID672695
playerID672695
playerNameGeraldo Perdomo
posSS
startedTrue
startingPositionSS
teamARI
teamID1
game_date2026-08-26
sl_k_percent12.4
sl_bb_percent14.0
sl_woba0.332
sl_xwoba0.33
sl_xba0.259
sl_xslg0.35
sl_sweet_spot_percent35.7
sl_barrel_batted_rate2.9
sl_hard_hit_percent30.8
sl_exit_velocity_avg87.5
sl_launch_angle_avg14.1
sl_whiff_percent12.1
sl_swing_percent38.8
Max Kepler (596146) · BATTER · LF · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 127
All-history rows before 20260827: 127
System season_avg: 0.2120
Data season_avg (2026 season-to-date): 0.2423
Diff (system - data): -0.0303
System opponent_avg: 0.4850
System season_avg diverges from 2026 season-to-date by -0.0303. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1940.0000.000Hitting_2B0.2600.000-0.2600.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.3604.0003.000Hitting_AB3.5754.0000.4250.000
predicted_AVG0.2200.0000.333Hitting_AVG0.2420.000-0.2420.000
predicted_BB0.3060.0000.000Hitting_BB0.3860.000-0.3860.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7400.0001.000Hitting_H0.8660.000-0.8660.000
predicted_HR0.0600.0000.000Hitting_HR0.0710.000-0.0710.000
predicted_OBP0.2640.0000.333Hitting_OBP0.3100.000-0.3100.000
predicted_R0.2500.0000.000Hitting_R0.3310.000-0.3310.000
predicted_RBI0.3200.0000.000Hitting_RBI0.5200.000-0.5200.000
predicted_SLG0.3000.0000.333Hitting_SLG0.3740.000-0.3740.000
predicted_SO0.8060.0001.000Hitting_SO0.8741.000-0.874-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics3
Deboosted Metrics7
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_AB: 3.3600 -> 4.0000 (boost 0.6400, better)
Biggest Deboostpredicted_SO: 0.8060 -> 0.0000 (deboost -0.8060, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend22020predicted_AB: 3.3600 -> 3.4268 (boost 0.0668, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot22020predicted_SLG: 0.3057 -> 0.3295 (boost 0.0238, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_H: 0.7660 -> 1.0000 (boost 0.2340, better)predicted_AB: 3.4268 -> 3.0000 (deboost -0.4268, worse)AB rounded to 3 (raw=3.43), rates preserved: AVG=0.224 HR/AB=0.017
5bvp_blend00000--Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.667)
6consistency_constraints10101-predicted_R: 0.2638 -> 0.0000 (deboost -0.2638, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context33030predicted_SLG: 0.3295 -> 0.3630 (boost 0.0335, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_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
10current_json_final30303-predicted_SLG: 0.3630 -> 0.3295 (deboost -0.0335, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "596146",
  "player_name": "Max Kepler",
  "position": "LF",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.194,
        "predicted_3B": 0.0,
        "predicted_AB": 3.36,
        "predicted_AVG": 0.22,
        "predicted_BB": 0.306,
        "predicted_H": 0.74,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.264,
        "predicted_R": 0.25,
        "predicted_RBI": 0.32,
        "predicted_SLG": 0.3,
        "predicted_SO": 0.806
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1877,
        "predicted_3B": 0.0012,
        "predicted_AB": 3.4268,
        "predicted_AVG": 0.2193,
        "predicted_BB": 0.2973,
        "predicted_H": 0.7519,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.0568,
        "predicted_OBP": 0.2688,
        "predicted_R": 0.2551,
        "predicted_RBI": 0.3129,
        "predicted_SLG": 0.3057,
        "predicted_SO": 0.823
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.194,
          "after": 0.1877,
          "delta": -0.0063,
          "percent_delta": -0.0325,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0012,
          "delta": 0.0012,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.36,
          "after": 3.4268,
          "delta": 0.0668,
          "percent_delta": 0.0199,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.22,
          "after": 0.2193,
          "delta": -0.0007,
          "percent_delta": -0.0032,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.306,
          "after": 0.2973,
          "delta": -0.0087,
          "percent_delta": -0.0284,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.74,
          "after": 0.7519,
          "delta": 0.0119,
          "percent_delta": 0.0161,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.0568,
          "delta": -0.0032,
          "percent_delta": -0.0533,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.264,
          "after": 0.2688,
          "delta": 0.0048,
          "percent_delta": 0.0182,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.25,
          "after": 0.2551,
          "delta": 0.0051,
          "percent_delta": 0.0204,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.32,
          "after": 0.3129,
          "delta": -0.0071,
          "percent_delta": -0.0222,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3,
          "after": 0.3057,
          "delta": 0.0057,
          "percent_delta": 0.019,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.806,
          "after": 0.823,
          "delta": 0.017,
          "percent_delta": 0.0211,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.36,
          "after": 3.4268,
          "delta": 0.0668,
          "percent_delta": 0.0199,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 36
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1877,
        "predicted_3B": 0.0012,
        "predicted_AB": 3.4268,
        "predicted_AVG": 0.2235,
        "predicted_BB": 0.2996,
        "predicted_H": 0.766,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.0577,
        "predicted_OBP": 0.286,
        "predicted_R": 0.2638,
        "predicted_RBI": 0.3236,
        "predicted_SLG": 0.3295,
        "predicted_SO": 0.8167
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1877,
          "after": 0.1877,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0012,
          "after": 0.0012,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4268,
          "after": 3.4268,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2193,
          "after": 0.2235,
          "delta": 0.0042,
          "percent_delta": 0.0192,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2973,
          "after": 0.2996,
          "delta": 0.0023,
          "percent_delta": 0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7519,
          "after": 0.766,
          "delta": 0.0141,
          "percent_delta": 0.0188,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.006,
          "after": 0.006,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0568,
          "after": 0.0577,
          "delta": 0.0009,
          "percent_delta": 0.0158,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2688,
          "after": 0.286,
          "delta": 0.0172,
          "percent_delta": 0.064,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2551,
          "after": 0.2638,
          "delta": 0.0087,
          "percent_delta": 0.0341,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3129,
          "after": 0.3236,
          "delta": 0.0107,
          "percent_delta": 0.0342,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3057,
          "after": 0.3295,
          "delta": 0.0238,
          "percent_delta": 0.0779,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.823,
          "after": 0.8167,
          "delta": -0.0063,
          "percent_delta": -0.0077,
          "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.3057,
          "after": 0.3295,
          "delta": 0.0238,
          "percent_delta": 0.0779,
          "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.43), rates preserved: AVG=0.224 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.1877,
          "after": 0.0,
          "delta": -0.1877,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0012,
          "after": 0.0,
          "delta": -0.0012,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4268,
          "after": 3.0,
          "delta": -0.4268,
          "percent_delta": -0.1245,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2996,
          "after": 0.0,
          "delta": -0.2996,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.766,
          "after": 1.0,
          "delta": 0.234,
          "percent_delta": 0.3055,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.006,
          "after": 0.0,
          "delta": -0.006,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0577,
          "after": 0.0,
          "delta": -0.0577,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3236,
          "after": 0.0,
          "delta": -0.3236,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8167,
          "after": 1.0,
          "delta": 0.1833,
          "percent_delta": 0.2244,
          "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.766,
          "after": 1.0,
          "delta": 0.234,
          "percent_delta": 0.3055,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.4268,
          "after": 3.0,
          "delta": -0.4268,
          "percent_delta": -0.1245,
          "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.667)",
      "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.2638,
          "after": 0.0,
          "delta": -0.2638,
          "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.2638,
          "after": 0.0,
          "delta": -0.2638,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "embedded_savant_player_context",
      "description": "Player 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.253,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.315,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.363,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2235,
          "after": 0.253,
          "delta": 0.0295,
          "percent_delta": 0.132,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.315,
          "delta": 0.029,
          "percent_delta": 0.1014,
          "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.3295,
          "after": 0.363,
          "delta": 0.0335,
          "percent_delta": 0.1017,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3295,
          "after": 0.363,
          "delta": 0.0335,
          "percent_delta": 0.1017,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "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": 10,
      "step": "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.2235,
        "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.286,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3295,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.253,
          "after": 0.2235,
          "delta": -0.0295,
          "percent_delta": -0.1164,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.315,
          "after": 0.286,
          "delta": -0.029,
          "percent_delta": -0.0922,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.363,
          "after": 0.3295,
          "delta": -0.0335,
          "percent_delta": -0.0922,
          "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.363,
          "after": 0.3295,
          "delta": -0.0335,
          "percent_delta": -0.0922,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.194,
        "after": 0.0,
        "delta": -0.194,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.36,
        "after": 4.0,
        "delta": 0.64,
        "percent_delta": 0.1905,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.22,
        "after": 0.2235,
        "delta": 0.0035,
        "percent_delta": 0.0159,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.306,
        "after": 0.0,
        "delta": -0.306,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.74,
        "after": 0.0,
        "delta": -0.74,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 0.0,
        "delta": -0.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.264,
        "after": 0.286,
        "delta": 0.022,
        "percent_delta": 0.0833,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.25,
        "after": 0.0,
        "delta": -0.25,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.32,
        "after": 0.0,
        "delta": -0.32,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.3,
        "after": 0.3295,
        "delta": 0.0295,
        "percent_delta": 0.0983,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.806,
        "after": 0.0,
        "delta": -0.806,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 4,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.36,
        "after": 4.0,
        "delta": 0.64,
        "percent_delta": 0.1905,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.806,
        "after": 0.0,
        "delta": -0.806,
        "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.194-
predicted_3B0.000-
predicted_AB3.360-
predicted_AVG0.220-
predicted_BB0.306-
predicted_H0.740-
predicted_HR0.060-
predicted_OBP0.264-
predicted_R0.250-
predicted_RBI0.320-
predicted_SLG0.300-
predicted_SO0.806-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.188-0.006
predicted_3B0.0010.001
predicted_AB3.4270.067
predicted_AVG0.219-0.001
predicted_BB0.297-0.009
predicted_H0.7520.012
predicted_HBP0.006-
predicted_HR0.057-0.003
predicted_OBP0.2690.005
predicted_R0.2550.005
predicted_RBI0.313-0.007
predicted_SLG0.3060.006
predicted_SO0.8230.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.1880.000
predicted_3B0.0010.000
predicted_AB3.4270.000
predicted_AVG0.2240.004
predicted_BB0.3000.002
predicted_H0.7660.014
predicted_HBP0.0060.000
predicted_HR0.0580.001
predicted_OBP0.2860.017
predicted_R0.2640.009
predicted_RBI0.3240.011
predicted_SLG0.3300.024
predicted_SO0.817-0.006
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.43), rates preserved: AVG=0.224 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. bvp_blend

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.000
SO1.0000.000
8. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.188
predicted_3B0.000-0.001
predicted_AB3.000-0.427
predicted_AVG0.2530.029
predicted_BB0.000-0.300
predicted_H1.0000.234
predicted_HR0.000-0.058
predicted_OBP0.3150.029
predicted_R0.000-0.264
predicted_RBI0.000-0.324
predicted_SLG0.3630.033
predicted_SO1.0000.183
9. 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: 36
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0005.0001.0000.0000.0000.0001.0001.0004.0000.25000.28570.30000.25000.00000.00000.05000.2000
last_100.2010-35.0006.0001.0000.0000.0000.0001.0003.00010.0000.17140.23680.20000.17140.00000.00000.08570.2857
season0.6036-118.00025.0007.0000.0002.00015.0009.00011.00029.0000.21190.27480.32200.21190.01690.12710.09320.2458
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1780
predicted_3B0.0030
predicted_AB3.5290
predicted_AVG0.2182
predicted_BB0.2840
predicted_H0.7700
predicted_HBP0.0060
predicted_HR0.0520
predicted_OBP0.2761
predicted_R0.2630
predicted_RBI0.3020
predicted_SLG0.3145
predicted_SO0.8490
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19400.17800.1877model_form_blend
predicted_3B0.00000.00300.0012model_form_blend
predicted_AB3.36003.52903.4268model_form_blend
predicted_AVG0.22000.21820.2193model_form_blend
predicted_BB0.30600.28400.2973model_form_blend
predicted_H0.74000.77000.7519model_form_blend
predicted_HBP-0.00600.0060form_only
predicted_HR0.06000.05200.0568model_form_blend
predicted_OBP0.26400.27610.2688model_form_blend
predicted_R0.25000.26300.2551model_form_blend
predicted_RBI0.32000.30200.3129model_form_blend
predicted_SLG0.30000.31450.3057model_form_blend
predicted_SO0.80600.84900.8230model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260825_CHC@ARI
game_typefull
mlbID596146
playerID596146
playerNameMax Kepler
posLF
startedTrue
startingPositionLF
teamARI
teamID1
game_date2026-08-25
sl_k_percent21.6
sl_bb_percent7.9
sl_woba0.261
sl_xwoba0.277
sl_xba0.215
sl_xslg0.346
sl_sweet_spot_percent33.7
sl_barrel_batted_rate8.2
sl_hard_hit_percent40.8
sl_exit_velocity_avg89.1
sl_launch_angle_avg18.2
sl_whiff_percent25.1
sl_swing_percent52.9
Ildemaro Vargas (545121) · BATTER · 2B · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 402
All-history rows before 20260827: 402
System season_avg: 0.2560
Data season_avg (2026 season-to-date): 0.2745
Diff (system - data): -0.0185
System opponent_avg: 0.3540
System season_avg diverges from 2026 season-to-date by -0.0185. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1640.0000.000Hitting_2B0.1840.000-0.1840.000
predicted_3B0.0450.0000.000Hitting_3B0.0450.000-0.0450.000
predicted_AB3.5092.0004.000Hitting_AB3.7794.000-1.779-2.000
predicted_AVG0.2560.5000.250Hitting_AVG0.2750.0000.2250.500
predicted_BB0.2001.0000.000Hitting_BB0.2190.0000.7811.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9001.0001.000Hitting_H1.0370.000-0.0371.000
predicted_HR0.0821.0000.000Hitting_HR0.0970.0000.9031.000
predicted_OBP0.2970.7500.250Hitting_OBP0.3150.0000.4350.750
predicted_R0.4641.0001.000Hitting_R0.5470.0000.4531.000
predicted_RBI0.5731.0001.000Hitting_RBI0.6490.0000.3511.000
predicted_SB-0.0000.000BaseRunning_SB0.0300.000-0.0300.000
predicted_SLG0.3992.0000.250Hitting_SLG0.4240.0001.5762.000
predicted_SO0.3730.0000.000Hitting_SO0.4151.000-0.415-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics6
Worse Metrics5
Biggest Boostpredicted_HR: 0.0820 -> 1.0000 (boost 0.9180, better)
Biggest Deboostpredicted_AB: 3.5090 -> 2.0000 (deboost -1.5090, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend30303-predicted_OBP: 0.2970 -> 0.2808 (deboost -0.0162, worse)Final model input calibrated 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.3880 -> 0.3933 (boost 0.0053, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling83544predicted_AB: 3.5404 -> 4.0000 (boost 0.4596, better)predicted_SO: 0.4111 -> 0.0000 (deboost -0.4111, better)AB rounded to 4 (raw=3.54), rates preserved: AVG=0.246 HR/AB=0.022
5consistency_constraints10101-predicted_R: 0.4786 -> 0.0000 (deboost -0.4786, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context21111predicted_OBP: 0.2853 -> 0.2910 (boost 0.0057, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference54141predicted_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_final10101-predicted_OBP: 0.2910 -> 0.2853 (deboost -0.0057, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "545121",
  "player_name": "Ildemaro Vargas",
  "position": "2B",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.164,
        "predicted_3B": 0.045,
        "predicted_AB": 3.509,
        "predicted_AVG": 0.256,
        "predicted_BB": 0.2,
        "predicted_H": 0.9,
        "predicted_HR": 0.082,
        "predicted_OBP": 0.297,
        "predicted_R": 0.464,
        "predicted_RBI": 0.573,
        "predicted_SLG": 0.399,
        "predicted_SO": 0.373
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1623,
        "predicted_3B": 0.0609,
        "predicted_AB": 3.5404,
        "predicted_AVG": 0.2412,
        "predicted_BB": 0.194,
        "predicted_H": 0.8544,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.0781,
        "predicted_OBP": 0.2808,
        "predicted_R": 0.4627,
        "predicted_RBI": 0.5433,
        "predicted_SLG": 0.388,
        "predicted_SO": 0.4143
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.164,
          "after": 0.1623,
          "delta": -0.0017,
          "percent_delta": -0.0104,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.045,
          "after": 0.0609,
          "delta": 0.0159,
          "percent_delta": 0.3533,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.509,
          "after": 3.5404,
          "delta": 0.0314,
          "percent_delta": 0.0089,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.256,
          "after": 0.2412,
          "delta": -0.0148,
          "percent_delta": -0.0578,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2,
          "after": 0.194,
          "delta": -0.006,
          "percent_delta": -0.03,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9,
          "after": 0.8544,
          "delta": -0.0456,
          "percent_delta": -0.0507,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.082,
          "after": 0.0781,
          "delta": -0.0039,
          "percent_delta": -0.0476,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.297,
          "after": 0.2808,
          "delta": -0.0162,
          "percent_delta": -0.0545,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.464,
          "after": 0.4627,
          "delta": -0.0013,
          "percent_delta": -0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.573,
          "after": 0.5433,
          "delta": -0.0297,
          "percent_delta": -0.0518,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.399,
          "after": 0.388,
          "delta": -0.011,
          "percent_delta": -0.0276,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.373,
          "after": 0.4143,
          "delta": 0.0413,
          "percent_delta": 0.1107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.297,
          "after": 0.2808,
          "delta": -0.0162,
          "percent_delta": -0.0545,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 110
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1623,
        "predicted_3B": 0.0609,
        "predicted_AB": 3.5404,
        "predicted_AVG": 0.2459,
        "predicted_BB": 0.1955,
        "predicted_H": 0.8705,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.0793,
        "predicted_OBP": 0.2853,
        "predicted_R": 0.4786,
        "predicted_RBI": 0.5619,
        "predicted_SLG": 0.3933,
        "predicted_SO": 0.4111
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1623,
          "after": 0.1623,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0609,
          "after": 0.0609,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5404,
          "after": 3.5404,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2412,
          "after": 0.2459,
          "delta": 0.0047,
          "percent_delta": 0.0195,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.194,
          "after": 0.1955,
          "delta": 0.0015,
          "percent_delta": 0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8544,
          "after": 0.8705,
          "delta": 0.0161,
          "percent_delta": 0.0188,
          "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.0781,
          "after": 0.0793,
          "delta": 0.0012,
          "percent_delta": 0.0154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2808,
          "after": 0.2853,
          "delta": 0.0045,
          "percent_delta": 0.016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4627,
          "after": 0.4786,
          "delta": 0.0159,
          "percent_delta": 0.0344,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5433,
          "after": 0.5619,
          "delta": 0.0186,
          "percent_delta": 0.0342,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.388,
          "after": 0.3933,
          "delta": 0.0053,
          "percent_delta": 0.0137,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4143,
          "after": 0.4111,
          "delta": -0.0032,
          "percent_delta": -0.0077,
          "direction": "no_change",
          "projection_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.388,
          "after": 0.3933,
          "delta": 0.0053,
          "percent_delta": 0.0137,
          "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.54), rates preserved: AVG=0.246 HR/AB=0.022",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1623,
          "after": 0.0,
          "delta": -0.1623,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0609,
          "after": 0.0,
          "delta": -0.0609,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.5404,
          "after": 4.0,
          "delta": 0.4596,
          "percent_delta": 0.1298,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1955,
          "after": 0.0,
          "delta": -0.1955,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8705,
          "after": 1.0,
          "delta": 0.1295,
          "percent_delta": 0.1488,
          "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.0793,
          "after": 0.0,
          "delta": -0.0793,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5619,
          "after": 1.0,
          "delta": 0.4381,
          "percent_delta": 0.7797,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4111,
          "after": 0.0,
          "delta": -0.4111,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 4,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.5404,
          "after": 4.0,
          "delta": 0.4596,
          "percent_delta": 0.1298,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.4111,
          "after": 0.0,
          "delta": -0.4111,
          "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.4786,
          "after": 0.0,
          "delta": -0.4786,
          "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.4786,
          "after": 0.0,
          "delta": -0.4786,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "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.246,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.291,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.393,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2459,
          "after": 0.246,
          "delta": 0.0001,
          "percent_delta": 0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2853,
          "after": 0.291,
          "delta": 0.0057,
          "percent_delta": 0.02,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3933,
          "after": 0.393,
          "delta": -0.0003,
          "percent_delta": -0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2853,
          "after": 0.291,
          "delta": 0.0057,
          "percent_delta": 0.02,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "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": 1.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 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": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 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.2459,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.2853,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3933,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.246,
          "after": 0.2459,
          "delta": -0.0001,
          "percent_delta": -0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.291,
          "after": 0.2853,
          "delta": -0.0057,
          "percent_delta": -0.0195,
          "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.393,
          "after": 0.3933,
          "delta": 0.0003,
          "percent_delta": 0.0009,
          "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_OBP",
          "before": 0.291,
          "after": 0.2853,
          "delta": -0.0057,
          "percent_delta": -0.0195,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.164,
        "after": 0.0,
        "delta": -0.164,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.045,
        "after": 0.0,
        "delta": -0.045,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.509,
        "after": 2.0,
        "delta": -1.509,
        "percent_delta": -0.43,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.256,
        "after": 0.2459,
        "delta": -0.0101,
        "percent_delta": -0.0395,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.2,
        "after": 1.0,
        "delta": 0.8,
        "percent_delta": 4.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.9,
        "after": 1.0,
        "delta": 0.1,
        "percent_delta": 0.1111,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.082,
        "after": 1.0,
        "delta": 0.918,
        "percent_delta": 11.1951,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.297,
        "after": 0.2853,
        "delta": -0.0117,
        "percent_delta": -0.0394,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.464,
        "after": 1.0,
        "delta": 0.536,
        "percent_delta": 1.1552,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.573,
        "after": 1.0,
        "delta": 0.427,
        "percent_delta": 0.7452,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.399,
        "after": 0.3933,
        "delta": -0.0057,
        "percent_delta": -0.0143,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.373,
        "after": 0.0,
        "delta": -0.373,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 6,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_HR",
        "before": 0.082,
        "after": 1.0,
        "delta": 0.918,
        "percent_delta": 11.1951,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.509,
        "after": 2.0,
        "delta": -1.509,
        "percent_delta": -0.43,
        "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.164-
predicted_3B0.045-
predicted_AB3.509-
predicted_AVG0.256-
predicted_BB0.200-
predicted_H0.900-
predicted_HR0.082-
predicted_OBP0.297-
predicted_R0.464-
predicted_RBI0.573-
predicted_SLG0.399-
predicted_SO0.373-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.162-0.002
predicted_3B0.0610.016
predicted_AB3.5400.031
predicted_AVG0.241-0.015
predicted_BB0.194-0.006
predicted_H0.854-0.046
predicted_HBP0.007-
predicted_HR0.078-0.004
predicted_OBP0.281-0.016
predicted_R0.463-0.001
predicted_RBI0.543-0.030
predicted_SLG0.388-0.011
predicted_SO0.4140.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.1620.000
predicted_3B0.0610.000
predicted_AB3.5400.000
predicted_AVG0.2460.005
predicted_BB0.1960.002
predicted_H0.8710.016
predicted_HBP0.0070.000
predicted_HR0.0790.001
predicted_OBP0.2850.005
predicted_R0.4790.016
predicted_RBI0.5620.019
predicted_SLG0.3930.005
predicted_SO0.411-0.003
4. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0001.000
RBI1.0000.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.162
predicted_3B0.000-0.061
predicted_AB4.0000.460
predicted_AVG0.2460.000
predicted_BB0.000-0.196
predicted_H1.0000.129
predicted_HR0.000-0.079
predicted_OBP0.2910.006
predicted_R0.000-0.479
predicted_RBI1.0000.438
predicted_SLG0.393-0.000
predicted_SO0.000-0.411
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
H1.0000.000
HBP1.0001.000
HR1.0001.000
PA4.000-
R1.0000.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: 110
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0003.0001.0001.0000.0002.0002.0001.0003.0000.16670.21050.33330.16670.00000.11110.05560.1667
last_100.2010-37.0006.0001.0001.0001.0004.0005.0001.0005.0000.16220.17950.32430.16220.02700.10810.02700.1351
season0.60110-386.00099.00018.0005.0009.00063.00051.00022.00041.0000.25650.29680.39900.25650.02330.16320.05700.1062
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1600
predicted_3B0.0820
predicted_AB3.5820
predicted_AVG0.2216
predicted_BB0.1860
predicted_H0.7940
predicted_HBP0.0070
predicted_HR0.0730
predicted_OBP0.2594
predicted_R0.4610
predicted_RBI0.5040
predicted_SLG0.3734
predicted_SO0.4690
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16400.16000.1623model_form_blend
predicted_3B0.04500.08200.0609model_form_blend
predicted_AB3.50903.58203.5404model_form_blend
predicted_AVG0.25600.22160.2412model_form_blend
predicted_BB0.20000.18600.1940model_form_blend
predicted_H0.90000.79400.8544model_form_blend
predicted_HBP-0.00700.0070form_only
predicted_HR0.08200.07300.0781model_form_blend
predicted_OBP0.29700.25940.2808model_form_blend
predicted_R0.46400.46100.4627model_form_blend
predicted_RBI0.57300.50400.5433model_form_blend
predicted_SLG0.39900.37340.3880model_form_blend
predicted_SO0.37300.46900.4143model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB2
H1
2B0
3B0
HR1
R1
RBI1
BB1
SO0
SF0
HBP1
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP1
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260826_CHC@ARI
game_typefull
mlbID545121
playerID545121
playerNameIldemaro Vargas
pos1B
startedTrue
startingPosition2B
teamARI
teamID1
game_date2026-08-26
sl_k_percent10.1
sl_bb_percent5.3
sl_woba0.297
sl_xwoba0.301
sl_xba0.274
sl_xslg0.372
sl_sweet_spot_percent30.6
sl_barrel_batted_rate3.3
sl_hard_hit_percent35.6
sl_exit_velocity_avg87.4
sl_launch_angle_avg10.4
sl_whiff_percent15.1
sl_swing_percent50.7
Gabriel Moreno (672515) · BATTER · C · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 422
All-history rows before 20260827: 422
System season_avg: 0.3030
Data season_avg (2026 season-to-date): 0.3097
Diff (system - data): -0.0067
System opponent_avg: 0.3210

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2690.0001.000Hitting_2B0.2801.000-0.280-1.000
predicted_3B0.0100.0000.000Hitting_3B0.0120.000-0.0120.000
predicted_AB4.0203.0004.000Hitting_AB3.7493.000-0.7490.000
predicted_AVG0.2690.0000.250Hitting_AVG0.3100.333-0.310-0.333
predicted_BB0.4711.0001.000Hitting_BB0.5021.0000.4980.000
predicted_CS-0.0000.000BaseRunning_CS0.0090.000-0.0090.000
predicted_H1.0800.0001.000Hitting_H1.1611.000-1.161-1.000
predicted_HR0.1200.0000.000Hitting_HR0.1070.000-0.1070.000
predicted_OBP0.3670.2500.400Hitting_OBP0.3890.500-0.139-0.250
predicted_R0.5380.0001.000Hitting_R0.5921.000-0.592-1.000
predicted_RBI0.7900.0001.000Hitting_RBI0.6871.000-0.687-1.000
predicted_SLG0.4510.0000.500Hitting_SLG0.4760.667-0.476-0.667
predicted_SO0.6250.0001.000Hitting_SO0.6590.000-0.6590.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics2
Deboosted Metrics8
Better Metrics3
Worse Metrics7
Biggest Boostpredicted_BB: 0.4710 -> 1.0000 (boost 0.5290, better)
Biggest Deboostpredicted_H: 1.0800 -> 0.0000 (deboost -1.0800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_AVG: 0.2690 -> 0.2751 (boost 0.0061, better)predicted_AB: 4.0200 -> 3.8493 (deboost -0.1707, worse)Final model input calibrated 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.4528 -> 0.4466 (deboost -0.0062, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_SO: 0.5898 -> 1.0000 (boost 0.4102, worse)predicted_BB: 0.4902 -> 0.0000 (deboost -0.4902, worse)AB rounded to 4 (raw=4.02), rates preserved: AVG=0.268 HR/AB=0.028
5bvp_blend11010predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)
6consistency_constraints11010predicted_R: 0.5404 -> 1.0000 (boost 0.4596, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation11010predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context31212predicted_SLG: 0.4466 -> 0.4600 (boost 0.0134, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference50514-predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
10current_json_final21111predicted_AVG: 0.2720 -> 0.2798 (boost 0.0078, better)predicted_SLG: 0.4600 -> 0.4466 (deboost -0.0134, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "672515",
  "player_name": "Gabriel Moreno",
  "position": "C",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.269,
        "predicted_3B": 0.01,
        "predicted_AB": 4.02,
        "predicted_AVG": 0.269,
        "predicted_BB": 0.471,
        "predicted_H": 1.08,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.367,
        "predicted_R": 0.538,
        "predicted_RBI": 0.79,
        "predicted_SLG": 0.451,
        "predicted_SO": 0.625
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2875,
        "predicted_3B": 0.0083,
        "predicted_AB": 3.8493,
        "predicted_AVG": 0.2751,
        "predicted_BB": 0.4865,
        "predicted_H": 1.0571,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.1109,
        "predicted_OBP": 0.3664,
        "predicted_R": 0.5225,
        "predicted_RBI": 0.7508,
        "predicted_SLG": 0.4528,
        "predicted_SO": 0.5944
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.269,
          "after": 0.2875,
          "delta": 0.0185,
          "percent_delta": 0.0688,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.01,
          "after": 0.0083,
          "delta": -0.0017,
          "percent_delta": -0.17,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.02,
          "after": 3.8493,
          "delta": -0.1707,
          "percent_delta": -0.0425,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.269,
          "after": 0.2751,
          "delta": 0.0061,
          "percent_delta": 0.0227,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.471,
          "after": 0.4865,
          "delta": 0.0155,
          "percent_delta": 0.0329,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.08,
          "after": 1.0571,
          "delta": -0.0229,
          "percent_delta": -0.0212,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1109,
          "delta": -0.0091,
          "percent_delta": -0.0758,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.367,
          "after": 0.3664,
          "delta": -0.0006,
          "percent_delta": -0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.538,
          "after": 0.5225,
          "delta": -0.0155,
          "percent_delta": -0.0288,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.79,
          "after": 0.7508,
          "delta": -0.0392,
          "percent_delta": -0.0496,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.451,
          "after": 0.4528,
          "delta": 0.0018,
          "percent_delta": 0.004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.625,
          "after": 0.5944,
          "delta": -0.0306,
          "percent_delta": -0.049,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.269,
          "after": 0.2751,
          "delta": 0.0061,
          "percent_delta": 0.0227,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.02,
          "after": 3.8493,
          "delta": -0.1707,
          "percent_delta": -0.0425,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 104
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2875,
        "predicted_3B": 0.0083,
        "predicted_AB": 3.8493,
        "predicted_AVG": 0.2798,
        "predicted_BB": 0.4902,
        "predicted_H": 1.077,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.1127,
        "predicted_OBP": 0.3611,
        "predicted_R": 0.5404,
        "predicted_RBI": 0.7766,
        "predicted_SLG": 0.4466,
        "predicted_SO": 0.5898
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2875,
          "after": 0.2875,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0083,
          "after": 0.0083,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8493,
          "after": 3.8493,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2751,
          "after": 0.2798,
          "delta": 0.0047,
          "percent_delta": 0.0171,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4865,
          "after": 0.4902,
          "delta": 0.0037,
          "percent_delta": 0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0571,
          "after": 1.077,
          "delta": 0.0199,
          "percent_delta": 0.0188,
          "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.1109,
          "after": 0.1127,
          "delta": 0.0018,
          "percent_delta": 0.0162,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3664,
          "after": 0.3611,
          "delta": -0.0053,
          "percent_delta": -0.0145,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5225,
          "after": 0.5404,
          "delta": 0.0179,
          "percent_delta": 0.0343,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7508,
          "after": 0.7766,
          "delta": 0.0258,
          "percent_delta": 0.0344,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4528,
          "after": 0.4466,
          "delta": -0.0062,
          "percent_delta": -0.0137,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5944,
          "after": 0.5898,
          "delta": -0.0046,
          "percent_delta": -0.0077,
          "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.4528,
          "after": 0.4466,
          "delta": -0.0062,
          "percent_delta": -0.0137,
          "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.268 HR/AB=0.028",
      "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.2875,
          "after": 0.0,
          "delta": -0.2875,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0083,
          "after": 0.0,
          "delta": -0.0083,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8493,
          "after": 4.0,
          "delta": 0.1507,
          "percent_delta": 0.0391,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4902,
          "after": 0.0,
          "delta": -0.4902,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.077,
          "after": 1.0,
          "delta": -0.077,
          "percent_delta": -0.0715,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.024,
          "after": 0.0,
          "delta": -0.024,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1127,
          "after": 0.0,
          "delta": -0.1127,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7766,
          "after": 1.0,
          "delta": 0.2234,
          "percent_delta": 0.2877,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5898,
          "after": 1.0,
          "delta": 0.4102,
          "percent_delta": 0.6955,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.5898,
          "after": 1.0,
          "delta": 0.4102,
          "percent_delta": 0.6955,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4902,
          "after": 0.0,
          "delta": -0.4902,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9333,
        "bvp": 0.0667
      },
      "window_games": {}
    },
    {
      "index": 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.5404,
          "after": 1.0,
          "delta": 0.4596,
          "percent_delta": 0.8505,
          "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.5404,
          "after": 1.0,
          "delta": 0.4596,
          "percent_delta": 0.8505,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.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": 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_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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_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": "embedded_savant_player_context",
      "description": "Player 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.272,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.364,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.46,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2798,
          "after": 0.272,
          "delta": -0.0078,
          "percent_delta": -0.0279,
          "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.3611,
          "after": 0.364,
          "delta": 0.0029,
          "percent_delta": 0.008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 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.4466,
          "after": 0.46,
          "delta": 0.0134,
          "percent_delta": 0.03,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.4466,
          "after": 0.46,
          "delta": 0.0134,
          "percent_delta": 0.03,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "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.2798,
        "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.3611,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4466,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.272,
          "after": 0.2798,
          "delta": 0.0078,
          "percent_delta": 0.0286,
          "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.364,
          "after": 0.3611,
          "delta": -0.0029,
          "percent_delta": -0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.46,
          "after": 0.4466,
          "delta": -0.0134,
          "percent_delta": -0.0291,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.272,
          "after": 0.2798,
          "delta": 0.0078,
          "percent_delta": 0.0286,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.46,
          "after": 0.4466,
          "delta": -0.0134,
          "percent_delta": -0.0291,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.269,
        "after": 0.0,
        "delta": -0.269,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.01,
        "after": 0.0,
        "delta": -0.01,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.02,
        "after": 3.0,
        "delta": -1.02,
        "percent_delta": -0.2537,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.269,
        "after": 0.2798,
        "delta": 0.0108,
        "percent_delta": 0.0401,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.471,
        "after": 1.0,
        "delta": 0.529,
        "percent_delta": 1.1231,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.08,
        "after": 0.0,
        "delta": -1.08,
        "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.367,
        "after": 0.3611,
        "delta": -0.0059,
        "percent_delta": -0.0161,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.538,
        "after": 0.0,
        "delta": -0.538,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.79,
        "after": 0.0,
        "delta": -0.79,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.451,
        "after": 0.4466,
        "delta": -0.0044,
        "percent_delta": -0.0098,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.625,
        "after": 0.0,
        "delta": -0.625,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.471,
        "after": 1.0,
        "delta": 0.529,
        "percent_delta": 1.1231,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.08,
        "after": 0.0,
        "delta": -1.08,
        "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.269-
predicted_3B0.010-
predicted_AB4.020-
predicted_AVG0.269-
predicted_BB0.471-
predicted_H1.080-
predicted_HR0.120-
predicted_OBP0.367-
predicted_R0.538-
predicted_RBI0.790-
predicted_SLG0.451-
predicted_SO0.625-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2870.018
predicted_3B0.008-0.002
predicted_AB3.849-0.171
predicted_AVG0.2750.006
predicted_BB0.4860.016
predicted_H1.057-0.023
predicted_HBP0.024-
predicted_HR0.111-0.009
predicted_OBP0.366-0.001
predicted_R0.522-0.016
predicted_RBI0.751-0.039
predicted_SLG0.4530.002
predicted_SO0.594-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.2870.000
predicted_3B0.0080.000
predicted_AB3.8490.000
predicted_AVG0.2800.005
predicted_BB0.4900.004
predicted_H1.0770.020
predicted_HBP0.0240.000
predicted_HR0.1130.002
predicted_OBP0.361-0.005
predicted_R0.5400.018
predicted_RBI0.7770.026
predicted_SLG0.447-0.006
predicted_SO0.590-0.005
4. ab_floor_and_scaling

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
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. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI1.0000.000
SO1.0000.000
8. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.287
predicted_3B0.000-0.008
predicted_AB4.0000.151
predicted_AVG0.272-0.008
predicted_BB1.0000.510
predicted_H1.000-0.077
predicted_HR0.000-0.113
predicted_OBP0.3640.003
predicted_R1.0000.460
predicted_RBI1.0000.223
predicted_SLG0.4600.013
predicted_SO1.0000.410
9. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 104
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-18.0004.0002.0000.0000.0003.0001.0003.0001.0000.22220.31820.33330.22220.00000.16670.16670.0556
last_100.2010-37.00011.0004.0000.0002.00011.0007.0006.0006.0000.29730.38640.56760.29730.05410.29730.16220.1622
season0.60104-373.000113.00028.0001.00010.00065.00056.00049.00065.0000.30290.38160.46380.30290.02680.17430.13140.1743
Weighted Prediction From Real Data
MetricValue
predicted_2B0.3120
predicted_3B0.0060
predicted_AB3.6240
predicted_AVG0.2832
predicted_BB0.5070
predicted_H1.0270
predicted_HBP0.0240
predicted_HR0.0990
predicted_OBP0.3657
predicted_R0.5020
predicted_RBI0.6990
predicted_SLG0.4552
predicted_SO0.5540
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.26900.31200.2875model_form_blend
predicted_3B0.01000.00600.0083model_form_blend
predicted_AB4.02003.62403.8493model_form_blend
predicted_AVG0.26900.28320.2751model_form_blend
predicted_BB0.47100.50700.4865model_form_blend
predicted_H1.08001.02701.0571model_form_blend
predicted_HBP-0.02400.0240form_only
predicted_HR0.12000.09900.1109model_form_blend
predicted_OBP0.36700.36570.3664model_form_blend
predicted_R0.53800.50200.5225model_form_blend
predicted_RBI0.79000.69900.7508model_form_blend
predicted_SLG0.45100.45520.4528model_form_blend
predicted_SO0.62500.55400.5944model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260825_CHC@ARI
game_typefull
mlbID672515
playerID672515
playerNameGabriel Moreno
posC
startedTrue
startingPositionC
teamARI
teamID1
game_date2026-08-25
sl_k_percent15.0
sl_bb_percent11.3
sl_woba0.371
sl_xwoba0.366
sl_xba0.29
sl_xslg0.453
sl_sweet_spot_percent37.9
sl_barrel_batted_rate7.9
sl_hard_hit_percent42.7
sl_exit_velocity_avg89.3
sl_launch_angle_avg11.9
sl_whiff_percent15.1
sl_swing_percent41.3
Nolan Arenado (571448) · BATTER · 3B · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 469
All-history rows before 20260827: 469
System season_avg: 0.2380
Data season_avg (2026 season-to-date): 0.2430
Diff (system - data): -0.0050
System opponent_avg: 0.4550

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1600.0000.000Hitting_2B0.1860.000-0.1860.000
predicted_3B0.0080.0000.000Hitting_3B0.0090.000-0.0090.000
predicted_AB3.7404.0004.000Hitting_AB3.5973.0000.4031.000
predicted_AVG0.2460.2500.250Hitting_AVG0.2430.3330.007-0.083
predicted_BB0.3440.0000.000Hitting_BB0.3860.000-0.3860.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9201.0001.000Hitting_H0.8741.0000.1260.000
predicted_HR0.1700.0001.000Hitting_HR0.1770.000-0.1770.000
predicted_OBP0.2770.2500.250Hitting_OBP0.3240.333-0.074-0.083
predicted_R0.5040.0001.000Hitting_R0.5370.000-0.5370.000
predicted_RBI0.4000.0001.000Hitting_RBI0.5740.000-0.5740.000
predicted_SLG0.3930.2501.000Hitting_SLG0.4470.333-0.197-0.083
predicted_SO0.8081.0001.000Hitting_SO0.8340.0000.1661.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_AB: 3.7400 -> 4.0000 (boost 0.2600, better)
Biggest Deboostpredicted_R: 0.5040 -> 0.0000 (deboost -0.5040, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_SLG: 0.3930 -> 0.3986 (boost 0.0056, better)predicted_AB: 3.7400 -> 3.6430 (deboost -0.0970, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot33030predicted_SLG: 0.3986 -> 0.4262 (boost 0.0276, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_AB: 3.6430 -> 4.0000 (boost 0.3570, better)predicted_RBI: 0.4531 -> 0.0000 (deboost -0.4531, worse)AB rounded to 4 (raw=3.74), rates preserved: AVG=0.228 HR/AB=0.049
5bvp_blend00000--Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.455)
6consistency_constraints11010predicted_R: 0.5536 -> 1.0000 (boost 0.4464, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation22020predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context42222predicted_AVG: 0.2339 -> 0.2520 (boost 0.0181, better)predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference10101-predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
10current_json_final20202-predicted_AVG: 0.2520 -> 0.2339 (deboost -0.0181, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "571448",
  "player_name": "Nolan Arenado",
  "position": "3B",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.16,
        "predicted_3B": 0.008,
        "predicted_AB": 3.74,
        "predicted_AVG": 0.246,
        "predicted_BB": 0.344,
        "predicted_H": 0.92,
        "predicted_HR": 0.17,
        "predicted_OBP": 0.277,
        "predicted_R": 0.504,
        "predicted_RBI": 0.4,
        "predicted_SLG": 0.393,
        "predicted_SO": 0.808
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1345,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.643,
        "predicted_AVG": 0.2289,
        "predicted_BB": 0.3189,
        "predicted_H": 0.8364,
        "predicted_HBP": 0.034,
        "predicted_HR": 0.1813,
        "predicted_OBP": 0.2742,
        "predicted_R": 0.5352,
        "predicted_RBI": 0.4381,
        "predicted_SLG": 0.3986,
        "predicted_SO": 0.8314
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.16,
          "after": 0.1345,
          "delta": -0.0255,
          "percent_delta": -0.1594,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.008,
          "after": 0.0067,
          "delta": -0.0013,
          "percent_delta": -0.1625,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.74,
          "after": 3.643,
          "delta": -0.097,
          "percent_delta": -0.0259,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.2289,
          "delta": -0.0171,
          "percent_delta": -0.0695,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.344,
          "after": 0.3189,
          "delta": -0.0251,
          "percent_delta": -0.073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.92,
          "after": 0.8364,
          "delta": -0.0836,
          "percent_delta": -0.0909,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.17,
          "after": 0.1813,
          "delta": 0.0113,
          "percent_delta": 0.0665,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.277,
          "after": 0.2742,
          "delta": -0.0028,
          "percent_delta": -0.0101,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.504,
          "after": 0.5352,
          "delta": 0.0312,
          "percent_delta": 0.0619,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4,
          "after": 0.4381,
          "delta": 0.0381,
          "percent_delta": 0.0952,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.393,
          "after": 0.3986,
          "delta": 0.0056,
          "percent_delta": 0.0142,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.808,
          "after": 0.8314,
          "delta": 0.0234,
          "percent_delta": 0.029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.393,
          "after": 0.3986,
          "delta": 0.0056,
          "percent_delta": 0.0142,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.74,
          "after": 3.643,
          "delta": -0.097,
          "percent_delta": -0.0259,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 125
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1345,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.643,
        "predicted_AVG": 0.2339,
        "predicted_BB": 0.3214,
        "predicted_H": 0.8521,
        "predicted_HBP": 0.034,
        "predicted_HR": 0.1842,
        "predicted_OBP": 0.296,
        "predicted_R": 0.5536,
        "predicted_RBI": 0.4531,
        "predicted_SLG": 0.4262,
        "predicted_SO": 0.825
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1345,
          "after": 0.1345,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0067,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.643,
          "after": 3.643,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2289,
          "after": 0.2339,
          "delta": 0.005,
          "percent_delta": 0.0218,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3189,
          "after": 0.3214,
          "delta": 0.0025,
          "percent_delta": 0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8364,
          "after": 0.8521,
          "delta": 0.0157,
          "percent_delta": 0.0188,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.034,
          "after": 0.034,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1813,
          "after": 0.1842,
          "delta": 0.0029,
          "percent_delta": 0.016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2742,
          "after": 0.296,
          "delta": 0.0218,
          "percent_delta": 0.0795,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5352,
          "after": 0.5536,
          "delta": 0.0184,
          "percent_delta": 0.0344,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4381,
          "after": 0.4531,
          "delta": 0.015,
          "percent_delta": 0.0342,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3986,
          "after": 0.4262,
          "delta": 0.0276,
          "percent_delta": 0.0692,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8314,
          "after": 0.825,
          "delta": -0.0064,
          "percent_delta": -0.0077,
          "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.3986,
          "after": 0.4262,
          "delta": 0.0276,
          "percent_delta": 0.0692,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.74), rates preserved: AVG=0.228 HR/AB=0.049",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1345,
          "after": 0.0,
          "delta": -0.1345,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0,
          "delta": -0.0067,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.643,
          "after": 4.0,
          "delta": 0.357,
          "percent_delta": 0.098,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3214,
          "after": 0.0,
          "delta": -0.3214,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8521,
          "after": 1.0,
          "delta": 0.1479,
          "percent_delta": 0.1736,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.034,
          "after": 0.0,
          "delta": -0.034,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1842,
          "after": 0.0,
          "delta": -0.1842,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4531,
          "after": 0.0,
          "delta": -0.4531,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.825,
          "after": 1.0,
          "delta": 0.175,
          "percent_delta": 0.2121,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.643,
          "after": 4.0,
          "delta": 0.357,
          "percent_delta": 0.098,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4531,
          "after": 0.0,
          "delta": -0.4531,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.455)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8927,
        "bvp": 0.1073
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5536,
          "after": 1.0,
          "delta": 0.4464,
          "percent_delta": 0.8064,
          "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.5536,
          "after": 1.0,
          "delta": 0.4464,
          "percent_delta": 0.8064,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "embedded_savant_player_context",
      "description": "Player 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.252,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.311,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.424,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2339,
          "after": 0.252,
          "delta": 0.0181,
          "percent_delta": 0.0774,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.296,
          "after": 0.311,
          "delta": 0.015,
          "percent_delta": 0.0507,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4262,
          "after": 0.424,
          "delta": -0.0022,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2339,
          "after": 0.252,
          "delta": 0.0181,
          "percent_delta": 0.0774,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2339,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.296,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4262,
        "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.252,
          "after": 0.2339,
          "delta": -0.0181,
          "percent_delta": -0.0718,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.311,
          "after": 0.296,
          "delta": -0.015,
          "percent_delta": -0.0482,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.424,
          "after": 0.4262,
          "delta": 0.0022,
          "percent_delta": 0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.252,
          "after": 0.2339,
          "delta": -0.0181,
          "percent_delta": -0.0718,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.008,
        "after": 0.0,
        "delta": -0.008,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.74,
        "after": 4.0,
        "delta": 0.26,
        "percent_delta": 0.0695,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.246,
        "after": 0.2339,
        "delta": -0.0121,
        "percent_delta": -0.0492,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.344,
        "after": 0.0,
        "delta": -0.344,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.92,
        "after": 1.0,
        "delta": 0.08,
        "percent_delta": 0.087,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.17,
        "after": 0.0,
        "delta": -0.17,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.277,
        "after": 0.296,
        "delta": 0.019,
        "percent_delta": 0.0686,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.504,
        "after": 0.0,
        "delta": -0.504,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.4,
        "after": 0.0,
        "delta": -0.4,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.393,
        "after": 0.4262,
        "delta": 0.0332,
        "percent_delta": 0.0845,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.808,
        "after": 1.0,
        "delta": 0.192,
        "percent_delta": 0.2376,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.74,
        "after": 4.0,
        "delta": 0.26,
        "percent_delta": 0.0695,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.504,
        "after": 0.0,
        "delta": -0.504,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.160-
predicted_3B0.008-
predicted_AB3.740-
predicted_AVG0.246-
predicted_BB0.344-
predicted_H0.920-
predicted_HR0.170-
predicted_OBP0.277-
predicted_R0.504-
predicted_RBI0.400-
predicted_SLG0.393-
predicted_SO0.808-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.135-0.025
predicted_3B0.007-0.001
predicted_AB3.643-0.097
predicted_AVG0.229-0.017
predicted_BB0.319-0.025
predicted_H0.836-0.084
predicted_HBP0.034-
predicted_HR0.1810.011
predicted_OBP0.274-0.003
predicted_R0.5350.031
predicted_RBI0.4380.038
predicted_SLG0.3990.006
predicted_SO0.8310.023
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1350.000
predicted_3B0.0070.000
predicted_AB3.6430.000
predicted_AVG0.2340.005
predicted_BB0.3210.003
predicted_H0.8520.016
predicted_HBP0.0340.000
predicted_HR0.1840.003
predicted_OBP0.2960.022
predicted_R0.5540.018
predicted_RBI0.4530.015
predicted_SLG0.4260.028
predicted_SO0.825-0.006
4. ab_floor_and_scaling

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

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

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
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR1.0001.000
R1.0000.000
RBI1.0001.000
SO1.0000.000
8. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.135
predicted_3B0.000-0.007
predicted_AB4.0000.357
predicted_AVG0.2520.018
predicted_BB0.000-0.321
predicted_H1.0000.148
predicted_HR0.000-0.184
predicted_OBP0.3110.015
predicted_R1.0000.446
predicted_RBI0.000-0.453
predicted_SLG0.424-0.002
predicted_SO1.0000.175
9. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 125
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0002.0000.0000.0001.0001.0003.0001.0004.0000.11760.16670.29410.11770.05880.05880.05880.2353
last_100.2010-37.0007.0000.0000.0003.0007.0008.0002.00011.0000.18920.23080.43240.18920.08110.18920.05410.2973
season0.60125-433.000103.00020.0001.00021.00065.00063.00043.000101.0000.23790.31480.43420.23790.04850.15010.09930.2333
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1010
predicted_3B0.0050
predicted_AB3.5160
predicted_AVG0.2066
predicted_BB0.2860
predicted_H0.7270
predicted_HBP0.0340
predicted_HR0.1960
predicted_OBP0.2705
predicted_R0.5760
predicted_RBI0.4880
predicted_SLG0.4059
predicted_SO0.8620
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16000.10100.1345model_form_blend
predicted_3B0.00800.00500.0067model_form_blend
predicted_AB3.74003.51603.6430model_form_blend
predicted_AVG0.24600.20660.2289model_form_blend
predicted_BB0.34400.28600.3189model_form_blend
predicted_H0.92000.72700.8364model_form_blend
predicted_HBP-0.03400.0340form_only
predicted_HR0.17000.19600.1813model_form_blend
predicted_OBP0.27700.27050.2742model_form_blend
predicted_R0.50400.57600.5352model_form_blend
predicted_RBI0.40000.48800.4381model_form_blend
predicted_SLG0.39300.40590.3986model_form_blend
predicted_SO0.80800.86200.8314model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_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
allPositionsPlayedDH
gameID20260826_CHC@ARI
game_typefull
mlbID571448
playerID571448
playerNameNolan Arenado
pos3B
startedTrue
startingPositionDH
teamARI
teamID1
game_date2026-08-26
sl_k_percent20.4
sl_bb_percent8.5
sl_woba0.323
sl_xwoba0.286
sl_xba0.223
sl_xslg0.344
sl_sweet_spot_percent32.0
sl_barrel_batted_rate6.3
sl_hard_hit_percent30.9
sl_exit_velocity_avg84.8
sl_launch_angle_avg18.8
sl_whiff_percent23.5
sl_swing_percent45.6
Tim Tawa (694374) · BATTER · 1B · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 235
All-history rows before 20260827: 235
System season_avg: 0.2450
Data season_avg (2026 season-to-date): 0.2471
Diff (system - data): -0.0021
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.1430.0000.000Hitting_2B0.1570.000-0.1570.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.1434.0003.000Hitting_AB3.3572.0000.6432.000
predicted_AVG0.2490.2500.333Hitting_AVG0.2470.0000.0030.250
predicted_BB0.2570.0000.000Hitting_BB0.2641.000-0.264-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0600.000-0.0600.000
predicted_H0.6501.0001.000Hitting_H0.8300.0000.1701.000
predicted_HR0.1200.0000.000Hitting_HR0.1280.000-0.1280.000
predicted_OBP0.3230.2500.333Hitting_OBP0.2970.333-0.047-0.083
predicted_R0.3570.0000.000Hitting_R0.3870.000-0.3870.000
predicted_RBI0.3800.0000.000Hitting_RBI0.5400.000-0.5400.000
predicted_SLG0.3810.2500.333Hitting_SLG0.4080.000-0.1580.250
predicted_SO0.7861.0001.000Hitting_SO0.8261.0000.1740.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_AB: 3.1430 -> 4.0000 (boost 0.8570, better)
Biggest Deboostpredicted_RBI: 0.3800 -> 0.0000 (deboost -0.3800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend44040predicted_H: 0.6500 -> 0.7423 (boost 0.0923, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot20202-predicted_OBP: 0.3255 -> 0.2990 (deboost -0.0265, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_SO: 0.7348 -> 1.0000 (boost 0.2652, worse)predicted_RBI: 0.4194 -> 0.0000 (deboost -0.4194, worse)AB rounded to 3 (raw=3.20), rates preserved: AVG=0.236 HR/AB=0.039
5consistency_constraints10101-predicted_R: 0.3748 -> 0.0000 (deboost -0.3748, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context22020predicted_SLG: 0.3974 -> 0.4050 (boost 0.0076, better)-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_final10101-predicted_SLG: 0.4050 -> 0.3974 (deboost -0.0076, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "694374",
  "player_name": "Tim Tawa",
  "position": "1B",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.143,
        "predicted_3B": 0.0,
        "predicted_AB": 3.143,
        "predicted_AVG": 0.249,
        "predicted_BB": 0.257,
        "predicted_H": 0.65,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.323,
        "predicted_R": 0.357,
        "predicted_RBI": 0.38,
        "predicted_SLG": 0.381,
        "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.1376,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.204,
        "predicted_AVG": 0.2556,
        "predicted_BB": 0.2858,
        "predicted_H": 0.7423,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.1242,
        "predicted_OBP": 0.3255,
        "predicted_R": 0.3624,
        "predicted_RBI": 0.4055,
        "predicted_SLG": 0.3988,
        "predicted_SO": 0.7405
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.143,
          "after": 0.1376,
          "delta": -0.0054,
          "percent_delta": -0.0378,
          "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.143,
          "after": 3.204,
          "delta": 0.061,
          "percent_delta": 0.0194,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.249,
          "after": 0.2556,
          "delta": 0.0066,
          "percent_delta": 0.0265,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.257,
          "after": 0.2858,
          "delta": 0.0288,
          "percent_delta": 0.1121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.65,
          "after": 0.7423,
          "delta": 0.0923,
          "percent_delta": 0.142,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1242,
          "delta": 0.0042,
          "percent_delta": 0.035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.323,
          "after": 0.3255,
          "delta": 0.0025,
          "percent_delta": 0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.357,
          "after": 0.3624,
          "delta": 0.0054,
          "percent_delta": 0.0151,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.38,
          "after": 0.4055,
          "delta": 0.0255,
          "percent_delta": 0.0671,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.381,
          "after": 0.3988,
          "delta": 0.0178,
          "percent_delta": 0.0467,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.786,
          "after": 0.7405,
          "delta": -0.0455,
          "percent_delta": -0.0579,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.65,
          "after": 0.7423,
          "delta": 0.0923,
          "percent_delta": 0.142,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 70
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1376,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.204,
        "predicted_AVG": 0.236,
        "predicted_BB": 0.288,
        "predicted_H": 0.7563,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.1262,
        "predicted_OBP": 0.299,
        "predicted_R": 0.3748,
        "predicted_RBI": 0.4194,
        "predicted_SLG": 0.3974,
        "predicted_SO": 0.7348
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1376,
          "after": 0.1376,
          "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.204,
          "after": 3.204,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2556,
          "after": 0.236,
          "delta": -0.0196,
          "percent_delta": -0.0767,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2858,
          "after": 0.288,
          "delta": 0.0022,
          "percent_delta": 0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7423,
          "after": 0.7563,
          "delta": 0.014,
          "percent_delta": 0.0189,
          "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.1242,
          "after": 0.1262,
          "delta": 0.002,
          "percent_delta": 0.0161,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3255,
          "after": 0.299,
          "delta": -0.0265,
          "percent_delta": -0.0814,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3624,
          "after": 0.3748,
          "delta": 0.0124,
          "percent_delta": 0.0342,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4055,
          "after": 0.4194,
          "delta": 0.0139,
          "percent_delta": 0.0343,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3988,
          "after": 0.3974,
          "delta": -0.0014,
          "percent_delta": -0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.7405,
          "after": 0.7348,
          "delta": -0.0057,
          "percent_delta": -0.0077,
          "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.3255,
          "after": 0.299,
          "delta": -0.0265,
          "percent_delta": -0.0814,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.20), rates preserved: AVG=0.236 HR/AB=0.039",
      "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.1376,
          "after": 0.0,
          "delta": -0.1376,
          "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.204,
          "after": 3.0,
          "delta": -0.204,
          "percent_delta": -0.0637,
          "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.7563,
          "after": 1.0,
          "delta": 0.2437,
          "percent_delta": 0.3222,
          "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.1262,
          "after": 0.0,
          "delta": -0.1262,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4194,
          "after": 0.0,
          "delta": -0.4194,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7348,
          "after": 1.0,
          "delta": 0.2652,
          "percent_delta": 0.3609,
          "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.7348,
          "after": 1.0,
          "delta": 0.2652,
          "percent_delta": 0.3609,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4194,
          "after": 0.0,
          "delta": -0.4194,
          "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.3748,
          "after": 0.0,
          "delta": -0.3748,
          "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.3748,
          "after": 0.0,
          "delta": -0.3748,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": {},
      "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.236,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.304,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.405,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.236,
          "after": 0.236,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.299,
          "after": 0.304,
          "delta": 0.005,
          "percent_delta": 0.0167,
          "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.3974,
          "after": 0.405,
          "delta": 0.0076,
          "percent_delta": 0.0191,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3974,
          "after": 0.405,
          "delta": 0.0076,
          "percent_delta": 0.0191,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "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.236,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.299,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3974,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.236,
          "after": 0.236,
          "delta": 0.0,
          "percent_delta": 0.0001,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.304,
          "after": 0.299,
          "delta": -0.005,
          "percent_delta": -0.0163,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.405,
          "after": 0.3974,
          "delta": -0.0076,
          "percent_delta": -0.0188,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.405,
          "after": 0.3974,
          "delta": -0.0076,
          "percent_delta": -0.0188,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.143,
        "after": 0.0,
        "delta": -0.143,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.143,
        "after": 4.0,
        "delta": 0.857,
        "percent_delta": 0.2727,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.249,
        "after": 0.236,
        "delta": -0.013,
        "percent_delta": -0.0522,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.257,
        "after": 0.0,
        "delta": -0.257,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.65,
        "after": 1.0,
        "delta": 0.35,
        "percent_delta": 0.5385,
        "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.323,
        "after": 0.299,
        "delta": -0.024,
        "percent_delta": -0.0743,
        "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.38,
        "after": 0.0,
        "delta": -0.38,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.381,
        "after": 0.3974,
        "delta": 0.0164,
        "percent_delta": 0.043,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.786,
        "after": 1.0,
        "delta": 0.214,
        "percent_delta": 0.2723,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.143,
        "after": 4.0,
        "delta": 0.857,
        "percent_delta": 0.2727,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.38,
        "after": 0.0,
        "delta": -0.38,
        "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.143-
predicted_3B0.000-
predicted_AB3.143-
predicted_AVG0.249-
predicted_BB0.257-
predicted_H0.650-
predicted_HR0.120-
predicted_OBP0.323-
predicted_R0.357-
predicted_RBI0.380-
predicted_SLG0.381-
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.138-0.005
predicted_3B0.0000.000
predicted_AB3.2040.061
predicted_AVG0.2560.007
predicted_BB0.2860.029
predicted_H0.7420.092
predicted_HBP0.003-
predicted_HR0.1240.004
predicted_OBP0.3260.003
predicted_R0.3620.005
predicted_RBI0.4060.026
predicted_SLG0.3990.018
predicted_SO0.741-0.045
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1380.000
predicted_3B0.0000.000
predicted_AB3.2040.000
predicted_AVG0.236-0.020
predicted_BB0.2880.002
predicted_H0.7560.014
predicted_HBP0.0030.000
predicted_HR0.1260.002
predicted_OBP0.299-0.027
predicted_R0.3750.012
predicted_RBI0.4190.014
predicted_SLG0.397-0.001
predicted_SO0.735-0.006
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.20), rates preserved: AVG=0.236 HR/AB=0.039

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.138
predicted_3B0.000-0.000
predicted_AB3.000-0.204
predicted_AVG0.2360.000
predicted_BB0.000-0.288
predicted_H1.0000.244
predicted_HR0.000-0.126
predicted_OBP0.3040.005
predicted_R0.000-0.375
predicted_RBI0.000-0.419
predicted_SLG0.4050.008
predicted_SO1.0000.265
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: 70
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0005.0000.0000.0001.0002.0002.0002.0002.0000.31250.38890.50000.31250.06250.12500.12500.1250
last_100.2010-35.00010.0002.0000.0001.0004.0003.0005.0005.0000.28570.37500.42860.28570.02860.11430.14290.1429
season0.6070-220.00054.00010.0000.0008.00032.00025.00018.00055.0000.24550.29880.40000.24550.03640.14540.08180.2500
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1300
predicted_3B0.0010
predicted_AB3.2890
predicted_AVG0.2648
predicted_BB0.3260
predicted_H0.8710
predicted_HBP0.0030
predicted_HR0.1300
predicted_OBP0.3291
predicted_R0.3700
predicted_RBI0.4410
predicted_SLG0.4237
predicted_SO0.6770
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14300.13000.1376model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.14303.28903.2040model_form_blend
predicted_AVG0.24900.26480.2556model_form_blend
predicted_BB0.25700.32600.2858model_form_blend
predicted_H0.65000.87100.7423model_form_blend
predicted_HBP-0.00300.0030form_only
predicted_HR0.12000.13000.1242model_form_blend
predicted_OBP0.32300.32910.3255model_form_blend
predicted_R0.35700.37000.3624model_form_blend
predicted_RBI0.38000.44100.4055model_form_blend
predicted_SLG0.38100.42370.3988model_form_blend
predicted_SO0.78600.67700.7405model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_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
allPositionsPlayed1B
gameID20260826_CHC@ARI
game_typefull
mlbID694374
playerID694374
playerNameTim Tawa
pos1B
startedTrue
startingPosition1B
teamARI
teamID1
game_date2026-08-26
sl_k_percent24.2
sl_bb_percent7.8
sl_woba0.307
sl_xwoba0.312
sl_xba0.244
sl_xslg0.41
sl_sweet_spot_percent33.9
sl_barrel_batted_rate10.5
sl_hard_hit_percent45.4
sl_exit_velocity_avg90.9
sl_launch_angle_avg11.9
sl_whiff_percent27.5
sl_swing_percent48.8
Ryan Waldschmidt (814439) · BATTER · CF · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 228
All-history rows before 20260827: 228
System season_avg: 0.2750
Data season_avg (2026 season-to-date): 0.2688
Diff (system - data): 0.0062
System opponent_avg: 0.1380

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2270.0000.000Hitting_2B0.2320.000-0.2320.000
predicted_3B0.0150.0000.000Hitting_3B0.0180.000-0.0180.000
predicted_AB3.1974.0003.000Hitting_AB3.3771.0000.6233.000
predicted_AVG0.2720.0000.333Hitting_AVG0.2690.000-0.2690.000
predicted_BB0.2730.0000.000Hitting_BB0.3111.000-0.311-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0440.000-0.0440.000
predicted_H0.7900.0001.000Hitting_H0.9080.000-0.9080.000
predicted_HR0.1200.0000.000Hitting_HR0.0440.000-0.0440.000
predicted_OBP0.3460.0000.333Hitting_OBP0.3400.333-0.340-0.333
predicted_R0.4090.0000.000Hitting_R0.4170.000-0.4170.000
predicted_RBI0.4500.0001.000Hitting_RBI0.3331.000-0.333-1.000
predicted_SLG0.4400.0000.333Hitting_SLG0.3870.000-0.3870.000
predicted_SO1.0452.0001.000Hitting_SO1.1140.0000.8862.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics2
Deboosted Metrics8
Better Metrics1
Worse Metrics9
Biggest Boostpredicted_SO: 1.0450 -> 2.0000 (boost 0.9550, worse)
Biggest Deboostpredicted_H: 0.7900 -> 0.0000 (deboost -0.7900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend40404-predicted_AB: 3.1970 -> 3.1073 (deboost -0.0897, worse)Final model input calibrated 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.4318 -> 0.4387 (boost 0.0069, better)predicted_OBP: 0.3376 -> 0.3183 (deboost -0.0193, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling71616predicted_H: 0.7913 -> 1.0000 (boost 0.2087, better)predicted_RBI: 0.5056 -> 0.0000 (deboost -0.5056, worse)AB rounded to 3 (raw=3.20), rates preserved: AVG=0.248 HR/AB=0.036
5bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)
6consistency_constraints10101-predicted_R: 0.4002 -> 0.0000 (deboost -0.4002, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation11010predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context40404-predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_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
10current_json_final33030predicted_SLG: 0.4060 -> 0.4387 (boost 0.0327, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "814439",
  "player_name": "Ryan Waldschmidt",
  "position": "CF",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.227,
        "predicted_3B": 0.015,
        "predicted_AB": 3.197,
        "predicted_AVG": 0.272,
        "predicted_BB": 0.273,
        "predicted_H": 0.79,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.346,
        "predicted_R": 0.409,
        "predicted_RBI": 0.45,
        "predicted_SLG": 0.44,
        "predicted_SO": 1.045
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2028,
        "predicted_3B": 0.0125,
        "predicted_AB": 3.1073,
        "predicted_AVG": 0.2646,
        "predicted_BB": 0.288,
        "predicted_H": 0.7767,
        "predicted_HBP": 0.053,
        "predicted_HR": 0.1129,
        "predicted_OBP": 0.3376,
        "predicted_R": 0.3869,
        "predicted_RBI": 0.4888,
        "predicted_SLG": 0.4318,
        "predicted_SO": 1.0254
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.227,
          "after": 0.2028,
          "delta": -0.0242,
          "percent_delta": -0.1066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.015,
          "after": 0.0125,
          "delta": -0.0025,
          "percent_delta": -0.1667,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.197,
          "after": 3.1073,
          "delta": -0.0897,
          "percent_delta": -0.0281,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.272,
          "after": 0.2646,
          "delta": -0.0074,
          "percent_delta": -0.0272,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.273,
          "after": 0.288,
          "delta": 0.015,
          "percent_delta": 0.0549,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.79,
          "after": 0.7767,
          "delta": -0.0133,
          "percent_delta": -0.0168,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1129,
          "delta": -0.0071,
          "percent_delta": -0.0592,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.346,
          "after": 0.3376,
          "delta": -0.0084,
          "percent_delta": -0.0243,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.409,
          "after": 0.3869,
          "delta": -0.0221,
          "percent_delta": -0.054,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.45,
          "after": 0.4888,
          "delta": 0.0388,
          "percent_delta": 0.0862,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.44,
          "after": 0.4318,
          "delta": -0.0082,
          "percent_delta": -0.0186,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.045,
          "after": 1.0254,
          "delta": -0.0196,
          "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": 3.197,
          "after": 3.1073,
          "delta": -0.0897,
          "percent_delta": -0.0281,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.2028,
        "predicted_3B": 0.0125,
        "predicted_AB": 3.1073,
        "predicted_AVG": 0.2547,
        "predicted_BB": 0.2902,
        "predicted_H": 0.7913,
        "predicted_HBP": 0.053,
        "predicted_HR": 0.1147,
        "predicted_OBP": 0.3183,
        "predicted_R": 0.4002,
        "predicted_RBI": 0.5056,
        "predicted_SLG": 0.4387,
        "predicted_SO": 1.0175
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2028,
          "after": 0.2028,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0125,
          "after": 0.0125,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.1073,
          "after": 3.1073,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2646,
          "after": 0.2547,
          "delta": -0.0099,
          "percent_delta": -0.0374,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.288,
          "after": 0.2902,
          "delta": 0.0022,
          "percent_delta": 0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7767,
          "after": 0.7913,
          "delta": 0.0146,
          "percent_delta": 0.0188,
          "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.1129,
          "after": 0.1147,
          "delta": 0.0018,
          "percent_delta": 0.0159,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3376,
          "after": 0.3183,
          "delta": -0.0193,
          "percent_delta": -0.0572,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3869,
          "after": 0.4002,
          "delta": 0.0133,
          "percent_delta": 0.0344,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4888,
          "after": 0.5056,
          "delta": 0.0168,
          "percent_delta": 0.0344,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4318,
          "after": 0.4387,
          "delta": 0.0069,
          "percent_delta": 0.016,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0254,
          "after": 1.0175,
          "delta": -0.0079,
          "percent_delta": -0.0077,
          "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.4318,
          "after": 0.4387,
          "delta": 0.0069,
          "percent_delta": 0.016,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3376,
          "after": 0.3183,
          "delta": -0.0193,
          "percent_delta": -0.0572,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.20), rates preserved: AVG=0.248 HR/AB=0.036",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2028,
          "after": 0.0,
          "delta": -0.2028,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0125,
          "after": 0.0,
          "delta": -0.0125,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.1073,
          "after": 3.0,
          "delta": -0.1073,
          "percent_delta": -0.0345,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2902,
          "after": 0.0,
          "delta": -0.2902,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7913,
          "after": 1.0,
          "delta": 0.2087,
          "percent_delta": 0.2637,
          "direction": "boost",
          "projection_effect": "better",
          "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.1147,
          "after": 0.0,
          "delta": -0.1147,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5056,
          "after": 0.0,
          "delta": -0.5056,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0175,
          "after": 1.0,
          "delta": -0.0175,
          "percent_delta": -0.0172,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7913,
          "after": 1.0,
          "delta": 0.2087,
          "percent_delta": 0.2637,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5056,
          "after": 0.0,
          "delta": -0.5056,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4002,
          "after": 0.0,
          "delta": -0.4002,
          "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.4002,
          "after": 0.0,
          "delta": -0.4002,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.233,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.299,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.406,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2547,
          "after": 0.233,
          "delta": -0.0217,
          "percent_delta": -0.0852,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3183,
          "after": 0.299,
          "delta": -0.0193,
          "percent_delta": -0.0606,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4387,
          "after": 0.406,
          "delta": -0.0327,
          "percent_delta": -0.0745,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "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": 10,
      "step": "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.2547,
        "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.3183,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4387,
        "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.233,
          "after": 0.2547,
          "delta": 0.0217,
          "percent_delta": 0.093,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.299,
          "after": 0.3183,
          "delta": 0.0193,
          "percent_delta": 0.0646,
          "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.406,
          "after": 0.4387,
          "delta": 0.0327,
          "percent_delta": 0.0806,
          "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.406,
          "after": 0.4387,
          "delta": 0.0327,
          "percent_delta": 0.0806,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.227,
        "after": 0.0,
        "delta": -0.227,
        "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.197,
        "after": 4.0,
        "delta": 0.803,
        "percent_delta": 0.2512,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.272,
        "after": 0.2547,
        "delta": -0.0173,
        "percent_delta": -0.0636,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.273,
        "after": 0.0,
        "delta": -0.273,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.79,
        "after": 0.0,
        "delta": -0.79,
        "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.346,
        "after": 0.3183,
        "delta": -0.0277,
        "percent_delta": -0.0801,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.409,
        "after": 0.0,
        "delta": -0.409,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.45,
        "after": 0.0,
        "delta": -0.45,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.44,
        "after": 0.4387,
        "delta": -0.0013,
        "percent_delta": -0.003,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.045,
        "after": 2.0,
        "delta": 0.955,
        "percent_delta": 0.9139,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 1,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.045,
        "after": 2.0,
        "delta": 0.955,
        "percent_delta": 0.9139,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.79,
        "after": 0.0,
        "delta": -0.79,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.227-
predicted_3B0.015-
predicted_AB3.197-
predicted_AVG0.272-
predicted_BB0.273-
predicted_H0.790-
predicted_HR0.120-
predicted_OBP0.346-
predicted_R0.409-
predicted_RBI0.450-
predicted_SLG0.440-
predicted_SO1.045-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.203-0.024
predicted_3B0.013-0.002
predicted_AB3.107-0.090
predicted_AVG0.265-0.007
predicted_BB0.2880.015
predicted_H0.777-0.013
predicted_HBP0.053-
predicted_HR0.113-0.007
predicted_OBP0.338-0.008
predicted_R0.387-0.022
predicted_RBI0.4890.039
predicted_SLG0.432-0.008
predicted_SO1.025-0.020
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2030.000
predicted_3B0.0130.000
predicted_AB3.1070.000
predicted_AVG0.255-0.010
predicted_BB0.2900.002
predicted_H0.7910.015
predicted_HBP0.0530.000
predicted_HR0.1150.002
predicted_OBP0.318-0.019
predicted_R0.4000.013
predicted_RBI0.5060.017
predicted_SLG0.4390.007
predicted_SO1.018-0.008
4. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI1.0001.000
SO1.0000.000
8. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.203
predicted_3B0.000-0.013
predicted_AB3.000-0.107
predicted_AVG0.233-0.022
predicted_BB0.000-0.290
predicted_H1.0000.209
predicted_HR0.000-0.115
predicted_OBP0.299-0.019
predicted_R0.000-0.400
predicted_RBI0.000-0.506
predicted_SLG0.406-0.033
predicted_SO1.000-0.018
9. 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.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: 66
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.0004.0001.0001.0005.0000.18180.23080.45450.18180.09090.36360.09090.4546
last_100.2010-26.0007.0002.0000.0001.0007.0003.0005.0008.0000.26920.39390.46150.26920.03850.26920.19230.3077
season0.6066-211.00058.00015.0001.0003.00022.00027.00018.00069.0000.27490.33900.39810.27490.01420.10430.08530.3270
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1690
predicted_3B0.0090
predicted_AB2.9820
predicted_AVG0.2543
predicted_BB0.3090
predicted_H0.7580
predicted_HBP0.0530
predicted_HR0.1030
predicted_OBP0.3258
predicted_R0.3560
predicted_RBI0.5430
predicted_SLG0.4204
predicted_SO0.9980
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22700.16900.2028model_form_blend
predicted_3B0.01500.00900.0125model_form_blend
predicted_AB3.19702.98203.1073model_form_blend
predicted_AVG0.27200.25430.2646model_form_blend
predicted_BB0.27300.30900.2880model_form_blend
predicted_H0.79000.75800.7767model_form_blend
predicted_HBP-0.05300.0530form_only
predicted_HR0.12000.10300.1129model_form_blend
predicted_OBP0.34600.32580.3376model_form_blend
predicted_R0.40900.35600.3869model_form_blend
predicted_RBI0.45000.54300.4888model_form_blend
predicted_SLG0.44000.42040.4318model_form_blend
predicted_SO1.04500.99801.0254model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF1
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
allPositionsPlayedLF
gameID20260826_CHC@ARI
game_typefull
mlbID814439
playerID814439
playerNameRyan Waldschmidt
posCF
startedTrue
startingPositionLF
teamARI
teamID1
game_date2026-08-26
sl_k_percent28.5
sl_bb_percent7.1
sl_woba0.318
sl_xwoba0.3
sl_xba0.245
sl_xslg0.368
sl_sweet_spot_percent46.8
sl_barrel_batted_rate6.3
sl_hard_hit_percent30.4
sl_exit_velocity_avg87.1
sl_launch_angle_avg15.9
sl_whiff_percent31.3
sl_swing_percent43.4
Jose Cabrera (703615) · PITCHER · Starter · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 4
All-history rows before 20260827: 4

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB1.7502.0000.2500.000
predicted_ER3.0003.0003.000Pitching_ER2.7504.0000.250-1.000
predicted_H5.0005.0005.000Pitching_H5.0004.0000.0001.000
predicted_IP4.1004.1004.100Pitching_InningsPitched4.3004.100-0.2000.000
predicted_SO4.0004.0004.000Pitching_SO3.0002.0001.0002.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics4
Boosted Metrics3
Deboosted Metrics1
Better Metrics1
Worse Metrics3
Biggest Boostpredicted_ER: 2.0000 -> 3.0000 (boost 1.0000, worse)
Biggest Deboostpredicted_IP: 4.6667 -> 4.1000 (deboost -0.5667, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2starter_usage_guardrail10101-predicted_IP: 4.6667 -> 4.1000 (deboost -0.5667, worse)Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
3starter_quality_floor22002predicted_ER: 2.0000 -> 3.0000 (boost 1.0000, worse)-Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.
4current_json_final11010predicted_SO: 3.0000 -> 4.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": "703615",
  "player_name": "Jose Cabrera",
  "position": "Starter",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 2.0,
        "predicted_H": 4.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": "starter_usage_guardrail",
      "description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 2.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.1,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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": 4.6667,
          "after": 4.1,
          "delta": -0.5667,
          "percent_delta": -0.1214,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 4.6667,
          "after": 4.1,
          "delta": -0.5667,
          "percent_delta": -0.1214,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "starter_quality_floor",
      "description": "Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 3.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.1,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 4.1,
          "after": 4.1,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 3.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.1,
        "predicted_R": 3.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 4.1,
          "after": 4.1,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "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": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 2.0,
        "after": 3.0,
        "delta": 1.0,
        "percent_delta": 0.5,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 4.0,
        "after": 5.0,
        "delta": 1.0,
        "percent_delta": 0.25,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 4.6667,
        "after": 4.1,
        "delta": -0.5667,
        "percent_delta": -0.1214,
        "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": 4,
      "boosted_metrics": 3,
      "deboosted_metrics": 1,
      "better_metrics": 1,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_ER",
        "before": 2.0,
        "after": 3.0,
        "delta": 1.0,
        "percent_delta": 0.5,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 4.6667,
        "after": 4.1,
        "delta": -0.5667,
        "percent_delta": -0.1214,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB2.000-
predicted_ER2.000-
predicted_H4.000-
predicted_HR0.000-
predicted_IP4.667-
predicted_SO3.000-
2. starter_usage_guardrail

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

MetricValueDelta vs Prev Step
predicted_BB2.0000.000
predicted_ER2.0000.000
predicted_H4.0000.000
predicted_HR0.0000.000
predicted_IP4.100-0.567
predicted_SO3.0000.000
3. starter_quality_floor

Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.

MetricValueDelta vs Prev Step
predicted_BB2.0000.000
predicted_ER3.0001.000
predicted_H5.0001.000
predicted_HR0.0000.000
predicted_IP4.1000.000
predicted_SO3.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 4
Reference playing time: 4.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45417.20011.00020.0007.00012.0003.0005.60381.52830.62261.13210.39620.67930.1698
last_100.35417.20011.00020.0007.00012.0003.0005.60381.52830.62261.13210.39620.67930.1698
season0.20417.20011.00020.0007.00012.0003.0005.60381.52830.62261.13210.39620.67930.1698
Weighted Prediction From Real Data
MetricValue
predicted_BB1.7220
predicted_ER2.5120
predicted_ERA5.0030
predicted_H4.7260
predicted_HR0.7100
predicted_IP4.2000
predicted_SO3.7300
predicted_WHIP1.4270
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00001.72201.8846model_form_blend
predicted_ER2.00002.51202.2126model_form_blend
predicted_ERA-5.00305.0030form_only
predicted_H4.00004.72604.3015model_form_blend
predicted_HR0.00000.71000.2948model_form_blend
predicted_IP4.20004.20004.2000model_form_blend
predicted_SO3.00003.73003.3031model_form_blend
predicted_WHIP-1.42701.4270form_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 date4
Season rows before report date4
Report year2026
Profile rows used4
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP4.1
H5
R3
ER3
BB2
SO4
HR0
BF23
Pitches90

Latest Real Data Snapshot (before report date)

Latest 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_Balk1
Pitching_Batters Faced21
Pitching_ER4
Pitching_ERA5.60
Pitching_Flyouts3
Pitching_Groundouts8
Pitching_H4
Pitching_HBP1
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched4.1
Pitching_Pitches74
Pitching_R4
Pitching_SO2
Pitching_Strikes46
Pitching_Wild Pitch0
Pitching_decisionL
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260708_ARI@SD
game_typefull
mlbID703615
playerID703615
playerNameJose Cabrera
posP
startedTrue
startingPositionP
teamARI
teamID1
game_date2026-07-08
game_pk823279.0
sl_k_percent16.2
sl_bb_percent8.1
sl_woba0.347
sl_xwoba0.352
sl_sweet_spot_percent22.2
sl_barrel_batted_rate8.3
sl_hard_hit_percent36.1
sl_whiff_percent19.4
sl_swing_percent44.4
sv_pitch_count75.0
sv_outs_recorded_est13.0
sv_release_speed88.70945945945945
sv_release_spin_rate2235.2162162162163
sv_effective_speed88.67837837837837
sv_launch_speed77.67333333333333
sv_launch_angle7.466666666666667
sv_woba_value6.95
sv_woba_denom21.0
sv_delta_run_exp0.4019999999999997
sv_delta_home_win_exp0.1659999999999999
sl_avg_best_speed77.305399063
sl_avg_hyper_speed94.443495313
Brandyn Garcia (805299) · PITCHER · Setup Man · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 37
All-history rows before 20260827: 37

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB0.1890.0001.8112.000
predicted_ER1.0001.0001.000Pitching_ER0.1890.0000.8111.000
predicted_H1.0001.0001.000Pitching_H0.4590.0000.5411.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.7241.0000.2760.000
predicted_SO1.0001.0001.000Pitching_SO0.9730.0000.0271.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": "805299",
  "player_name": "Brandyn Garcia",
  "position": "Setup Man",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "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": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "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_BB2.000-
predicted_ER1.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 36
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.0004.0001.0006.0000.0004.15381.15380.46150.92310.23081.38460.0000
last_100.35108.0002.0005.0001.00010.0000.0002.25000.75000.25000.62500.12501.25000.0000
season0.203631.0006.00015.0006.00036.0000.0001.74190.67740.19350.48390.19351.16130.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2500
predicted_ER0.3830
predicted_ERA3.6811
predicted_H0.7860
predicted_HR0.0610
predicted_IP1.0000
predicted_SO1.0630
predicted_WHIP1.1082
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00000.25001.1919model_form_blend
predicted_ER1.00000.38300.7151model_form_blend
predicted_ERA-3.68113.6811form_only
predicted_H1.00000.78600.9012model_form_blend
predicted_HR0.00000.06100.0282model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.06301.0291model_form_blend
predicted_WHIP-1.10821.1082form_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 date37
Season rows before report date37
Report year2026
Profile rows used36
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
BB2
SO1
HR0
BF6
Pitches24

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA2.03
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches12
Pitching_R0
Pitching_SO0
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260803_SD@ARI
game_typefull
mlbID805299
playerID805299
playerNameBrandyn Garcia
posP
startedFalse
startingPositionP
teamARI
teamID1
game_date2026-08-03
game_pk825095.0
sl_k_percent30.9
sl_bb_percent6.6
sl_woba0.22
sl_xwoba0.235
sl_sweet_spot_percent18.9
sl_barrel_batted_rate5.6
sl_hard_hit_percent33.3
sl_whiff_percent27.5
sl_swing_percent44.6
sv_pitch_count12.0
sv_outs_recorded_est3.0
sv_release_speed93.31666666666666
sv_release_spin_rate2389.1666666666665
sv_effective_speed91.68333333333334
sv_launch_speed81.18571428571428
sv_launch_angle18.857142857142858
sv_woba_value0.0
sv_woba_denom3.0
sv_delta_run_exp-0.78
sv_delta_home_win_exp0.015
sl_avg_best_speed77.996108864
sl_avg_hyper_speed93.773964598
Jonathan Loáisiga (642528) · PITCHER · Middle Reliever (High Leverage) · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 48
All-history rows before 20260827: 48

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2291.000-0.229-1.000
predicted_ER0.0000.0000.000Pitching_ER0.2921.000-0.292-1.000
predicted_H0.0000.0000.000Pitching_H0.8122.000-0.812-2.000
predicted_IP1.1001.1001.100Pitching_InningsPitched0.8501.0000.2500.100
predicted_SO0.0000.0000.000Pitching_SO0.6670.000-0.6670.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_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.0005.0008.0002.0003.0001.0009.00002.00001.00001.60000.40000.60000.2000
last_100.35109.2005.00010.0004.00010.0001.0004.65521.44830.51721.03450.41381.03450.1035
season0.204845.00014.00039.00011.00032.0002.0002.80001.11110.31110.86670.24440.71110.0444
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3720
predicted_ER0.6250
predicted_ERA5.6278
predicted_H1.1560
predicted_HR0.1390
predicted_IP1.0000
predicted_SO0.8340
predicted_WHIP1.5283
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.37200.1858model_form_blend
predicted_ER0.00000.62500.3122model_form_blend
predicted_ERA-5.62785.6278form_only
predicted_H1.00001.15601.0779model_form_blend
predicted_HR0.00000.13900.0694model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00000.83400.4166model_form_blend
predicted_WHIP-1.52831.5283form_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 date48
Season rows before report date48
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
Pitches24

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER1
Pitching_ERA2.80
Pitching_Flyouts0
Pitching_Groundouts2
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches12
Pitching_R1
Pitching_SO0
Pitching_Strikes7
Pitching_Wild Pitch0
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260804_SD@ARI
game_typefull
mlbID642528
playerID642528
playerNameJonathan Loáisiga
posP
startedFalse
startingPositionP
teamARI
teamID1
game_date2026-08-04
game_pk825054.0
sl_k_percent18.6
sl_bb_percent5.1
sl_woba0.257
sl_xwoba0.269
sl_sweet_spot_percent28.2
sl_barrel_batted_rate4.3
sl_hard_hit_percent33.1
sl_whiff_percent22.3
sl_swing_percent52.0
sv_pitch_count12.0
sv_outs_recorded_est3.0
sv_release_speed96.21666666666664
sv_release_spin_rate2221.583333333333
sv_effective_speed96.49166666666667
sv_launch_speed81.12
sv_launch_angle1.6
sv_woba_value2.5
sv_woba_denom5.0
sv_delta_run_exp0.8190000000000001
sv_delta_home_win_exp-0.007
sl_avg_best_speed74.333142875
sl_avg_hyper_speed93.133842516
Juan Morillo (666661) · PITCHER · Closer · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 49
All-history rows before 20260827: 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.3270.000-0.3270.000
predicted_ER0.0000.0000.000Pitching_ER0.2650.000-0.2650.000
predicted_H0.0000.0000.000Pitching_H0.6121.000-0.612-1.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8241.1000.176-0.100
predicted_SO0.0000.0000.000Pitching_SO1.1222.000-1.122-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "666661",
  "player_name": "Juan Morillo",
  "position": "Closer",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 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: 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.1000.0002.0000.0007.0000.0000.00000.37500.00000.37500.00001.31250.0000
last_100.351010.2001.0004.0003.00012.0000.0000.84380.65620.09380.37500.28121.12500.0000
season0.204846.00013.00029.00016.00055.0002.0002.54350.97830.28260.63040.34781.19570.0435
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2390
predicted_ER0.2340
predicted_ERA2.1099
predicted_H0.6200
predicted_HR0.0570
predicted_IP1.0000
predicted_SO1.1250
predicted_WHIP0.8582
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.23900.1199model_form_blend
predicted_ER0.00000.23400.1174model_form_blend
predicted_ERA-2.10992.1099form_only
predicted_H0.00000.62000.3110model_form_blend
predicted_HR0.00000.05700.0286model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.12500.5643model_form_blend
predicted_WHIP-0.85820.8582form_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.0
H0
R0
ER0
BB0
SO0
HR0
BF3
Pitches13

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER0
Pitching_ERA2.54
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.1
Pitching_Pitches18
Pitching_R0
Pitching_SO2
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260803_SD@ARI
game_typefull
mlbID666661
playerID666661
playerNameJuan Morillo
posP
startedFalse
startingPositionP
teamARI
teamID1
game_date2026-08-03
game_pk825095.0
sl_k_percent28.2
sl_bb_percent9.1
sl_woba0.248
sl_xwoba0.237
sl_sweet_spot_percent27.4
sl_barrel_batted_rate3.0
sl_hard_hit_percent30.4
sl_whiff_percent29.3
sl_swing_percent48.4
sv_pitch_count18.0
sv_outs_recorded_est4.0
sv_release_speed97.76111111111112
sv_release_spin_rate2375.8888888888887
sv_effective_speed97.59444444444443
sv_launch_speed90.6
sv_launch_angle26.5
sv_woba_value0.9
sv_woba_denom5.0
sv_delta_run_exp-0.614
sv_delta_home_win_exp0.149
sl_avg_best_speed74.360431045
sl_avg_hyper_speed92.774823985
Kevin Ginkel (656464) · PITCHER · Middle Reliever (High Leverage) · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 50
All-history rows before 20260827: 50

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2601.000-0.260-1.000
predicted_ER0.0000.0000.000Pitching_ER0.3200.000-0.3200.000
predicted_H1.0001.0001.000Pitching_H0.8001.0000.2000.000
predicted_IP0.1001.1000.100Pitching_InningsPitched0.8581.0000.2420.100
predicted_SO1.0001.0001.000Pitching_SO0.8600.0000.1401.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER1.000-
predicted_H1.000-
predicted_HR1.000-
predicted_IP0.100-
predicted_SO2.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 50
Reference playing time: 0.100
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.1001.0004.0001.0001.0001.0001.68750.93750.18750.75000.18750.18750.1875
last_100.351010.0004.0009.0002.0003.0001.0003.60001.10000.40000.90000.20000.30000.1000
season0.205047.10016.00040.00013.00043.0005.0003.04231.11970.33800.84510.27470.90840.1056
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2040
predicted_ER0.2810
predicted_ERA3.2809
predicted_H0.6740
predicted_HR0.1100
predicted_IP0.2000
predicted_SO0.4380
predicted_WHIP1.1395
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.20400.1029model_form_blend
predicted_ER1.00000.28100.6374model_form_blend
predicted_ERA-3.28093.2809form_only
predicted_H1.00000.67400.8356model_form_blend
predicted_HR1.00000.11000.5511model_form_blend
predicted_IP0.10000.20000.2000model_form_blend
predicted_SO2.00000.43801.2122model_form_blend
predicted_WHIP-1.13951.1395form_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 date50
Season rows before report date50
Report year2026
Profile rows used50
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H1
R0
ER0
BB0
SO1
HR1
BF2
Pitches7

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER0
Pitching_ERA3.04
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners3
Pitching_Inherited Runners Scored3
Pitching_InningsPitched1.0
Pitching_Pitches25
Pitching_R0
Pitching_SO0
Pitching_Strikes15
Pitching_Wild Pitch0
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260801_ARI@CLE
game_typefull
mlbID656464
playerID656464
playerNameKevin Ginkel
posP
startedFalse
startingPositionP
teamARI
teamID1
game_date2026-08-01
game_pk824405.0
sl_k_percent24.0
sl_bb_percent6.9
sl_woba0.294
sl_xwoba0.301
sl_sweet_spot_percent33.5
sl_barrel_batted_rate9.3
sl_hard_hit_percent39.1
sl_whiff_percent30.1
sl_swing_percent50.6
sv_pitch_count25.0
sv_outs_recorded_est3.0
sv_release_speed91.944
sv_release_spin_rate2333.2
sv_effective_speed93.168
sv_launch_speed84.02000000000001
sv_launch_angle15.4
sv_woba_value1.6
sv_woba_denom5.0
sv_delta_run_exp0.0779999999999999
sv_delta_home_win_exp-0.0399999999999999
sl_avg_best_speed78.724196456
sl_avg_hyper_speed93.960200446

Home Team: SF

Home Pitcher Deep Analysis

FieldValue
PitcherLanden Roupp
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.2181
ESPN Rank226
Movement AvailableTrue
Primary Pitch-
Movement Score-0.1593
Avg Velo87.0022
Avg Spin2326.4570
HB Inches0
IVB Inches0
Release Extension0
Pre IP5
Pre ER1
Pre H5
Pre BB1
Pre SO4
Season ERA4.3441
Season WHIP1.3144
Role Avg IP5.3870
Recent Avg IP4.9330
Last Start IP5.1000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "SF",
    "games": 133,
    "wins": 54,
    "losses": 79,
    "win_pct": 0.406,
    "runs_scored": 540.0,
    "runs_allowed": 614.0,
    "run_differential": -74.0,
    "run_differential_per_game": -0.5564,
    "avg_runs_scored": 4.0602,
    "avg_runs_allowed": 4.6165,
    "offense_index": 0.9051,
    "defense_index": 0.9717,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 5.1,
      "run_differential": -13.0
    },
    "available": true,
    "quality_score": -0.2181
  },
  "opponent": {
    "team": "ARI",
    "games": 134,
    "wins": 71,
    "losses": 63,
    "win_pct": 0.5299,
    "runs_scored": 605.0,
    "runs_allowed": 600.0,
    "run_differential": 5.0,
    "run_differential_per_game": 0.0373,
    "avg_runs_scored": 4.5149,
    "avg_runs_allowed": 4.4776,
    "offense_index": 1.0064,
    "defense_index": 1.0019,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 5.6,
      "run_differential": -15.0
    },
    "available": true,
    "quality_score": 0.03
  },
  "edges": {
    "quality_edge": -0.2481,
    "offense_edge": -0.0949,
    "opponent_offense_edge": 0.0064,
    "defense_strength": -0.0283,
    "opponent_defense_weakness": -0.0019,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 0.989,
    "run_prevention": 1.0163,
    "strikeout": 0.992
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "694738",
    "profile": {
      "available": true,
      "pitcher_id": "694738",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 545.0,
        "k_percent": 22.6,
        "bb_percent": 11.1,
        "woba": 0.3,
        "xwoba": 0.3,
        "sweet_spot_percent": 32.8,
        "barrel_batted_rate": 4.8,
        "hard_hit_percent": 29.3,
        "avg_best_speed": 75.1243,
        "avg_hyper_speed": 92.5778,
        "whiff_percent": 25.2,
        "swing_percent": 43.4
      },
      "league_medians": {
        "pa": 122.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.6441,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.3
      },
      "components": {
        "contact_quality": 0.4384,
        "command_and_miss": -0.0564,
        "regression_edge": 0.0,
        "xwoba_edge": 0.3143,
        "barrel_edge": 0.5111,
        "hard_hit_edge": 1.2143,
        "whiff_edge": 0.0,
        "bb_edge": -0.475,
        "pitch_design_score": -0.1593
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "694738",
        "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": 87.00224317148336,
          "release_spin_rate": 2326.4570396123822,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 87.00224317148336,
            "release_spin_rate": 2326.4570396123822,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0022,
          "release_spin_rate": 2326.457,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.1593,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -1.138,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.2181,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9815,
      "strikeout_factor": 1.0034,
      "walk_factor": 1.038,
      "homer_factor": 0.9011,
      "woba_minus_xwoba": 0.0,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "694738",
        "espn_id": 4345404,
        "player_name": "Landen Roupp",
        "team": "SF",
        "role": "pitcher",
        "espn_rank": 226,
        "espn_total_ranked": 832,
        "metrics": {
          "espn_rank": 226,
          "gp_value": 25.0,
          "gp_rank": 279,
          "gs_value": 25.0,
          "gs_rank": 35,
          "qs_value": 10.0,
          "qs_rank": 50,
          "era_value": 4.344,
          "era_rank": 44.0,
          "w_value": 7.0,
          "w_rank": 73,
          "l_value": 13.0,
          "l_rank": 2,
          "sv_value": 0.0,
          "sv_rank": 243,
          "hld_value": 0.0,
          "hld_rank": 336,
          "ip_value": 134.2,
          "ip_rank": 51,
          "h_value": 113.0,
          "h_rank": 78,
          "er_value": 65.0,
          "er_rank": 29,
          "hr_value": 10.0,
          "hr_rank": 144,
          "bb_value": 64.0,
          "bb_rank": 6,
          "k_value": 130.0,
          "k_rank": 42,
          "k_per_9_value": 8.688119,
          "k_per_9_rank": 22.0,
          "whip_value": 1.3143,
          "whip_rank": 41.0,
          "war_value": 0.61,
          "war_rank": 1.0
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 3.0,
        "factor": 0.9815,
        "adjusted": 3
      },
      "predicted_H": {
        "original": 4.0,
        "factor": 0.9815,
        "adjusted": 4
      },
      "predicted_BB": {
        "original": 3.0,
        "factor": 1.038,
        "adjusted": 3
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9011,
        "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": 54.1,
    "ER": 28,
    "H": 42,
    "BB": 31,
    "SO": 41,
    "HR": 5,
    "ERA": 4.638036809815952,
    "WHIP": 1.343558282208589,
    "K9": 6.791411042944786,
    "HR9": 0.8282208588957056,
    "games_pitched": 10,
    "quality_starts": 4,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-20T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "694738",
  "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": 87.00224317148336,
    "release_spin_rate": 2326.4570396123822,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 87.00224317148336,
      "release_spin_rate": 2326.4570396123822,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0022,
    "release_spin_rate": 2326.457,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.1593,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.138,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": 25.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8333,
    "prior_weight": 0.1667
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "694738",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 25,
  "reference_playing_time": 5.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 24.2,
        "ER": 17.0,
        "R": 18.0,
        "H": 22.0,
        "BB": 19.0,
        "SO": 17.0,
        "HR": 2.0,
        "BF": 117.0,
        "Pitches": 449.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 3.4,
        "R": 3.6,
        "H": 4.4,
        "BB": 3.8,
        "SO": 3.4,
        "HR": 0.4,
        "BF": 23.4,
        "Pitches": 89.8
      },
      "rates": {
        "ERA": 6.2027,
        "WHIP": 1.6622,
        "ER_per_IP": 0.68919,
        "H_per_IP": 0.89189,
        "BB_per_IP": 0.77027,
        "SO_per_IP": 0.68919,
        "HR_per_IP": 0.08108
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 54.1,
        "ER": 28.0,
        "R": 29.0,
        "H": 42.0,
        "BB": 31.0,
        "SO": 41.0,
        "HR": 5.0,
        "BF": 236.0,
        "Pitches": 933.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 2.8,
        "R": 2.9,
        "H": 4.2,
        "BB": 3.1,
        "SO": 4.1,
        "HR": 0.5,
        "BF": 23.6,
        "Pitches": 93.3
      },
      "rates": {
        "ERA": 4.638,
        "WHIP": 1.3436,
        "ER_per_IP": 0.51534,
        "H_per_IP": 0.77301,
        "BB_per_IP": 0.57055,
        "SO_per_IP": 0.7546,
        "HR_per_IP": 0.09202
      }
    },
    "season": {
      "games": 25,
      "totals": {
        "IP": 134.2,
        "ER": 65.0,
        "R": 70.0,
        "H": 113.0,
        "BB": 64.0,
        "SO": 130.0,
        "HR": 10.0,
        "BF": 574.0,
        "Pitches": 2373.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 2.6,
        "R": 2.8,
        "H": 4.52,
        "BB": 2.56,
        "SO": 5.2,
        "HR": 0.4,
        "BF": 22.96,
        "Pitches": 94.92
      },
      "rates": {
        "ERA": 4.3441,
        "WHIP": 1.3144,
        "ER_per_IP": 0.48267,
        "H_per_IP": 0.83911,
        "BB_per_IP": 0.47525,
        "SO_per_IP": 0.96535,
        "HR_per_IP": 0.07426
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.0,
    "predicted_ER": 2.952,
    "predicted_H": 4.445,
    "predicted_BB": 3.071,
    "predicted_SO": 4.104,
    "predicted_HR": 0.485,
    "predicted_ERA": 5.1565,
    "predicted_WHIP": 1.4586
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4204,
  "form_weight": 0.5796,
  "form_reliability": 0.8333,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 25.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8333,
    "prior_weight": 0.1667
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.0,
      "form": 5.0,
      "final": 5.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 2.952,
      "final": 2.1313,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 5.0,
      "form": 4.445,
      "final": 4.6783,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 3.071,
      "final": 2.2003,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 4.0,
      "form": 4.104,
      "final": 4.0603,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.485,
      "final": 0.2811,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.1565,
      "final": 5.1565,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4586,
      "final": 1.4586,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherDylan Smith
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.0709
ESPN Rank287
Movement AvailableTrue
Primary Pitch-
Movement Score0.0918
Avg Velo91.4869
Avg Spin2341.5728
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA3.4535
Season WHIP1.3605
Role Avg IP0.9250
Recent Avg IP1.0670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "SF",
    "games": 133,
    "wins": 54,
    "losses": 79,
    "win_pct": 0.406,
    "runs_scored": 540.0,
    "runs_allowed": 614.0,
    "run_differential": -74.0,
    "run_differential_per_game": -0.5564,
    "avg_runs_scored": 4.0602,
    "avg_runs_allowed": 4.6165,
    "offense_index": 0.9051,
    "defense_index": 0.9717,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 5.1,
      "run_differential": -13.0
    },
    "available": true,
    "quality_score": -0.2181
  },
  "opponent": {
    "team": "ARI",
    "games": 134,
    "wins": 71,
    "losses": 63,
    "win_pct": 0.5299,
    "runs_scored": 605.0,
    "runs_allowed": 600.0,
    "run_differential": 5.0,
    "run_differential_per_game": 0.0373,
    "avg_runs_scored": 4.5149,
    "avg_runs_allowed": 4.4776,
    "offense_index": 1.0064,
    "defense_index": 1.0019,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 5.6,
      "run_differential": -15.0
    },
    "available": true,
    "quality_score": 0.03
  },
  "edges": {
    "quality_edge": -0.2481,
    "offense_edge": -0.0949,
    "opponent_offense_edge": 0.0064,
    "defense_strength": -0.0283,
    "opponent_defense_weakness": -0.0019,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 0.989,
    "run_prevention": 1.0163,
    "strikeout": 0.992
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "681916",
    "profile": {
      "available": true,
      "pitcher_id": "681916",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 101.0,
        "k_percent": 28.3,
        "bb_percent": 11.0,
        "woba": 0.301,
        "xwoba": 0.298,
        "sweet_spot_percent": 37.3,
        "barrel_batted_rate": 6.7,
        "hard_hit_percent": 45.3,
        "avg_best_speed": 78.1088,
        "avg_hyper_speed": 94.3854,
        "whiff_percent": 26.8,
        "swing_percent": 49.1
      },
      "league_medians": {
        "pa": 122.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.6441,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.3
      },
      "components": {
        "contact_quality": 0.0697,
        "command_and_miss": 0.395,
        "regression_edge": 0.0857,
        "xwoba_edge": 0.3714,
        "barrel_edge": 0.0889,
        "hard_hit_edge": -1.0714,
        "whiff_edge": 0.2286,
        "bb_edge": -0.45,
        "pitch_design_score": 0.0918
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "681916",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 18,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 18,
          "pitch_usage": 0.0,
          "release_speed": 91.48694639152991,
          "release_spin_rate": 2341.5728244680595,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 18,
            "pitch_usage": 0.0,
            "release_speed": 91.48694639152991,
            "release_spin_rate": 2341.5728244680595,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.4869,
          "release_spin_rate": 2341.5728,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0918,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.6558,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_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.45,
      "run_prevention_factor": 0.994,
      "strikeout_factor": 1.0203,
      "walk_factor": 1.0162,
      "homer_factor": 1.0111,
      "woba_minus_xwoba": 0.003,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "681916",
        "espn_id": 4414123,
        "player_name": "Dylan Smith",
        "team": "SF",
        "role": "pitcher",
        "espn_rank": 287,
        "espn_total_ranked": 832,
        "metrics": {
          "espn_rank": 287,
          "gp_value": 31.0,
          "gp_rank": 200,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 205,
          "era_value": 3.4534,
          "era_rank": null,
          "w_value": 0.0,
          "w_rank": 509,
          "l_value": 5.0,
          "l_rank": 125,
          "sv_value": 3.0,
          "sv_rank": 65,
          "hld_value": 7.0,
          "hld_rank": 121,
          "ip_value": 28.2,
          "ip_rank": 427,
          "h_value": 25.0,
          "h_rank": 437,
          "er_value": 11.0,
          "er_rank": 471,
          "hr_value": 3.0,
          "hr_rank": 413,
          "bb_value": 14.0,
          "bb_rank": 371,
          "k_value": 36.0,
          "k_rank": 355,
          "k_per_9_value": 11.302325,
          "k_per_9_rank": 22.0,
          "whip_value": 1.3604,
          "whip_rank": null,
          "war_value": 0.34,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9973,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9973,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0073,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.005,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0091,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 10.0,
    "ER": 5,
    "H": 11,
    "BB": 5,
    "SO": 14,
    "HR": 1,
    "ERA": 4.500000000000001,
    "WHIP": 1.6000000000000003,
    "K9": 12.600000000000001,
    "HR9": 0.9000000000000001,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-26T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "681916",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 18,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 18,
    "pitch_usage": 0.0,
    "release_speed": 91.48694639152991,
    "release_spin_rate": 2341.5728244680595,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 18,
      "pitch_usage": 0.0,
      "release_speed": 91.48694639152991,
      "release_spin_rate": 2341.5728244680595,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.4869,
    "release_spin_rate": 2341.5728,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0918,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.6558,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.756,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5351,
    "prior_weight": 0.4649
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "681916",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 31,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 3.0,
        "R": 4.0,
        "H": 7.0,
        "BB": 2.0,
        "SO": 9.0,
        "HR": 1.0,
        "BF": 25.0,
        "Pitches": 102.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.8,
        "H": 1.4,
        "BB": 0.4,
        "SO": 1.8,
        "HR": 0.2,
        "BF": 5.0,
        "Pitches": 20.4
      },
      "rates": {
        "ERA": 5.0625,
        "WHIP": 1.6875,
        "ER_per_IP": 0.5625,
        "H_per_IP": 1.3125,
        "BB_per_IP": 0.375,
        "SO_per_IP": 1.6875,
        "HR_per_IP": 0.1875
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 5.0,
        "R": 6.0,
        "H": 11.0,
        "BB": 5.0,
        "SO": 14.0,
        "HR": 1.0,
        "BF": 45.0,
        "Pitches": 180.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.5,
        "R": 0.6,
        "H": 1.1,
        "BB": 0.5,
        "SO": 1.4,
        "HR": 0.1,
        "BF": 4.5,
        "Pitches": 18.0
      },
      "rates": {
        "ERA": 4.5,
        "WHIP": 1.6,
        "ER_per_IP": 0.5,
        "H_per_IP": 1.1,
        "BB_per_IP": 0.5,
        "SO_per_IP": 1.4,
        "HR_per_IP": 0.1
      }
    },
    "season": {
      "games": 31,
      "totals": {
        "IP": 28.2,
        "ER": 11.0,
        "R": 13.0,
        "H": 25.0,
        "BB": 14.0,
        "SO": 36.0,
        "HR": 3.0,
        "BF": 127.0,
        "Pitches": 509.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3548,
        "R": 0.4194,
        "H": 0.8065,
        "BB": 0.4516,
        "SO": 1.1613,
        "HR": 0.0968,
        "BF": 4.0968,
        "Pitches": 16.4194
      },
      "rates": {
        "ERA": 3.4535,
        "WHIP": 1.3605,
        "ER_per_IP": 0.38372,
        "H_per_IP": 0.87209,
        "BB_per_IP": 0.48837,
        "SO_per_IP": 1.25581,
        "HR_per_IP": 0.10465
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.504,
    "predicted_H": 1.07,
    "predicted_BB": 0.408,
    "predicted_SO": 1.241,
    "predicted_HR": 0.143,
    "predicted_ERA": 4.5339,
    "predicted_WHIP": 1.4774
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5464,
  "form_weight": 0.4536,
  "form_reliability": 0.5351,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 5.756,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5351,
    "prior_weight": 0.4649
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.504,
      "final": 0.2286,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.07,
      "final": 0.4853,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.408,
      "final": 0.1851,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.241,
      "final": 0.5629,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.143,
      "final": 0.0649,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.5339,
      "final": 4.5339,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4774,
      "final": 1.4774,
      "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
PitcherJason Foley
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.1805
ESPN Rank477
Movement AvailableTrue
Primary Pitch-
Movement Score0.1287
Avg Velo92.1454
Avg Spin2042.4218
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H2
Pre BB1
Pre SO1
Season ERA4.0500
Season WHIP1.3500
Role Avg IP1.0260
Recent Avg IP1.0670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "SF",
    "games": 133,
    "wins": 54,
    "losses": 79,
    "win_pct": 0.406,
    "runs_scored": 540.0,
    "runs_allowed": 614.0,
    "run_differential": -74.0,
    "run_differential_per_game": -0.5564,
    "avg_runs_scored": 4.0602,
    "avg_runs_allowed": 4.6165,
    "offense_index": 0.9051,
    "defense_index": 0.9717,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 5.1,
      "run_differential": -13.0
    },
    "available": true,
    "quality_score": -0.2181
  },
  "opponent": {
    "team": "ARI",
    "games": 134,
    "wins": 71,
    "losses": 63,
    "win_pct": 0.5299,
    "runs_scored": 605.0,
    "runs_allowed": 600.0,
    "run_differential": 5.0,
    "run_differential_per_game": 0.0373,
    "avg_runs_scored": 4.5149,
    "avg_runs_allowed": 4.4776,
    "offense_index": 1.0064,
    "defense_index": 1.0019,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 5.6,
      "run_differential": -15.0
    },
    "available": true,
    "quality_score": 0.03
  },
  "edges": {
    "quality_edge": -0.2481,
    "offense_edge": -0.0949,
    "opponent_offense_edge": 0.0064,
    "defense_strength": -0.0283,
    "opponent_defense_weakness": -0.0019,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 0.989,
    "run_prevention": 1.0163,
    "strikeout": 0.992
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "671345",
    "profile": {
      "available": true,
      "pitcher_id": "671345",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 41.0,
        "k_percent": 17.5,
        "bb_percent": 8.8,
        "woba": 0.303,
        "xwoba": 0.268,
        "sweet_spot_percent": 28.6,
        "barrel_batted_rate": 4.8,
        "hard_hit_percent": 35.7,
        "avg_best_speed": 73.9725,
        "avg_hyper_speed": 94.2963,
        "whiff_percent": 18.0,
        "swing_percent": 42.2
      },
      "league_medians": {
        "pa": 122.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.6441,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.3
      },
      "components": {
        "contact_quality": 0.8114,
        "command_and_miss": -0.6293,
        "regression_edge": 1.0,
        "xwoba_edge": 1.2286,
        "barrel_edge": 0.5111,
        "hard_hit_edge": 0.3,
        "whiff_edge": -1.0286,
        "bb_edge": 0.1,
        "pitch_design_score": 0.1287
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "671345",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 15,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 15,
          "pitch_usage": 0.0,
          "release_speed": 92.14536496544392,
          "release_spin_rate": 2042.421800334169,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 15,
            "pitch_usage": 0.0,
            "release_speed": 92.14536496544392,
            "release_spin_rate": 2042.421800334169,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.1454,
          "release_spin_rate": 2042.4218,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1287,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.9192,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.1805,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9847,
      "strikeout_factor": 0.9699,
      "walk_factor": 0.9964,
      "homer_factor": 0.9596,
      "woba_minus_xwoba": 0.035,
      "regression_flag": "positive_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "671345",
        "espn_id": 42698,
        "player_name": "Jason Foley",
        "team": "SF",
        "role": "pitcher",
        "espn_rank": 477,
        "espn_total_ranked": 832,
        "metrics": {
          "espn_rank": 477,
          "gp_value": 13.0,
          "gp_rank": 466,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 205,
          "era_value": 4.05,
          "era_rank": null,
          "w_value": 1.0,
          "w_rank": 391,
          "l_value": 1.0,
          "l_rank": 404,
          "sv_value": 0.0,
          "sv_rank": 243,
          "hld_value": 0.0,
          "hld_rank": 336,
          "ip_value": 13.1,
          "ip_rank": 557,
          "h_value": 13.0,
          "h_rank": 570,
          "er_value": 6.0,
          "er_rank": 601,
          "hr_value": 1.0,
          "hr_rank": 586,
          "bb_value": 5.0,
          "bb_rank": 599,
          "k_value": 10.0,
          "k_rank": 566,
          "k_per_9_value": 6.75,
          "k_per_9_rank": 27.0,
          "whip_value": 1.35,
          "whip_rank": null,
          "war_value": 0.0,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9931,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9931,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9984,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9818,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9865,
        "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": 4,
    "H": 11,
    "BB": 5,
    "SO": 8,
    "HR": 0,
    "ERA": 3.4838709677419355,
    "WHIP": 1.5483870967741935,
    "K9": 6.967741935483871,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-26T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "671345",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 15,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 15,
    "pitch_usage": 0.0,
    "release_speed": 92.14536496544392,
    "release_spin_rate": 2042.421800334169,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 15,
      "pitch_usage": 0.0,
      "release_speed": 92.14536496544392,
      "release_spin_rate": 2042.421800334169,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.1454,
    "release_spin_rate": 2042.4218,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1287,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.9192,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.677,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.3487,
    "prior_weight": 0.6513
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "671345",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 13,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 5.0,
        "BB": 1.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 21.0,
        "Pitches": 83.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 1.0,
        "BB": 0.2,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 4.2,
        "Pitches": 16.6
      },
      "rates": {
        "ERA": 1.6875,
        "WHIP": 1.125,
        "ER_per_IP": 0.1875,
        "H_per_IP": 0.9375,
        "BB_per_IP": 0.1875,
        "SO_per_IP": 0.9375,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.1,
        "ER": 4.0,
        "R": 5.0,
        "H": 11.0,
        "BB": 5.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 46.0,
        "Pitches": 172.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.5,
        "H": 1.1,
        "BB": 0.5,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 4.6,
        "Pitches": 17.2
      },
      "rates": {
        "ERA": 3.4839,
        "WHIP": 1.5484,
        "ER_per_IP": 0.3871,
        "H_per_IP": 1.06452,
        "BB_per_IP": 0.48387,
        "SO_per_IP": 0.77419,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 13,
      "totals": {
        "IP": 13.1,
        "ER": 6.0,
        "R": 7.0,
        "H": 13.0,
        "BB": 5.0,
        "SO": 10.0,
        "HR": 1.0,
        "BF": 57.0,
        "Pitches": 211.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4615,
        "R": 0.5385,
        "H": 1.0,
        "BB": 0.3846,
        "SO": 0.7692,
        "HR": 0.0769,
        "BF": 4.3846,
        "Pitches": 16.2308
      },
      "rates": {
        "ERA": 4.05,
        "WHIP": 1.35,
        "ER_per_IP": 0.45,
        "H_per_IP": 0.975,
        "BB_per_IP": 0.375,
        "SO_per_IP": 0.75,
        "HR_per_IP": 0.075
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.435,
    "predicted_H": 0.981,
    "predicted_BB": 0.355,
    "predicted_SO": 0.908,
    "predicted_HR": 0.101,
    "predicted_ERA": 3.9179,
    "predicted_WHIP": 1.3363
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.6252,
  "form_weight": 0.3748,
  "form_reliability": 0.3487,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 2.677,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.3487,
    "prior_weight": 0.6513
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.435,
      "final": 0.7882,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.981,
      "final": 1.6181,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.355,
      "final": 0.7582,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.908,
      "final": 0.9655,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.101,
      "final": 0.0379,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.9179,
      "final": 3.9179,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3363,
      "final": 1.3363,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherSam Hentges
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.1000
ESPN Rank295
Movement AvailableTrue
Primary Pitch-
Movement Score0.0137
Avg Velo90.0918
Avg Spin2193.8976
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H1
Pre BB0
Pre SO0
Season ERA3.2727
Season WHIP1.5758
Role Avg IP0.8460
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "SF",
    "games": 133,
    "wins": 54,
    "losses": 79,
    "win_pct": 0.406,
    "runs_scored": 540.0,
    "runs_allowed": 614.0,
    "run_differential": -74.0,
    "run_differential_per_game": -0.5564,
    "avg_runs_scored": 4.0602,
    "avg_runs_allowed": 4.6165,
    "offense_index": 0.9051,
    "defense_index": 0.9717,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 5.1,
      "run_differential": -13.0
    },
    "available": true,
    "quality_score": -0.2181
  },
  "opponent": {
    "team": "ARI",
    "games": 134,
    "wins": 71,
    "losses": 63,
    "win_pct": 0.5299,
    "runs_scored": 605.0,
    "runs_allowed": 600.0,
    "run_differential": 5.0,
    "run_differential_per_game": 0.0373,
    "avg_runs_scored": 4.5149,
    "avg_runs_allowed": 4.4776,
    "offense_index": 1.0064,
    "defense_index": 1.0019,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 5.6,
      "run_differential": -15.0
    },
    "available": true,
    "quality_score": 0.03
  },
  "edges": {
    "quality_edge": -0.2481,
    "offense_edge": -0.0949,
    "opponent_offense_edge": 0.0064,
    "defense_strength": -0.0283,
    "opponent_defense_weakness": -0.0019,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 0.989,
    "run_prevention": 1.0163,
    "strikeout": 0.992
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "656529",
    "profile": {
      "available": true,
      "pitcher_id": "656529",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 130.0,
        "k_percent": 22.7,
        "bb_percent": 14.9,
        "woba": 0.303,
        "xwoba": 0.303,
        "sweet_spot_percent": 27.2,
        "barrel_batted_rate": 4.3,
        "hard_hit_percent": 30.4,
        "avg_best_speed": 77.8209,
        "avg_hyper_speed": 92.6647,
        "whiff_percent": 27.8,
        "swing_percent": 43.1
      },
      "league_medians": {
        "pa": 122.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.6441,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.3
      },
      "components": {
        "contact_quality": 0.3924,
        "command_and_miss": -0.11,
        "regression_edge": 0.0,
        "xwoba_edge": 0.2286,
        "barrel_edge": 0.6222,
        "hard_hit_edge": 1.0571,
        "whiff_edge": 0.3714,
        "bb_edge": -1.425,
        "pitch_design_score": 0.0137
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "656529",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 21,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 21,
          "pitch_usage": 0.0,
          "release_speed": 90.09177251502982,
          "release_spin_rate": 2193.8975613913008,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 21,
            "pitch_usage": 0.0,
            "release_speed": 90.09177251502982,
            "release_spin_rate": 2193.8975613913008,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0918,
          "release_spin_rate": 2193.8976,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0137,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.0978,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.1,
      "sample_weight": 0.52,
      "run_prevention_factor": 0.9915,
      "strikeout_factor": 1.0098,
      "walk_factor": 1.0593,
      "homer_factor": 0.9486,
      "woba_minus_xwoba": 0.0,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "656529",
        "espn_id": 41225,
        "player_name": "Sam Hentges",
        "team": "SF",
        "role": "pitcher",
        "espn_rank": 295,
        "espn_total_ranked": 832,
        "metrics": {
          "espn_rank": 295,
          "gp_value": 40.0,
          "gp_rank": 154,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 205,
          "era_value": 3.2727,
          "era_rank": null,
          "w_value": 1.0,
          "w_rank": 391,
          "l_value": 6.0,
          "l_rank": 97,
          "sv_value": 0.0,
          "sv_rank": 243,
          "hld_value": 10.0,
          "hld_rank": 76,
          "ip_value": 33.0,
          "ip_rank": 393,
          "h_value": 30.0,
          "h_rank": 389,
          "er_value": 12.0,
          "er_rank": 447,
          "hr_value": 0.0,
          "hr_rank": 719,
          "bb_value": 23.0,
          "bb_rank": 222,
          "k_value": 35.0,
          "k_rank": 361,
          "k_per_9_value": 9.545454,
          "k_per_9_rank": 24.0,
          "whip_value": 1.606,
          "whip_rank": null,
          "war_value": 0.31,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9956,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9956,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.0308,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9733,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0051,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 9.1,
    "ER": 5,
    "H": 10,
    "BB": 5,
    "SO": 8,
    "HR": 0,
    "ERA": 4.821428571428571,
    "WHIP": 1.607142857142857,
    "K9": 7.7142857142857135,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "656529",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 21,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 21,
    "pitch_usage": 0.0,
    "release_speed": 90.09177251502982,
    "release_spin_rate": 2193.8975613913008,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 21,
      "pitch_usage": 0.0,
      "release_speed": 90.09177251502982,
      "release_spin_rate": 2193.8975613913008,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0918,
    "release_spin_rate": 2193.8976,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0137,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.0978,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.626,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5699,
    "prior_weight": 0.4301
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "656529",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 39,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 4.0,
        "R": 4.0,
        "H": 5.0,
        "BB": 3.0,
        "SO": 4.0,
        "HR": 0.0,
        "BF": 25.0,
        "Pitches": 94.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.8,
        "R": 0.8,
        "H": 1.0,
        "BB": 0.6,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 5.0,
        "Pitches": 18.8
      },
      "rates": {
        "ERA": 7.2,
        "WHIP": 1.6,
        "ER_per_IP": 0.8,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.6,
        "SO_per_IP": 0.8,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 5.0,
        "R": 7.0,
        "H": 10.0,
        "BB": 5.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 46.0,
        "Pitches": 180.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.5,
        "R": 0.7,
        "H": 1.0,
        "BB": 0.5,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 4.6,
        "Pitches": 18.0
      },
      "rates": {
        "ERA": 4.8214,
        "WHIP": 1.6071,
        "ER_per_IP": 0.53571,
        "H_per_IP": 1.07143,
        "BB_per_IP": 0.53571,
        "SO_per_IP": 0.85714,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 39,
      "totals": {
        "IP": 33.0,
        "ER": 12.0,
        "R": 14.0,
        "H": 29.0,
        "BB": 23.0,
        "SO": 35.0,
        "HR": 0.0,
        "BF": 153.0,
        "Pitches": 612.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3077,
        "R": 0.359,
        "H": 0.7436,
        "BB": 0.5897,
        "SO": 0.8974,
        "HR": 0.0,
        "BF": 3.9231,
        "Pitches": 15.6923
      },
      "rates": {
        "ERA": 3.2727,
        "WHIP": 1.5758,
        "ER_per_IP": 0.36364,
        "H_per_IP": 0.87879,
        "BB_per_IP": 0.69697,
        "SO_per_IP": 1.06061,
        "HR_per_IP": 0.0
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.57,
    "predicted_H": 0.99,
    "predicted_BB": 0.499,
    "predicted_SO": 0.902,
    "predicted_HR": 0.063,
    "predicted_ERA": 5.1263,
    "predicted_WHIP": 1.4894
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5317,
  "form_weight": 0.4683,
  "form_reliability": 0.5699,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 6.626,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5699,
    "prior_weight": 0.4301
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.57,
      "final": 0.7986,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.99,
      "final": 0.9953,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.499,
      "final": 0.2337,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.902,
      "final": 0.4224,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.063,
      "final": 0.5612,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.1263,
      "final": 5.1263,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4894,
      "final": 1.4894,
      "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
PitcherTrent Harris
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.3498
ESPN Rank564
Movement AvailableTrue
Primary Pitch-
Movement Score-0.1248
Avg Velo87.6181
Avg Spin2449.3637
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA5.6250
Season WHIP1.7500
Role Avg IP1.1430
Recent Avg IP1.2670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "SF",
    "games": 133,
    "wins": 54,
    "losses": 79,
    "win_pct": 0.406,
    "runs_scored": 540.0,
    "runs_allowed": 614.0,
    "run_differential": -74.0,
    "run_differential_per_game": -0.5564,
    "avg_runs_scored": 4.0602,
    "avg_runs_allowed": 4.6165,
    "offense_index": 0.9051,
    "defense_index": 0.9717,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 5.1,
      "run_differential": -13.0
    },
    "available": true,
    "quality_score": -0.2181
  },
  "opponent": {
    "team": "ARI",
    "games": 134,
    "wins": 71,
    "losses": 63,
    "win_pct": 0.5299,
    "runs_scored": 605.0,
    "runs_allowed": 600.0,
    "run_differential": 5.0,
    "run_differential_per_game": 0.0373,
    "avg_runs_scored": 4.5149,
    "avg_runs_allowed": 4.4776,
    "offense_index": 1.0064,
    "defense_index": 1.0019,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 5.6,
      "run_differential": -15.0
    },
    "available": true,
    "quality_score": 0.03
  },
  "edges": {
    "quality_edge": -0.2481,
    "offense_edge": -0.0949,
    "opponent_offense_edge": 0.0064,
    "defense_strength": -0.0283,
    "opponent_defense_weakness": -0.0019,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 0.989,
    "run_prevention": 1.0163,
    "strikeout": 0.992
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "805345",
    "profile": {
      "available": true,
      "pitcher_id": "805345",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 23.0,
        "k_percent": 34.2,
        "bb_percent": 13.2,
        "woba": 0.35,
        "xwoba": 0.27,
        "sweet_spot_percent": 40.0,
        "barrel_batted_rate": 0.0,
        "hard_hit_percent": 30.0,
        "avg_best_speed": 71.6321,
        "avg_hyper_speed": 92.9872,
        "whiff_percent": 28.4,
        "swing_percent": 40.6
      },
      "league_medians": {
        "pa": 122.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.6441,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.3
      },
      "components": {
        "contact_quality": 0.7031,
        "command_and_miss": 0.7443,
        "regression_edge": 2.0,
        "xwoba_edge": 1.1714,
        "barrel_edge": 1.5778,
        "hard_hit_edge": 1.1143,
        "whiff_edge": 0.4571,
        "bb_edge": -1.0,
        "pitch_design_score": -0.1248
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "805345",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 29,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 29,
          "pitch_usage": 0.0,
          "release_speed": 87.61810242068586,
          "release_spin_rate": 2449.363713899973,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 29,
            "pitch_usage": 0.0,
            "release_speed": 87.61810242068586,
            "release_spin_rate": 2449.363713899973,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.6181,
          "release_spin_rate": 2449.3637,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.1248,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.8917,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.3498,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9703,
      "strikeout_factor": 1.0396,
      "walk_factor": 1.036,
      "homer_factor": 0.9073,
      "woba_minus_xwoba": 0.08,
      "regression_flag": "positive_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "805345",
        "espn_id": 5201836,
        "player_name": "Trent Harris",
        "team": "SF",
        "role": "pitcher",
        "espn_rank": 564,
        "espn_total_ranked": 832,
        "metrics": {
          "espn_rank": 564,
          "gp_value": 7.0,
          "gp_rank": 567,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 205,
          "era_value": 5.625,
          "era_rank": null,
          "w_value": 0.0,
          "w_rank": 509,
          "l_value": 0.0,
          "l_rank": 556,
          "sv_value": 0.0,
          "sv_rank": 243,
          "hld_value": 1.0,
          "hld_rank": 252,
          "ip_value": 8.0,
          "ip_rank": 628,
          "h_value": 9.0,
          "h_rank": 622,
          "er_value": 5.0,
          "er_rank": 623,
          "hr_value": 0.0,
          "hr_rank": 719,
          "bb_value": 5.0,
          "bb_rank": 599,
          "k_value": 13.0,
          "k_rank": 531,
          "k_per_9_value": 14.625,
          "k_per_9_rank": 22.0,
          "whip_value": 1.75,
          "whip_rank": null,
          "war_value": -0.08,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9866,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9866,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.0162,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9583,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0178,
        "adjusted": 3
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 8.0,
    "ER": 5,
    "H": 9,
    "BB": 5,
    "SO": 13,
    "HR": 0,
    "ERA": 5.625000000000001,
    "WHIP": 1.7500000000000002,
    "K9": 14.625000000000002,
    "HR9": 0.0,
    "games_pitched": 7,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 7,
    "error_prone": false
  },
  "games_count": 7,
  "latest_game_date": "2026-08-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "805345",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 29,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 29,
    "pitch_usage": 0.0,
    "release_speed": 87.61810242068586,
    "release_spin_rate": 2449.363713899973,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 29,
      "pitch_usage": 0.0,
      "release_speed": 87.61810242068586,
      "release_spin_rate": 2449.363713899973,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.6181,
    "release_spin_rate": 2449.3637,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.1248,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.8917,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.7627118644067797,
    "last_10": 0.23728813559322032
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 1.606,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.2432,
    "prior_weight": 0.7568
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "805345",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 7,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 5.0,
        "BB": 2.0,
        "SO": 10.0,
        "HR": 0.0,
        "BF": 26.0,
        "Pitches": 110.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.2,
        "H": 1.0,
        "BB": 0.4,
        "SO": 2.0,
        "HR": 0.0,
        "BF": 5.2,
        "Pitches": 22.0
      },
      "rates": {
        "ERA": 1.4211,
        "WHIP": 1.1053,
        "ER_per_IP": 0.15789,
        "H_per_IP": 0.78947,
        "BB_per_IP": 0.31579,
        "SO_per_IP": 1.57895,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 7,
      "totals": {
        "IP": 8.0,
        "ER": 5.0,
        "R": 5.0,
        "H": 9.0,
        "BB": 5.0,
        "SO": 13.0,
        "HR": 0.0,
        "BF": 38.0,
        "Pitches": 165.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.7143,
        "R": 0.7143,
        "H": 1.2857,
        "BB": 0.7143,
        "SO": 1.8571,
        "HR": 0.0,
        "BF": 5.4286,
        "Pitches": 23.5714
      },
      "rates": {
        "ERA": 5.625,
        "WHIP": 1.75,
        "ER_per_IP": 0.625,
        "H_per_IP": 1.125,
        "BB_per_IP": 0.625,
        "SO_per_IP": 1.625,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 7,
      "totals": {
        "IP": 8.0,
        "ER": 5.0,
        "R": 5.0,
        "H": 9.0,
        "BB": 5.0,
        "SO": 13.0,
        "HR": 0.0,
        "BF": 38.0,
        "Pitches": 165.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.7143,
        "R": 0.7143,
        "H": 1.2857,
        "BB": 0.7143,
        "SO": 1.8571,
        "HR": 0.0,
        "BF": 5.4286,
        "Pitches": 23.5714
      },
      "rates": {
        "ERA": 5.625,
        "WHIP": 1.75,
        "ER_per_IP": 0.625,
        "H_per_IP": 1.125,
        "BB_per_IP": 0.625,
        "SO_per_IP": 1.625,
        "HR_per_IP": 0.0
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.473,
    "predicted_H": 1.009,
    "predicted_BB": 0.397,
    "predicted_SO": 1.168,
    "predicted_HR": 0.118,
    "predicted_ERA": 4.0108,
    "predicted_WHIP": 1.3247
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.6697,
  "form_weight": 0.3303,
  "form_reliability": 0.2432,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 1.606,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.2432,
    "prior_weight": 0.7568
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.473,
      "final": 0.1562,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.009,
      "final": 0.3332,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.397,
      "final": 0.1311,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.168,
      "final": 1.0555,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.118,
      "final": 0.039,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.0108,
      "final": 4.0108,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3247,
      "final": 1.3247,
      "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."
}
Drew Gilbert (687551) · BATTER · RF · Team SF
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 312
All-history rows before 20260827: 312
System season_avg: 0.2460
Data season_avg (2026 season-to-date): 0.2528
Diff (system - data): -0.0068
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.1300.0001.000Hitting_2B0.1311.000-0.131-1.000
predicted_3B0.0300.0000.000Hitting_3B0.0480.000-0.0480.000
predicted_AB2.8104.0004.000Hitting_AB3.0931.0000.9073.000
predicted_AVG0.2460.2500.250Hitting_AVG0.2531.000-0.003-0.750
predicted_BB0.2301.0000.000Hitting_BB0.3170.0000.6831.000
predicted_CS-0.0000.000BaseRunning_CS0.0540.000-0.0540.000
predicted_H0.6901.0001.000Hitting_H0.7821.0000.2180.000
predicted_HR0.0701.0000.000Hitting_HR0.0800.0000.9201.000
predicted_OBP0.3030.4000.250Hitting_OBP0.3371.0000.063-0.600
predicted_R0.3701.0001.000Hitting_R0.4200.0000.5801.000
predicted_RBI0.3402.0000.000Hitting_RBI0.3753.0001.625-1.000
predicted_SLG0.3881.0000.500Hitting_SLG0.4042.0000.596-1.000
predicted_SO0.5700.0001.000Hitting_SO0.5990.000-0.5990.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics6
Deboosted Metrics4
Better Metrics7
Worse Metrics3
Biggest Boostpredicted_RBI: 0.3400 -> 2.0000 (boost 1.6600, better)
Biggest Deboostpredicted_SO: 0.5700 -> 0.0000 (deboost -0.5700, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend44031predicted_SO: 0.5700 -> 0.6379 (boost 0.0679, worse)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_OBP: 0.3047 -> 0.2899 (deboost -0.0148, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling83526predicted_SO: 0.6450 -> 1.0000 (boost 0.3550, worse)predicted_RBI: 0.3676 -> 0.0000 (deboost -0.3676, worse)AB rounded to 3 (raw=2.88), rates preserved: AVG=0.240 HR/AB=0.023
5consistency_constraints10101-predicted_R: 0.3841 -> 0.0000 (deboost -0.3841, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation33030predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context41313predicted_OBP: 0.2899 -> 0.2960 (boost 0.0061, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference65160predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
9current_json_final10101-predicted_OBP: 0.2960 -> 0.2899 (deboost -0.0061, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "687551",
  "player_name": "Drew Gilbert",
  "position": "RF",
  "team": "SF",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.13,
        "predicted_3B": 0.03,
        "predicted_AB": 2.81,
        "predicted_AVG": 0.246,
        "predicted_BB": 0.23,
        "predicted_H": 0.69,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.303,
        "predicted_R": 0.37,
        "predicted_RBI": 0.34,
        "predicted_SLG": 0.388,
        "predicted_SO": 0.57
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1809,
        "predicted_3B": 0.0249,
        "predicted_AB": 2.8762,
        "predicted_AVG": 0.2466,
        "predicted_BB": 0.2041,
        "predicted_H": 0.7087,
        "predicted_HBP": 0.091,
        "predicted_HR": 0.0692,
        "predicted_OBP": 0.3047,
        "predicted_R": 0.4023,
        "predicted_RBI": 0.385,
        "predicted_SLG": 0.3983,
        "predicted_SO": 0.6379
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.13,
          "after": 0.1809,
          "delta": 0.0509,
          "percent_delta": 0.3915,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.03,
          "after": 0.0249,
          "delta": -0.0051,
          "percent_delta": -0.17,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.81,
          "after": 2.8762,
          "delta": 0.0662,
          "percent_delta": 0.0236,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.2466,
          "delta": 0.0006,
          "percent_delta": 0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.23,
          "after": 0.2041,
          "delta": -0.0259,
          "percent_delta": -0.1126,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.69,
          "after": 0.7087,
          "delta": 0.0187,
          "percent_delta": 0.0271,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.0692,
          "delta": -0.0008,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.303,
          "after": 0.3047,
          "delta": 0.0017,
          "percent_delta": 0.0056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.37,
          "after": 0.4023,
          "delta": 0.0323,
          "percent_delta": 0.0873,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.34,
          "after": 0.385,
          "delta": 0.045,
          "percent_delta": 0.1324,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.388,
          "after": 0.3983,
          "delta": 0.0103,
          "percent_delta": 0.0265,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.57,
          "after": 0.6379,
          "delta": 0.0679,
          "percent_delta": 0.1191,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.57,
          "after": 0.6379,
          "delta": 0.0679,
          "percent_delta": 0.1191,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.1809,
        "predicted_3B": 0.0249,
        "predicted_AB": 2.8762,
        "predicted_AVG": 0.2401,
        "predicted_BB": 0.2018,
        "predicted_H": 0.6906,
        "predicted_HBP": 0.091,
        "predicted_HR": 0.0675,
        "predicted_OBP": 0.2899,
        "predicted_R": 0.3841,
        "predicted_RBI": 0.3676,
        "predicted_SLG": 0.3907,
        "predicted_SO": 0.645
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1809,
          "after": 0.1809,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0249,
          "after": 0.0249,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.8762,
          "after": 2.8762,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2466,
          "after": 0.2401,
          "delta": -0.0065,
          "percent_delta": -0.0264,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2041,
          "after": 0.2018,
          "delta": -0.0023,
          "percent_delta": -0.0113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7087,
          "after": 0.6906,
          "delta": -0.0181,
          "percent_delta": -0.0255,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.091,
          "after": 0.091,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0692,
          "after": 0.0675,
          "delta": -0.0017,
          "percent_delta": -0.0246,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3047,
          "after": 0.2899,
          "delta": -0.0148,
          "percent_delta": -0.0486,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4023,
          "after": 0.3841,
          "delta": -0.0182,
          "percent_delta": -0.0452,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.385,
          "after": 0.3676,
          "delta": -0.0174,
          "percent_delta": -0.0452,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3983,
          "after": 0.3907,
          "delta": -0.0076,
          "percent_delta": -0.0191,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6379,
          "after": 0.645,
          "delta": 0.0071,
          "percent_delta": 0.0111,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3047,
          "after": 0.2899,
          "delta": -0.0148,
          "percent_delta": -0.0486,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.88), rates preserved: AVG=0.240 HR/AB=0.023",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1809,
          "after": 0.0,
          "delta": -0.1809,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0249,
          "after": 0.0,
          "delta": -0.0249,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.8762,
          "after": 3.0,
          "delta": 0.1238,
          "percent_delta": 0.043,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2018,
          "after": 0.0,
          "delta": -0.2018,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6906,
          "after": 1.0,
          "delta": 0.3094,
          "percent_delta": 0.448,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.091,
          "after": 0.0,
          "delta": -0.091,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0675,
          "after": 0.0,
          "delta": -0.0675,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3676,
          "after": 0.0,
          "delta": -0.3676,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.645,
          "after": 1.0,
          "delta": 0.355,
          "percent_delta": 0.5504,
          "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.645,
          "after": 1.0,
          "delta": 0.355,
          "percent_delta": 0.5504,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3676,
          "after": 0.0,
          "delta": -0.3676,
          "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.3841,
          "after": 0.0,
          "delta": -0.3841,
          "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.3841,
          "after": 0.0,
          "delta": -0.3841,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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_SO",
          "before": 1.0,
          "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": 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.24,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.296,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.391,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2401,
          "after": 0.24,
          "delta": -0.0001,
          "percent_delta": -0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2899,
          "after": 0.296,
          "delta": 0.0061,
          "percent_delta": 0.021,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3907,
          "after": 0.391,
          "delta": 0.0003,
          "percent_delta": 0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "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_OBP",
          "before": 0.2899,
          "after": 0.296,
          "delta": 0.0061,
          "percent_delta": 0.021,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2401,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.2899,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3907,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.24,
          "after": 0.2401,
          "delta": 0.0001,
          "percent_delta": 0.0004,
          "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": 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.296,
          "after": 0.2899,
          "delta": -0.0061,
          "percent_delta": -0.0205,
          "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.391,
          "after": 0.3907,
          "delta": -0.0003,
          "percent_delta": -0.0006,
          "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_OBP",
          "before": 0.296,
          "after": 0.2899,
          "delta": -0.0061,
          "percent_delta": -0.0205,
          "direction": "deboost",
          "projection_effect": "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.03,
        "after": 0.0,
        "delta": -0.03,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.81,
        "after": 4.0,
        "delta": 1.19,
        "percent_delta": 0.4235,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.246,
        "after": 0.2401,
        "delta": -0.0059,
        "percent_delta": -0.024,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.23,
        "after": 1.0,
        "delta": 0.77,
        "percent_delta": 3.3478,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.69,
        "after": 1.0,
        "delta": 0.31,
        "percent_delta": 0.4493,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.07,
        "after": 1.0,
        "delta": 0.93,
        "percent_delta": 13.2857,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.303,
        "after": 0.2899,
        "delta": -0.0131,
        "percent_delta": -0.0432,
        "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.34,
        "after": 2.0,
        "delta": 1.66,
        "percent_delta": 4.8824,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.388,
        "after": 0.3907,
        "delta": 0.0027,
        "percent_delta": 0.007,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.57,
        "after": 0.0,
        "delta": -0.57,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 6,
      "deboosted_metrics": 4,
      "better_metrics": 7,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.34,
        "after": 2.0,
        "delta": 1.66,
        "percent_delta": 4.8824,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.57,
        "after": 0.0,
        "delta": -0.57,
        "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.130-
predicted_3B0.030-
predicted_AB2.810-
predicted_AVG0.246-
predicted_BB0.230-
predicted_H0.690-
predicted_HR0.070-
predicted_OBP0.303-
predicted_R0.370-
predicted_RBI0.340-
predicted_SLG0.388-
predicted_SO0.570-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1810.051
predicted_3B0.025-0.005
predicted_AB2.8760.066
predicted_AVG0.2470.001
predicted_BB0.204-0.026
predicted_H0.7090.019
predicted_HBP0.091-
predicted_HR0.069-0.001
predicted_OBP0.3050.002
predicted_R0.4020.032
predicted_RBI0.3850.045
predicted_SLG0.3980.010
predicted_SO0.6380.068
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1810.000
predicted_3B0.0250.000
predicted_AB2.8760.000
predicted_AVG0.240-0.007
predicted_BB0.202-0.002
predicted_H0.691-0.018
predicted_HBP0.0910.000
predicted_HR0.068-0.002
predicted_OBP0.290-0.015
predicted_R0.384-0.018
predicted_RBI0.368-0.017
predicted_SLG0.391-0.008
predicted_SO0.6450.007
4. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0001.000
RBI0.0000.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.181
predicted_3B0.000-0.025
predicted_AB3.0000.124
predicted_AVG0.240-0.000
predicted_BB0.000-0.202
predicted_H1.0000.309
predicted_HR0.000-0.068
predicted_OBP0.2960.006
predicted_R0.000-0.384
predicted_RBI0.000-0.368
predicted_SLG0.3910.000
predicted_SO1.0000.355
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA5.000-
R1.0000.000
RBI2.0002.000
SB0.0000.000
SF0.0000.000
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: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0004.0003.0000.0000.0003.0003.0000.0004.0000.26670.31250.46670.26670.00000.20000.00000.2667
last_100.2010-30.0007.0003.0000.0001.0006.0005.0001.00011.0000.23330.28120.43330.23330.03330.20000.03330.3667
season0.60100-281.00069.00013.0003.0007.00034.00037.00023.00057.0000.24560.31410.38790.24550.02490.12100.08190.2029
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2500
predicted_3B0.0180
predicted_AB2.9660
predicted_AVG0.2474
predicted_BB0.1690
predicted_H0.7340
predicted_HBP0.0910
predicted_HR0.0680
predicted_OBP0.3070
predicted_R0.4460
predicted_RBI0.4460
predicted_SLG0.4123
predicted_SO0.7300
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13000.25000.1809model_form_blend
predicted_3B0.03000.01800.0249model_form_blend
predicted_AB2.81002.96602.8762model_form_blend
predicted_AVG0.24600.24740.2466model_form_blend
predicted_BB0.23000.16900.2041model_form_blend
predicted_H0.69000.73400.7087model_form_blend
predicted_HBP-0.09100.0910form_only
predicted_HR0.07000.06800.0692model_form_blend
predicted_OBP0.30300.30700.3047model_form_blend
predicted_R0.37000.44600.4023model_form_blend
predicted_RBI0.34000.44600.3850model_form_blend
predicted_SLG0.38800.41230.3983model_form_blend
predicted_SO0.57000.73000.6379model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date312
Season rows before report date312
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
PA5
AB4
H1
2B0
3B0
HR1
R1
RBI2
BB1
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB1
Hitting_AVG1.0
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI3
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
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-CF
gameID20260826_CIN@SF
game_typeph
mlbID687551
noteDoubled for Cox in the 8th.
playerID687551
playerNameDrew Gilbert
posCF
startedFalse
startingPositionPH
teamSF
teamID24
game_date2026-08-26
sl_k_percent17.8
sl_bb_percent9.6
sl_woba0.314
sl_xwoba0.33
sl_xba0.259
sl_xslg0.394
sl_sweet_spot_percent37.1
sl_barrel_batted_rate5.5
sl_hard_hit_percent35.4
sl_exit_velocity_avg86.7
sl_launch_angle_avg15.1
sl_whiff_percent22.6
sl_swing_percent42.0
Turner Hill (806367) · BATTER · LF · Team SF
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 15
All-history rows before 20260827: 15
System season_avg: 0.3180
Data season_avg (2026 season-to-date): 0.2500
Diff (system - data): 0.0680
System opponent_avg: 0.3180
System season_avg diverges from 2026 season-to-date by 0.0680. 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.5002.0001.000Hitting_2B0.2671.0001.7331.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.7504.0004.000Hitting_AB2.6674.0001.3330.000
predicted_AVG0.3180.5000.250Hitting_AVG0.2500.7500.250-0.250
predicted_BB0.3750.0000.000Hitting_BB0.4671.000-0.467-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8752.0001.000Hitting_H0.6673.0001.333-1.000
predicted_HR0.0000.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.4000.5000.250Hitting_OBP0.3330.8000.167-0.300
predicted_R0.2501.0000.000Hitting_R0.3331.0000.6670.000
predicted_RBI0.3750.0000.000Hitting_RBI0.6000.000-0.6000.000
predicted_SLG0.5001.0000.500Hitting_SLG0.3501.0000.6500.000
predicted_SO0.6250.0001.000Hitting_SO0.7330.000-0.7330.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectdeboosted
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_2B: 0.5000 -> 2.0000 (boost 1.5000, better)
Biggest Deboostpredicted_SO: 0.6250 -> 0.0000 (deboost -0.6250, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_AB: 2.7500 -> 2.9365 (boost 0.1865, better)predicted_OBP: 0.4000 -> 0.3854 (deboost -0.0146, worse)Final model input calibrated 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.4883 -> 0.4782 (deboost -0.0101, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling63324predicted_SO: 0.6647 -> 1.0000 (boost 0.3353, worse)predicted_2B: 0.4674 -> 0.0000 (deboost -0.4674, worse)AB rounded to 3 (raw=2.94), rates preserved: AVG=0.299 HR/AB=0.006
5consistency_constraints10101-predicted_R: 0.2687 -> 0.0000 (deboost -0.2687, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation22020predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context31212predicted_SLG: 0.4782 -> 0.4850 (boost 0.0068, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference54150predicted_2B: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
9current_json_final10101-predicted_SLG: 0.4850 -> 0.4782 (deboost -0.0068, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "806367",
  "player_name": "Turner Hill",
  "position": "LF",
  "team": "SF",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.5,
        "predicted_3B": 0.0,
        "predicted_AB": 2.75,
        "predicted_AVG": 0.318,
        "predicted_BB": 0.375,
        "predicted_H": 0.875,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.4,
        "predicted_R": 0.25,
        "predicted_RBI": 0.375,
        "predicted_SLG": 0.5,
        "predicted_SO": 0.625
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.4674,
        "predicted_3B": 0.0021,
        "predicted_AB": 2.9365,
        "predicted_AVG": 0.3083,
        "predicted_BB": 0.3641,
        "predicted_H": 0.9014,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.0185,
        "predicted_OBP": 0.3854,
        "predicted_R": 0.2814,
        "predicted_RBI": 0.375,
        "predicted_SLG": 0.4883,
        "predicted_SO": 0.6573
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5,
          "after": 0.4674,
          "delta": -0.0326,
          "percent_delta": -0.0652,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0021,
          "delta": 0.0021,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.75,
          "after": 2.9365,
          "delta": 0.1865,
          "percent_delta": 0.0678,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.318,
          "after": 0.3083,
          "delta": -0.0097,
          "percent_delta": -0.0305,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.375,
          "after": 0.3641,
          "delta": -0.0109,
          "percent_delta": -0.0291,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.875,
          "after": 0.9014,
          "delta": 0.0264,
          "percent_delta": 0.0302,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0185,
          "delta": 0.0185,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4,
          "after": 0.3854,
          "delta": -0.0146,
          "percent_delta": -0.0365,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.25,
          "after": 0.2814,
          "delta": 0.0314,
          "percent_delta": 0.1256,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.375,
          "after": 0.375,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5,
          "after": 0.4883,
          "delta": -0.0117,
          "percent_delta": -0.0234,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.625,
          "after": 0.6573,
          "delta": 0.0323,
          "percent_delta": 0.0517,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.75,
          "after": 2.9365,
          "delta": 0.1865,
          "percent_delta": 0.0678,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.4,
          "after": 0.3854,
          "delta": -0.0146,
          "percent_delta": -0.0365,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 8,
        "season": 8
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.4674,
        "predicted_3B": 0.0021,
        "predicted_AB": 2.9365,
        "predicted_AVG": 0.2991,
        "predicted_BB": 0.36,
        "predicted_H": 0.8783,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.0181,
        "predicted_OBP": 0.3757,
        "predicted_R": 0.2687,
        "predicted_RBI": 0.358,
        "predicted_SLG": 0.4782,
        "predicted_SO": 0.6647
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4674,
          "after": 0.4674,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0021,
          "after": 0.0021,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9365,
          "after": 2.9365,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3083,
          "after": 0.2991,
          "delta": -0.0092,
          "percent_delta": -0.0298,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3641,
          "after": 0.36,
          "delta": -0.0041,
          "percent_delta": -0.0113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9014,
          "after": 0.8783,
          "delta": -0.0231,
          "percent_delta": -0.0256,
          "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.0185,
          "after": 0.0181,
          "delta": -0.0004,
          "percent_delta": -0.0216,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3854,
          "after": 0.3757,
          "delta": -0.0097,
          "percent_delta": -0.0252,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2814,
          "after": 0.2687,
          "delta": -0.0127,
          "percent_delta": -0.0451,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.375,
          "after": 0.358,
          "delta": -0.017,
          "percent_delta": -0.0453,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4883,
          "after": 0.4782,
          "delta": -0.0101,
          "percent_delta": -0.0207,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6573,
          "after": 0.6647,
          "delta": 0.0074,
          "percent_delta": 0.0113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4883,
          "after": 0.4782,
          "delta": -0.0101,
          "percent_delta": -0.0207,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.94), rates preserved: AVG=0.299 HR/AB=0.006",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4674,
          "after": 0.0,
          "delta": -0.4674,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0021,
          "after": 0.0,
          "delta": -0.0021,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9365,
          "after": 3.0,
          "delta": 0.0635,
          "percent_delta": 0.0216,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.36,
          "after": 0.0,
          "delta": -0.36,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8783,
          "after": 1.0,
          "delta": 0.1217,
          "percent_delta": 0.1386,
          "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.0181,
          "after": 0.0,
          "delta": -0.0181,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.358,
          "after": 0.0,
          "delta": -0.358,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6647,
          "after": 1.0,
          "delta": 0.3353,
          "percent_delta": 0.5044,
          "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.6647,
          "after": 1.0,
          "delta": 0.3353,
          "percent_delta": 0.5044,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.4674,
          "after": 0.0,
          "delta": -0.4674,
          "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.2687,
          "after": 0.0,
          "delta": -0.2687,
          "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.2687,
          "after": 0.0,
          "delta": -0.2687,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.299,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.38,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.485,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2991,
          "after": 0.299,
          "delta": -0.0001,
          "percent_delta": -0.0003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3757,
          "after": 0.38,
          "delta": 0.0043,
          "percent_delta": 0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4782,
          "after": 0.485,
          "delta": 0.0068,
          "percent_delta": 0.0142,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.4782,
          "after": 0.485,
          "delta": 0.0068,
          "percent_delta": 0.0142,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 2.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 2.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2991,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.3757,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4782,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.299,
          "after": 0.2991,
          "delta": 0.0001,
          "percent_delta": 0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.38,
          "after": 0.3757,
          "delta": -0.0043,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.485,
          "after": 0.4782,
          "delta": -0.0068,
          "percent_delta": -0.0141,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.485,
          "after": 0.4782,
          "delta": -0.0068,
          "percent_delta": -0.0141,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.5,
        "after": 2.0,
        "delta": 1.5,
        "percent_delta": 3.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.75,
        "after": 4.0,
        "delta": 1.25,
        "percent_delta": 0.4545,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.318,
        "after": 0.2991,
        "delta": -0.0189,
        "percent_delta": -0.0594,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.375,
        "after": 0.0,
        "delta": -0.375,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.875,
        "after": 2.0,
        "delta": 1.125,
        "percent_delta": 1.2857,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.4,
        "after": 0.3757,
        "delta": -0.0243,
        "percent_delta": -0.0608,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.25,
        "after": 1.0,
        "delta": 0.75,
        "percent_delta": 3.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.375,
        "after": 0.0,
        "delta": -0.375,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.5,
        "after": 0.4782,
        "delta": -0.0218,
        "percent_delta": -0.0436,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.625,
        "after": 0.0,
        "delta": -0.625,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_2B",
        "before": 0.5,
        "after": 2.0,
        "delta": 1.5,
        "percent_delta": 3.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.625,
        "after": 0.0,
        "delta": -0.625,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "deboosted"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.500-
predicted_3B0.000-
predicted_AB2.750-
predicted_AVG0.318-
predicted_BB0.375-
predicted_H0.875-
predicted_HR0.000-
predicted_OBP0.400-
predicted_R0.250-
predicted_RBI0.375-
predicted_SLG0.500-
predicted_SO0.625-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.467-0.033
predicted_3B0.0020.002
predicted_AB2.9370.187
predicted_AVG0.308-0.010
predicted_BB0.364-0.011
predicted_H0.9010.026
predicted_HBP0.015-
predicted_HR0.0180.018
predicted_OBP0.385-0.015
predicted_R0.2810.031
predicted_RBI0.3750.000
predicted_SLG0.488-0.012
predicted_SO0.6570.032
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.4670.000
predicted_3B0.0020.000
predicted_AB2.9370.000
predicted_AVG0.299-0.009
predicted_BB0.360-0.004
predicted_H0.878-0.023
predicted_HBP0.0150.000
predicted_HR0.018-0.000
predicted_OBP0.376-0.010
predicted_R0.269-0.013
predicted_RBI0.358-0.017
predicted_SLG0.478-0.010
predicted_SO0.6650.007
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.94), rates preserved: AVG=0.299 HR/AB=0.006

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

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

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.467
predicted_3B0.000-0.002
predicted_AB3.0000.063
predicted_AVG0.299-0.000
predicted_BB0.000-0.360
predicted_H1.0000.122
predicted_HR0.000-0.018
predicted_OBP0.3800.004
predicted_R0.000-0.269
predicted_RBI0.000-0.358
predicted_SLG0.4850.007
predicted_SO1.0000.335
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B2.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
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: 8
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.0005.0003.0000.0000.0001.0001.0002.0003.0000.33330.41180.53330.33330.00000.06670.13330.2000
last_100.208-22.0007.0004.0000.0000.0003.0002.0003.0005.0000.31820.38460.50000.31820.00000.13640.13640.2273
season0.608-22.0007.0004.0000.0000.0003.0002.0003.0005.0000.31820.38460.50000.31820.00000.13640.13640.2273
Weighted Prediction From Real Data
MetricValue
predicted_2B0.3890
predicted_3B0.0070
predicted_AB3.3860
predicted_AVG0.2849
predicted_BB0.3380
predicted_H0.9650
predicted_HBP0.0150
predicted_HR0.0630
predicted_OBP0.3501
predicted_R0.3570
predicted_RBI0.3750
predicted_SLG0.4601
predicted_SO0.7350
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.50000.38900.4674model_form_blend
predicted_3B0.00000.00700.0021model_form_blend
predicted_AB2.75003.38602.9365model_form_blend
predicted_AVG0.31800.28490.3083model_form_blend
predicted_BB0.37500.33800.3641model_form_blend
predicted_H0.87500.96500.9014model_form_blend
predicted_HBP-0.01500.0150form_only
predicted_HR0.00000.06300.0185model_form_blend
predicted_OBP0.40000.35010.3854model_form_blend
predicted_R0.25000.35700.2814model_form_blend
predicted_RBI0.37500.37500.3750model_form_blend
predicted_SLG0.50000.46010.4883model_form_blend
predicted_SO0.62500.73500.6573model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.75
Hitting_BB1
Hitting_GIDP0
Hitting_H3
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB4
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260826_CIN@SF
game_typefull
mlbID806367
playerID806367
playerNameTurner Hill
posCF
startedTrue
startingPositionLF
teamSF
teamID24
game_date2026-08-26
sl_k_percent12.2
sl_bb_percent14.6
sl_woba0.343
sl_xwoba0.351
sl_xba0.27
sl_xslg0.428
sl_sweet_spot_percent33.3
sl_barrel_batted_rate6.7
sl_hard_hit_percent40.0
sl_exit_velocity_avg89.0
sl_launch_angle_avg11.6
sl_whiff_percent11.5
sl_swing_percent37.7
Shay Whitcomb (694376) · BATTER · 3B · Team SF
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 3
All-history rows before 20260827: 3
System season_avg: 0.1470
Data season_avg (2026 season-to-date): 0.1818
Diff (system - data): -0.0348
System opponent_avg: 0.1470
System season_avg diverges from 2026 season-to-date by -0.0348. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0740.0000.000Hitting_2B0.3331.000-0.333-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.5004.0004.000Hitting_AB3.6674.0000.3330.000
predicted_AVG0.2260.2500.250Hitting_AVG0.1820.5000.068-0.250
predicted_BB0.0000.0000.000Hitting_BB0.0000.0000.0000.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.4001.0001.000Hitting_H0.6672.0000.333-1.000
predicted_HR0.2000.0000.000Hitting_HR0.3331.000-0.333-1.000
predicted_OBP0.2400.2500.250Hitting_OBP0.1820.5000.068-0.250
predicted_R0.2940.0000.000Hitting_R0.6672.000-0.667-2.000
predicted_RBI0.4000.0001.000Hitting_RBI0.6672.000-0.667-2.000
predicted_SLG0.4400.2500.250Hitting_SLG0.5451.500-0.295-1.250
predicted_SO1.1030.0002.000Hitting_SO1.3332.000-1.333-2.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.5000 -> 4.0000 (boost 1.5000, better)
Biggest Deboostpredicted_SO: 1.1030 -> 0.0000 (deboost -1.1030, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32121predicted_AB: 2.5000 -> 2.6611 (boost 0.1611, better)predicted_AVG: 0.2260 -> 0.2182 (deboost -0.0078, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_OBP: 0.2363 -> 0.1795 (deboost -0.0568, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62433predicted_H: 0.4526 -> 1.0000 (boost 0.5474, better)predicted_RBI: 0.4091 -> 0.0000 (deboost -0.4091, worse)AB rounded to 3 (raw=2.66), rates preserved: AVG=0.170 HR/AB=0.073
5consistency_constraints10101-predicted_R: 0.3121 -> 0.0000 (deboost -0.3121, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation33021predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context52332predicted_SLG: 0.4261 -> 0.4330 (boost 0.0069, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference21120predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
9current_json_final20202-predicted_SLG: 0.4330 -> 0.4261 (deboost -0.0069, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "694376",
  "player_name": "Shay Whitcomb",
  "position": "3B",
  "team": "SF",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.074,
        "predicted_3B": 0.0,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.226,
        "predicted_BB": 0.0,
        "predicted_H": 0.4,
        "predicted_HR": 0.2,
        "predicted_OBP": 0.24,
        "predicted_R": 0.294,
        "predicted_RBI": 0.4,
        "predicted_SLG": 0.44,
        "predicted_SO": 1.103
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0909,
        "predicted_3B": 0.0019,
        "predicted_AB": 2.6611,
        "predicted_AVG": 0.2182,
        "predicted_BB": 0.031,
        "predicted_H": 0.4645,
        "predicted_HBP": 0.012,
        "predicted_HR": 0.2003,
        "predicted_OBP": 0.2363,
        "predicted_R": 0.3269,
        "predicted_RBI": 0.4285,
        "predicted_SLG": 0.4423,
        "predicted_SO": 1.0611
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.074,
          "after": 0.0909,
          "delta": 0.0169,
          "percent_delta": 0.2284,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0019,
          "delta": 0.0019,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.6611,
          "delta": 0.1611,
          "percent_delta": 0.0644,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.226,
          "after": 0.2182,
          "delta": -0.0078,
          "percent_delta": -0.0345,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.031,
          "delta": 0.031,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4,
          "after": 0.4645,
          "delta": 0.0645,
          "percent_delta": 0.1613,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2,
          "after": 0.2003,
          "delta": 0.0003,
          "percent_delta": 0.0015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.24,
          "after": 0.2363,
          "delta": -0.0037,
          "percent_delta": -0.0154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.294,
          "after": 0.3269,
          "delta": 0.0329,
          "percent_delta": 0.1119,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4,
          "after": 0.4285,
          "delta": 0.0285,
          "percent_delta": 0.0712,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.44,
          "after": 0.4423,
          "delta": 0.0023,
          "percent_delta": 0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.103,
          "after": 1.0611,
          "delta": -0.0419,
          "percent_delta": -0.038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.6611,
          "delta": 0.1611,
          "percent_delta": 0.0644,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.226,
          "after": 0.2182,
          "delta": -0.0078,
          "percent_delta": -0.0345,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 17
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0909,
        "predicted_3B": 0.0019,
        "predicted_AB": 2.6611,
        "predicted_AVG": 0.1701,
        "predicted_BB": 0.0307,
        "predicted_H": 0.4526,
        "predicted_HBP": 0.012,
        "predicted_HR": 0.1955,
        "predicted_OBP": 0.1795,
        "predicted_R": 0.3121,
        "predicted_RBI": 0.4091,
        "predicted_SLG": 0.4261,
        "predicted_SO": 1.073
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0909,
          "after": 0.0909,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0019,
          "after": 0.0019,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.6611,
          "after": 2.6611,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2182,
          "after": 0.1701,
          "delta": -0.0481,
          "percent_delta": -0.2204,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.031,
          "after": 0.0307,
          "delta": -0.0003,
          "percent_delta": -0.0097,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4645,
          "after": 0.4526,
          "delta": -0.0119,
          "percent_delta": -0.0256,
          "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.2003,
          "after": 0.1955,
          "delta": -0.0048,
          "percent_delta": -0.024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2363,
          "after": 0.1795,
          "delta": -0.0568,
          "percent_delta": -0.2404,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3269,
          "after": 0.3121,
          "delta": -0.0148,
          "percent_delta": -0.0453,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4285,
          "after": 0.4091,
          "delta": -0.0194,
          "percent_delta": -0.0453,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4423,
          "after": 0.4261,
          "delta": -0.0162,
          "percent_delta": -0.0366,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0611,
          "after": 1.073,
          "delta": 0.0119,
          "percent_delta": 0.0112,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.2363,
          "after": 0.1795,
          "delta": -0.0568,
          "percent_delta": -0.2404,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.66), rates preserved: AVG=0.170 HR/AB=0.073",
      "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.0909,
          "after": 0.0,
          "delta": -0.0909,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0019,
          "after": 0.0,
          "delta": -0.0019,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.6611,
          "after": 3.0,
          "delta": 0.3389,
          "percent_delta": 0.1274,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0307,
          "after": 0.0,
          "delta": -0.0307,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4526,
          "after": 1.0,
          "delta": 0.5474,
          "percent_delta": 1.2095,
          "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.1955,
          "after": 0.0,
          "delta": -0.1955,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4091,
          "after": 0.0,
          "delta": -0.4091,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.073,
          "after": 1.0,
          "delta": -0.073,
          "percent_delta": -0.068,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.4526,
          "after": 1.0,
          "delta": 0.5474,
          "percent_delta": 1.2095,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4091,
          "after": 0.0,
          "delta": -0.4091,
          "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.3121,
          "after": 0.0,
          "delta": -0.3121,
          "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.3121,
          "after": 0.0,
          "delta": -0.3121,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.17,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.185,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.433,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "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_AVG",
          "before": 0.1701,
          "after": 0.17,
          "delta": -0.0001,
          "percent_delta": -0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.1795,
          "after": 0.185,
          "delta": 0.0055,
          "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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4261,
          "after": 0.433,
          "delta": 0.0069,
          "percent_delta": 0.0162,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.4261,
          "after": 0.433,
          "delta": 0.0069,
          "percent_delta": 0.0162,
          "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": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.1701,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.1795,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4261,
        "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.17,
          "after": 0.1701,
          "delta": 0.0001,
          "percent_delta": 0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.185,
          "after": 0.1795,
          "delta": -0.0055,
          "percent_delta": -0.0295,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.433,
          "after": 0.4261,
          "delta": -0.0069,
          "percent_delta": -0.016,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.433,
          "after": 0.4261,
          "delta": -0.0069,
          "percent_delta": -0.016,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.074,
        "after": 0.0,
        "delta": -0.074,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.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.226,
        "after": 0.1701,
        "delta": -0.0559,
        "percent_delta": -0.2473,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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.2,
        "after": 0.0,
        "delta": -0.2,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.24,
        "after": 0.1795,
        "delta": -0.0605,
        "percent_delta": -0.2521,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.294,
        "after": 0.0,
        "delta": -0.294,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.4,
        "after": 0.0,
        "delta": -0.4,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.44,
        "after": 0.4261,
        "delta": -0.0139,
        "percent_delta": -0.0316,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.103,
        "after": 0.0,
        "delta": -1.103,
        "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.5,
        "after": 4.0,
        "delta": 1.5,
        "percent_delta": 0.6,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.103,
        "after": 0.0,
        "delta": -1.103,
        "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.074-
predicted_3B0.000-
predicted_AB2.500-
predicted_AVG0.226-
predicted_BB0.000-
predicted_H0.400-
predicted_HR0.200-
predicted_OBP0.240-
predicted_R0.294-
predicted_RBI0.400-
predicted_SLG0.440-
predicted_SO1.103-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.0910.017
predicted_3B0.0020.002
predicted_AB2.6610.161
predicted_AVG0.218-0.008
predicted_BB0.0310.031
predicted_H0.4650.065
predicted_HBP0.012-
predicted_HR0.2000.000
predicted_OBP0.236-0.004
predicted_R0.3270.033
predicted_RBI0.4280.028
predicted_SLG0.4420.002
predicted_SO1.061-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.0910.000
predicted_3B0.0020.000
predicted_AB2.6610.000
predicted_AVG0.170-0.048
predicted_BB0.031-0.000
predicted_H0.453-0.012
predicted_HBP0.0120.000
predicted_HR0.196-0.005
predicted_OBP0.179-0.057
predicted_R0.312-0.015
predicted_RBI0.409-0.019
predicted_SLG0.426-0.016
predicted_SO1.0730.012
4. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI1.0001.000
SO2.0001.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.091
predicted_3B0.000-0.002
predicted_AB3.0000.339
predicted_AVG0.170-0.000
predicted_BB0.000-0.031
predicted_H1.0000.547
predicted_HR0.000-0.196
predicted_OBP0.1850.006
predicted_R0.000-0.312
predicted_RBI0.000-0.409
predicted_SLG0.4330.007
predicted_SO1.000-0.073
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
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO0.000-2.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 17
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0003.0001.0000.0002.0003.0003.0000.0006.0000.17650.17650.58820.17650.11770.17650.00000.3529
last_100.2010-22.0004.0001.0000.0002.0004.0003.0000.0008.0000.18180.18180.50000.18180.09090.18180.00000.3636
season0.6017-34.0005.0001.0000.0003.0007.0004.0000.00015.0000.14710.14710.44120.14710.08820.20590.00000.4412
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1280
predicted_3B0.0060
predicted_AB3.0150
predicted_AVG0.2012
predicted_BB0.0990
predicted_H0.6060
predicted_HBP0.0120
predicted_HR0.2010
predicted_OBP0.2281
predicted_R0.3990
predicted_RBI0.4910
predicted_SLG0.4473
predicted_SO0.9690
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.07400.12800.0909model_form_blend
predicted_3B0.00000.00600.0019model_form_blend
predicted_AB2.50003.01502.6611model_form_blend
predicted_AVG0.22600.20120.2182model_form_blend
predicted_BB0.00000.09900.0310model_form_blend
predicted_H0.40000.60600.4645model_form_blend
predicted_HBP-0.01200.0120form_only
predicted_HR0.20000.20100.2003model_form_blend
predicted_OBP0.24000.22810.2363model_form_blend
predicted_R0.29400.39900.3269model_form_blend
predicted_RBI0.40000.49100.4285model_form_blend
predicted_SLG0.44000.44730.4423model_form_blend
predicted_SO1.10300.96901.0611model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E1
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R2
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB6
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
gameID20260826_CIN@SF
game_typefull
mlbID694376
playerID694376
playerNameShay Whitcomb
pos3B
startedTrue
startingPosition2B
teamSF
teamID24
game_date2026-08-26
sl_k_percent40.4
sl_bb_percent1.9
sl_woba0.177
sl_xwoba0.225
sl_xba0.153
sl_xslg0.365
sl_sweet_spot_percent33.3
sl_barrel_batted_rate16.7
sl_hard_hit_percent36.7
sl_exit_velocity_avg85.9
sl_launch_angle_avg24.8
sl_whiff_percent35.1
sl_swing_percent51.4
Bryce Eldridge (805811) · BATTER · DH · Team SF
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 340
All-history rows before 20260827: 340
System season_avg: 0.2510
Data season_avg (2026 season-to-date): 0.2560
Diff (system - data): -0.0050
System opponent_avg: 0.2410

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1720.0000.000Hitting_2B0.1850.000-0.1850.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.3104.0005.000Hitting_AB3.6654.0000.3350.000
predicted_AVG0.2800.0000.200Hitting_AVG0.2560.500-0.256-0.500
predicted_BB0.5170.0001.000Hitting_BB0.5380.000-0.5380.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.2100.0001.000Hitting_H0.9382.000-0.938-2.000
predicted_HR0.2200.0000.000Hitting_HR0.1880.000-0.1880.000
predicted_OBP0.3600.0000.333Hitting_OBP0.3500.500-0.350-0.500
predicted_R0.4710.0001.000Hitting_R0.5470.000-0.5470.000
predicted_RBI0.6300.0001.000Hitting_RBI0.4151.000-0.415-1.000
predicted_SLG0.4410.0000.200Hitting_SLG0.4610.500-0.461-0.500
predicted_SO1.0801.0001.000Hitting_SO1.1001.000-0.1000.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_H: 1.2100 -> 0.0000 (deboost -1.2100, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend50505-predicted_AB: 4.3100 -> 3.9965 (deboost -0.3135, worse)Final model input calibrated 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.4262 -> 0.4379 (boost 0.0117, better)predicted_OBP: 0.3581 -> 0.3500 (deboost -0.0081, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling60615-predicted_RBI: 0.5257 -> 0.0000 (deboost -0.5257, worse)AB rounded to 4 (raw=4.31), rates preserved: AVG=0.247 HR/AB=0.042
5consistency_constraints10101-predicted_R: 0.4028 -> 0.0000 (deboost -0.4028, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation44040predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context70707-predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference10101-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.4140 -> 0.4379 (boost 0.0239, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "805811",
  "player_name": "Bryce Eldridge",
  "position": "DH",
  "team": "SF",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.172,
        "predicted_3B": 0.0,
        "predicted_AB": 4.31,
        "predicted_AVG": 0.28,
        "predicted_BB": 0.517,
        "predicted_H": 1.21,
        "predicted_HR": 0.22,
        "predicted_OBP": 0.36,
        "predicted_R": 0.471,
        "predicted_RBI": 0.63,
        "predicted_SLG": 0.441,
        "predicted_SO": 1.08
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1455,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.9965,
        "predicted_AVG": 0.2717,
        "predicted_BB": 0.5221,
        "predicted_H": 1.0913,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.1846,
        "predicted_OBP": 0.3581,
        "predicted_R": 0.4219,
        "predicted_RBI": 0.5506,
        "predicted_SLG": 0.4262,
        "predicted_SO": 1.0685
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.172,
          "after": 0.1455,
          "delta": -0.0265,
          "percent_delta": -0.1541,
          "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.31,
          "after": 3.9965,
          "delta": -0.3135,
          "percent_delta": -0.0727,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.28,
          "after": 0.2717,
          "delta": -0.0083,
          "percent_delta": -0.0296,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.517,
          "after": 0.5221,
          "delta": 0.0051,
          "percent_delta": 0.0099,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.21,
          "after": 1.0913,
          "delta": -0.1187,
          "percent_delta": -0.0981,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.22,
          "after": 0.1846,
          "delta": -0.0354,
          "percent_delta": -0.1609,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.36,
          "after": 0.3581,
          "delta": -0.0019,
          "percent_delta": -0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.471,
          "after": 0.4219,
          "delta": -0.0491,
          "percent_delta": -0.1042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.63,
          "after": 0.5506,
          "delta": -0.0794,
          "percent_delta": -0.126,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.441,
          "after": 0.4262,
          "delta": -0.0148,
          "percent_delta": -0.0336,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.08,
          "after": 1.0685,
          "delta": -0.0115,
          "percent_delta": -0.0106,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.31,
          "after": 3.9965,
          "delta": -0.3135,
          "percent_delta": -0.0727,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 87
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1455,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.9965,
        "predicted_AVG": 0.2661,
        "predicted_BB": 0.5163,
        "predicted_H": 1.0634,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.1802,
        "predicted_OBP": 0.35,
        "predicted_R": 0.4028,
        "predicted_RBI": 0.5257,
        "predicted_SLG": 0.4379,
        "predicted_SO": 1.0805
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1455,
          "after": 0.1455,
          "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.9965,
          "after": 3.9965,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2717,
          "after": 0.2661,
          "delta": -0.0056,
          "percent_delta": -0.0206,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5221,
          "after": 0.5163,
          "delta": -0.0058,
          "percent_delta": -0.0111,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0913,
          "after": 1.0634,
          "delta": -0.0279,
          "percent_delta": -0.0256,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.002,
          "after": 0.002,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1846,
          "after": 0.1802,
          "delta": -0.0044,
          "percent_delta": -0.0238,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3581,
          "after": 0.35,
          "delta": -0.0081,
          "percent_delta": -0.0226,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4219,
          "after": 0.4028,
          "delta": -0.0191,
          "percent_delta": -0.0453,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5506,
          "after": 0.5257,
          "delta": -0.0249,
          "percent_delta": -0.0452,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4262,
          "after": 0.4379,
          "delta": 0.0117,
          "percent_delta": 0.0275,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0685,
          "after": 1.0805,
          "delta": 0.012,
          "percent_delta": 0.0112,
          "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.4262,
          "after": 0.4379,
          "delta": 0.0117,
          "percent_delta": 0.0275,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3581,
          "after": 0.35,
          "delta": -0.0081,
          "percent_delta": -0.0226,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.31), rates preserved: AVG=0.247 HR/AB=0.042",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1455,
          "after": 0.0,
          "delta": -0.1455,
          "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.9965,
          "after": 4.0,
          "delta": 0.0035,
          "percent_delta": 0.0009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5163,
          "after": 0.0,
          "delta": -0.5163,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0634,
          "after": 1.0,
          "delta": -0.0634,
          "percent_delta": -0.0596,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.002,
          "after": 0.0,
          "delta": -0.002,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1802,
          "after": 0.0,
          "delta": -0.1802,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5257,
          "after": 0.0,
          "delta": -0.5257,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0805,
          "after": 1.0,
          "delta": -0.0805,
          "percent_delta": -0.0745,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5257,
          "after": 0.0,
          "delta": -0.5257,
          "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.4028,
          "after": 0.0,
          "delta": -0.4028,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.4028,
          "after": 0.0,
          "delta": -0.4028,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.247,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.332,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.414,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2661,
          "after": 0.247,
          "delta": -0.0191,
          "percent_delta": -0.0718,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.35,
          "after": 0.332,
          "delta": -0.018,
          "percent_delta": -0.0514,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4379,
          "after": 0.414,
          "delta": -0.0239,
          "percent_delta": -0.0546,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 0,
        "deboosted_metrics": 7,
        "better_metrics": 0,
        "worse_metrics": 7,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 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": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2661,
        "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.35,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4379,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.247,
          "after": 0.2661,
          "delta": 0.0191,
          "percent_delta": 0.0772,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.332,
          "after": 0.35,
          "delta": 0.018,
          "percent_delta": 0.0543,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.414,
          "after": 0.4379,
          "delta": 0.0239,
          "percent_delta": 0.0578,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.414,
          "after": 0.4379,
          "delta": 0.0239,
          "percent_delta": 0.0578,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.172,
        "after": 0.0,
        "delta": -0.172,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.31,
        "after": 4.0,
        "delta": -0.31,
        "percent_delta": -0.0719,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.28,
        "after": 0.2661,
        "delta": -0.0139,
        "percent_delta": -0.0496,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.517,
        "after": 0.0,
        "delta": -0.517,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.21,
        "after": 0.0,
        "delta": -1.21,
        "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.36,
        "after": 0.35,
        "delta": -0.01,
        "percent_delta": -0.0278,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.471,
        "after": 0.0,
        "delta": -0.471,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.63,
        "after": 0.0,
        "delta": -0.63,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.441,
        "after": 0.4379,
        "delta": -0.0031,
        "percent_delta": -0.007,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.08,
        "after": 1.0,
        "delta": -0.08,
        "percent_delta": -0.0741,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 0,
      "deboosted_metrics": 10,
      "better_metrics": 1,
      "worse_metrics": 9,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.21,
        "after": 0.0,
        "delta": -1.21,
        "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.172-
predicted_3B0.000-
predicted_AB4.310-
predicted_AVG0.280-
predicted_BB0.517-
predicted_H1.210-
predicted_HR0.220-
predicted_OBP0.360-
predicted_R0.471-
predicted_RBI0.630-
predicted_SLG0.441-
predicted_SO1.080-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.145-0.026
predicted_3B0.0000.000
predicted_AB3.997-0.313
predicted_AVG0.272-0.008
predicted_BB0.5220.005
predicted_H1.091-0.119
predicted_HBP0.002-
predicted_HR0.185-0.035
predicted_OBP0.358-0.002
predicted_R0.422-0.049
predicted_RBI0.551-0.079
predicted_SLG0.426-0.015
predicted_SO1.069-0.012
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1450.000
predicted_3B0.0000.000
predicted_AB3.9970.000
predicted_AVG0.266-0.006
predicted_BB0.516-0.006
predicted_H1.063-0.028
predicted_HBP0.0020.000
predicted_HR0.180-0.004
predicted_OBP0.350-0.008
predicted_R0.403-0.019
predicted_RBI0.526-0.025
predicted_SLG0.4380.012
predicted_SO1.0810.012
4. ab_floor_and_scaling

AB rounded to 4 (raw=4.31), rates preserved: AVG=0.247 HR/AB=0.042

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0001.000
BB1.0001.000
H1.0000.000
HR0.0000.000
R1.0001.000
RBI1.0001.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.145
predicted_3B0.000-0.000
predicted_AB4.0000.003
predicted_AVG0.247-0.019
predicted_BB0.000-0.516
predicted_H1.000-0.063
predicted_HR0.000-0.180
predicted_OBP0.332-0.018
predicted_R0.000-0.403
predicted_RBI0.000-0.526
predicted_SLG0.414-0.024
predicted_SO1.000-0.081
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.000-1.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 87
Reference playing time: 4.310
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0005.0000.0000.0000.0002.0000.0003.0005.0000.27780.38100.27780.27780.00000.11110.16670.2778
last_100.2010-36.00010.0000.0000.0002.0006.0003.0006.00011.0000.27780.38100.44440.27780.05560.16670.16670.3056
season0.6087-307.00077.00015.0000.00014.00035.00041.00045.00094.0000.25080.34560.43650.25080.04560.11400.14660.3062
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1100
predicted_3B0.0010
predicted_AB3.5760
predicted_AVG0.2605
predicted_BB0.5290
predicted_H0.9320
predicted_HBP0.0020
predicted_HR0.1370
predicted_OBP0.3555
predicted_R0.3560
predicted_RBI0.4440
predicted_SLG0.4064
predicted_SO1.0530
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17200.11000.1455model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.31003.57603.9965model_form_blend
predicted_AVG0.28000.26050.2717model_form_blend
predicted_BB0.51700.52900.5221model_form_blend
predicted_H1.21000.93201.0913model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.22000.13700.1846model_form_blend
predicted_OBP0.36000.35550.3581model_form_blend
predicted_R0.47100.35600.4219model_form_blend
predicted_RBI0.63000.44400.5506model_form_blend
predicted_SLG0.44100.40640.4262model_form_blend
predicted_SO1.08001.05301.0685model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_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
allPositionsPlayed1B
gameID20260823_SF@BOS
game_typefull
mlbID805811
playerID805811
playerNameBryce Eldridge
posDH
startedTrue
startingPosition1B
teamSF
teamID24
game_date2026-08-23
sl_k_percent26.4
sl_bb_percent12.4
sl_woba0.353
sl_xwoba0.355
sl_xba0.256
sl_xslg0.469
sl_sweet_spot_percent35.8
sl_barrel_batted_rate12.1
sl_hard_hit_percent52.6
sl_exit_velocity_avg92.6
sl_launch_angle_avg13.3
sl_whiff_percent26.7
sl_swing_percent43.1
Jonah Cox (813841) · BATTER · CF · Team SF
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 57
All-history rows before 20260827: 57
System season_avg: 0.2550
Data season_avg (2026 season-to-date): 0.2683
Diff (system - data): -0.0133
System opponent_avg: 0.2550

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0490.0000.000Hitting_2B0.0180.000-0.0180.000
predicted_3B0.0980.0000.000Hitting_3B0.1050.000-0.1050.000
predicted_AB2.5004.0004.000Hitting_AB2.1583.0001.8421.000
predicted_AVG0.3150.2500.250Hitting_AVG0.2680.333-0.018-0.083
predicted_BB0.0490.0000.000Hitting_BB0.0181.000-0.018-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0700.000-0.0700.000
predicted_H0.4801.0001.000Hitting_H0.5791.0000.4210.000
predicted_HR0.1800.0000.000Hitting_HR0.0881.000-0.088-1.000
predicted_OBP0.3150.2500.250Hitting_OBP0.2740.500-0.024-0.250
predicted_R0.3430.0000.000Hitting_R0.2812.000-0.281-2.000
predicted_RBI0.3500.0001.000Hitting_RBI0.1752.000-0.175-2.000
predicted_SLG0.6160.2500.250Hitting_SLG0.4961.333-0.246-1.083
predicted_SO1.3730.0002.000Hitting_SO1.1051.000-1.105-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.5000 -> 4.0000 (boost 1.5000, better)
Biggest Deboostpredicted_SO: 1.3730 -> 0.0000 (deboost -1.3730, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend52323predicted_AB: 2.5000 -> 2.6266 (boost 0.1266, better)predicted_SLG: 0.6160 -> 0.5810 (deboost -0.0350, worse)Final model input calibrated 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.2923 -> 0.2077 (deboost -0.0846, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling83526predicted_SO: 1.3426 -> 2.0000 (boost 0.6574, worse)predicted_RBI: 0.3486 -> 0.0000 (deboost -0.3486, worse)AB rounded to 3 (raw=2.63), rates preserved: AVG=0.208 HR/AB=0.068
5consistency_constraints10101-predicted_R: 0.3572 -> 0.0000 (deboost -0.3572, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation22020predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context31212predicted_OBP: 0.2308 -> 0.2370 (boost 0.0062, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference21120predicted_AB: 3.0000 -> 4.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_final10101-predicted_OBP: 0.2370 -> 0.2308 (deboost -0.0062, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "813841",
  "player_name": "Jonah Cox",
  "position": "CF",
  "team": "SF",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.049,
        "predicted_3B": 0.098,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.315,
        "predicted_BB": 0.049,
        "predicted_H": 0.48,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.315,
        "predicted_R": 0.343,
        "predicted_RBI": 0.35,
        "predicted_SLG": 0.616,
        "predicted_SO": 1.373
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0565,
        "predicted_3B": 0.0853,
        "predicted_AB": 2.6266,
        "predicted_AVG": 0.2923,
        "predicted_BB": 0.0799,
        "predicted_H": 0.5599,
        "predicted_HBP": 0.009,
        "predicted_HR": 0.1831,
        "predicted_OBP": 0.3051,
        "predicted_R": 0.3742,
        "predicted_RBI": 0.3651,
        "predicted_SLG": 0.581,
        "predicted_SO": 1.3277
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.049,
          "after": 0.0565,
          "delta": 0.0075,
          "percent_delta": 0.1531,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.098,
          "after": 0.0853,
          "delta": -0.0127,
          "percent_delta": -0.1296,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.6266,
          "delta": 0.1266,
          "percent_delta": 0.0506,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.315,
          "after": 0.2923,
          "delta": -0.0227,
          "percent_delta": -0.0721,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.049,
          "after": 0.0799,
          "delta": 0.0309,
          "percent_delta": 0.6306,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.48,
          "after": 0.5599,
          "delta": 0.0799,
          "percent_delta": 0.1665,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.1831,
          "delta": 0.0031,
          "percent_delta": 0.0172,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.315,
          "after": 0.3051,
          "delta": -0.0099,
          "percent_delta": -0.0314,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.343,
          "after": 0.3742,
          "delta": 0.0312,
          "percent_delta": 0.091,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.35,
          "after": 0.3651,
          "delta": 0.0151,
          "percent_delta": 0.0431,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.616,
          "after": 0.581,
          "delta": -0.035,
          "percent_delta": -0.0568,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.373,
          "after": 1.3277,
          "delta": -0.0453,
          "percent_delta": -0.033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.6266,
          "delta": 0.1266,
          "percent_delta": 0.0506,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.616,
          "after": 0.581,
          "delta": -0.035,
          "percent_delta": -0.0568,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 23
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0565,
        "predicted_3B": 0.0853,
        "predicted_AB": 2.6266,
        "predicted_AVG": 0.2077,
        "predicted_BB": 0.079,
        "predicted_H": 0.5456,
        "predicted_HBP": 0.009,
        "predicted_HR": 0.1787,
        "predicted_OBP": 0.2308,
        "predicted_R": 0.3572,
        "predicted_RBI": 0.3486,
        "predicted_SLG": 0.4983,
        "predicted_SO": 1.3426
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0565,
          "after": 0.0565,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0853,
          "after": 0.0853,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.6266,
          "after": 2.6266,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2923,
          "after": 0.2077,
          "delta": -0.0846,
          "percent_delta": -0.2894,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0799,
          "after": 0.079,
          "delta": -0.0009,
          "percent_delta": -0.0113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5599,
          "after": 0.5456,
          "delta": -0.0143,
          "percent_delta": -0.0255,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.009,
          "after": 0.009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1831,
          "after": 0.1787,
          "delta": -0.0044,
          "percent_delta": -0.024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3051,
          "after": 0.2308,
          "delta": -0.0743,
          "percent_delta": -0.2435,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3742,
          "after": 0.3572,
          "delta": -0.017,
          "percent_delta": -0.0454,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3651,
          "after": 0.3486,
          "delta": -0.0165,
          "percent_delta": -0.0452,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.581,
          "after": 0.4983,
          "delta": -0.0827,
          "percent_delta": -0.1423,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3277,
          "after": 1.3426,
          "delta": 0.0149,
          "percent_delta": 0.0112,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2923,
          "after": 0.2077,
          "delta": -0.0846,
          "percent_delta": -0.2894,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.63), rates preserved: AVG=0.208 HR/AB=0.068",
      "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": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0565,
          "after": 0.0,
          "delta": -0.0565,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0853,
          "after": 0.0,
          "delta": -0.0853,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 2.6266,
          "after": 3.0,
          "delta": 0.3734,
          "percent_delta": 0.1422,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.079,
          "after": 0.0,
          "delta": -0.079,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5456,
          "after": 1.0,
          "delta": 0.4544,
          "percent_delta": 0.8328,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.009,
          "after": 0.0,
          "delta": -0.009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1787,
          "after": 0.0,
          "delta": -0.1787,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3486,
          "after": 0.0,
          "delta": -0.3486,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3426,
          "after": 2.0,
          "delta": 0.6574,
          "percent_delta": 0.4896,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.3426,
          "after": 2.0,
          "delta": 0.6574,
          "percent_delta": 0.4896,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3486,
          "after": 0.0,
          "delta": -0.3486,
          "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": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3572,
          "after": 0.0,
          "delta": -0.3572,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.3572,
          "after": 0.0,
          "delta": -0.3572,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "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_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": 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.208,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.237,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.498,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2077,
          "after": 0.208,
          "delta": 0.0003,
          "percent_delta": 0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2308,
          "after": 0.237,
          "delta": 0.0062,
          "percent_delta": 0.0269,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4983,
          "after": 0.498,
          "delta": -0.0003,
          "percent_delta": -0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2308,
          "after": 0.237,
          "delta": 0.0062,
          "percent_delta": 0.0269,
          "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": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 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": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2077,
        "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.2308,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4983,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.208,
          "after": 0.2077,
          "delta": -0.0003,
          "percent_delta": -0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.237,
          "after": 0.2308,
          "delta": -0.0062,
          "percent_delta": -0.026,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.498,
          "after": 0.4983,
          "delta": 0.0003,
          "percent_delta": 0.0006,
          "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_OBP",
          "before": 0.237,
          "after": 0.2308,
          "delta": -0.0062,
          "percent_delta": -0.026,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.049,
        "after": 0.0,
        "delta": -0.049,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_3B",
        "before": 0.098,
        "after": 0.0,
        "delta": -0.098,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 4.0,
        "delta": 1.5,
        "percent_delta": 0.6,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.315,
        "after": 0.2077,
        "delta": -0.1073,
        "percent_delta": -0.3406,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.049,
        "after": 0.0,
        "delta": -0.049,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.48,
        "after": 1.0,
        "delta": 0.52,
        "percent_delta": 1.0833,
        "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.315,
        "after": 0.2308,
        "delta": -0.0842,
        "percent_delta": -0.2673,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.343,
        "after": 0.0,
        "delta": -0.343,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.35,
        "after": 0.0,
        "delta": -0.35,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.616,
        "after": 0.4983,
        "delta": -0.1177,
        "percent_delta": -0.1911,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.373,
        "after": 0.0,
        "delta": -1.373,
        "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.5,
        "after": 4.0,
        "delta": 1.5,
        "percent_delta": 0.6,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.373,
        "after": 0.0,
        "delta": -1.373,
        "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.049-
predicted_3B0.098-
predicted_AB2.500-
predicted_AVG0.315-
predicted_BB0.049-
predicted_H0.480-
predicted_HR0.180-
predicted_OBP0.315-
predicted_R0.343-
predicted_RBI0.350-
predicted_SLG0.616-
predicted_SO1.373-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.0570.007
predicted_3B0.085-0.013
predicted_AB2.6270.127
predicted_AVG0.292-0.023
predicted_BB0.0800.031
predicted_H0.5600.080
predicted_HBP0.009-
predicted_HR0.1830.003
predicted_OBP0.305-0.010
predicted_R0.3740.031
predicted_RBI0.3650.015
predicted_SLG0.581-0.035
predicted_SO1.328-0.045
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0570.000
predicted_3B0.0850.000
predicted_AB2.6270.000
predicted_AVG0.208-0.085
predicted_BB0.079-0.001
predicted_H0.546-0.014
predicted_HBP0.0090.000
predicted_HR0.179-0.004
predicted_OBP0.231-0.074
predicted_R0.357-0.017
predicted_RBI0.349-0.016
predicted_SLG0.498-0.083
predicted_SO1.3430.015
4. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI1.0001.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.057
predicted_3B0.000-0.085
predicted_AB3.0000.373
predicted_AVG0.2080.000
predicted_BB0.000-0.079
predicted_H1.0000.454
predicted_HR0.000-0.179
predicted_OBP0.2370.006
predicted_R0.000-0.357
predicted_RBI0.000-0.349
predicted_SLG0.498-0.000
predicted_SO2.0000.657
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
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO0.000-2.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 23
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-12.0003.0000.0000.0002.0003.0003.0001.0007.0000.25000.30770.75000.25000.16670.25000.08330.5833
last_100.2010-26.0006.0000.0001.0002.0003.0004.0001.00014.0000.23080.25930.53850.23080.07690.11540.03850.5385
season0.6023-51.00013.0001.0002.0003.0006.0007.0001.00028.0000.25490.26920.52940.25490.05880.11770.01960.5490
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0710
predicted_3B0.0610
predicted_AB2.8690
predicted_AVG0.2487
predicted_BB0.1390
predicted_H0.7130
predicted_HBP0.0090
predicted_HR0.1890
predicted_OBP0.2861
predicted_R0.4340
predicted_RBI0.3940
predicted_SLG0.5139
predicted_SO1.2410
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.04900.07100.0565model_form_blend
predicted_3B0.09800.06100.0853model_form_blend
predicted_AB2.50002.86902.6266model_form_blend
predicted_AVG0.31500.24870.2923model_form_blend
predicted_BB0.04900.13900.0799model_form_blend
predicted_H0.48000.71300.5599model_form_blend
predicted_HBP-0.00900.0090form_only
predicted_HR0.18000.18900.1831model_form_blend
predicted_OBP0.31500.28610.3051model_form_blend
predicted_R0.34300.43400.3742model_form_blend
predicted_RBI0.35000.39400.3651model_form_blend
predicted_SLG0.61600.51390.5810model_form_blend
predicted_SO1.37301.24101.3277model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R2
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB4
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260826_CIN@SF
game_typefull
mlbID813841
playerID813841
playerNameJonah Cox
posCF
startedTrue
startingPositionCF
teamSF
teamID24
game_date2026-08-26
sl_k_percent44.9
sl_bb_percent4.3
sl_woba0.372
sl_xwoba0.284
sl_xba0.209
sl_xslg0.418
sl_sweet_spot_percent42.9
sl_barrel_batted_rate14.3
sl_hard_hit_percent45.7
sl_exit_velocity_avg92.3
sl_launch_angle_avg19.0
sl_whiff_percent40.1
sl_swing_percent55.2
Christian Koss (683766) · BATTER · SS · Team SF
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 101
All-history rows before 20260827: 101
System season_avg: 0.2110
Data season_avg (2026 season-to-date): 0.2163
Diff (system - data): -0.0053
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.1350.0000.000Hitting_2B0.1190.000-0.1190.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.9464.0004.000Hitting_AB3.1584.0000.8420.000
predicted_AVG0.2110.0000.250Hitting_AVG0.2160.250-0.216-0.250
predicted_BB0.1350.0000.000Hitting_BB0.0890.000-0.0890.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6220.0001.000Hitting_H0.6831.000-0.683-1.000
predicted_HR0.0000.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.2460.0000.250Hitting_OBP0.2400.250-0.240-0.250
predicted_R0.2700.0000.000Hitting_R0.2481.000-0.248-1.000
predicted_RBI0.0540.0000.000Hitting_RBI0.0890.000-0.0890.000
predicted_SLG0.2570.0000.250Hitting_SLG0.2540.250-0.254-0.250
predicted_SO0.7840.0001.000Hitting_SO0.8122.000-0.812-2.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_AB: 2.9460 -> 4.0000 (boost 1.0540, better)
Biggest Deboostpredicted_SO: 0.7840 -> 0.0000 (deboost -0.7840, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend55050predicted_AB: 2.9460 -> 3.0468 (boost 0.1008, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_OBP: 0.2579 -> 0.2521 (deboost -0.0058, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling52314predicted_H: 0.6508 -> 1.0000 (boost 0.3492, better)predicted_BB: 0.1569 -> 0.0000 (deboost -0.1569, worse)AB rounded to 3 (raw=3.05), rates preserved: AVG=0.214 HR/AB=0.003
5consistency_constraints10101-predicted_R: 0.3068 -> 0.0000 (deboost -0.3068, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context32121predicted_SLG: 0.2670 -> 0.2740 (boost 0.0070, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_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
9current_json_final20202-predicted_SLG: 0.2740 -> 0.2670 (deboost -0.0070, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "683766",
  "player_name": "Christian Koss",
  "position": "SS",
  "team": "SF",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.135,
        "predicted_3B": 0.0,
        "predicted_AB": 2.946,
        "predicted_AVG": 0.211,
        "predicted_BB": 0.135,
        "predicted_H": 0.622,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.246,
        "predicted_R": 0.27,
        "predicted_RBI": 0.054,
        "predicted_SLG": 0.257,
        "predicted_SO": 0.784
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1342,
        "predicted_3B": 0.0012,
        "predicted_AB": 3.0468,
        "predicted_AVG": 0.2188,
        "predicted_BB": 0.1587,
        "predicted_H": 0.6679,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.0089,
        "predicted_OBP": 0.2579,
        "predicted_R": 0.3214,
        "predicted_RBI": 0.0766,
        "predicted_SLG": 0.2722,
        "predicted_SO": 0.8116
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.135,
          "after": 0.1342,
          "delta": -0.0008,
          "percent_delta": -0.0059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0012,
          "delta": 0.0012,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.946,
          "after": 3.0468,
          "delta": 0.1008,
          "percent_delta": 0.0342,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.211,
          "after": 0.2188,
          "delta": 0.0078,
          "percent_delta": 0.037,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.135,
          "after": 0.1587,
          "delta": 0.0237,
          "percent_delta": 0.1756,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.622,
          "after": 0.6679,
          "delta": 0.0459,
          "percent_delta": 0.0738,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0089,
          "delta": 0.0089,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.246,
          "after": 0.2579,
          "delta": 0.0119,
          "percent_delta": 0.0484,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.27,
          "after": 0.3214,
          "delta": 0.0514,
          "percent_delta": 0.1904,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.054,
          "after": 0.0766,
          "delta": 0.0226,
          "percent_delta": 0.4185,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.257,
          "after": 0.2722,
          "delta": 0.0152,
          "percent_delta": 0.0591,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.784,
          "after": 0.8116,
          "delta": 0.0276,
          "percent_delta": 0.0352,
          "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_AB",
          "before": 2.946,
          "after": 3.0468,
          "delta": 0.1008,
          "percent_delta": 0.0342,
          "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": 37
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1342,
        "predicted_3B": 0.0012,
        "predicted_AB": 3.0468,
        "predicted_AVG": 0.2136,
        "predicted_BB": 0.1569,
        "predicted_H": 0.6508,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.0087,
        "predicted_OBP": 0.2521,
        "predicted_R": 0.3068,
        "predicted_RBI": 0.0731,
        "predicted_SLG": 0.267,
        "predicted_SO": 0.8207
      },
      "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.0012,
          "after": 0.0012,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0468,
          "after": 3.0468,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2188,
          "after": 0.2136,
          "delta": -0.0052,
          "percent_delta": -0.0238,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1587,
          "after": 0.1569,
          "delta": -0.0018,
          "percent_delta": -0.0113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6679,
          "after": 0.6508,
          "delta": -0.0171,
          "percent_delta": -0.0256,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.006,
          "after": 0.006,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0089,
          "after": 0.0087,
          "delta": -0.0002,
          "percent_delta": -0.0225,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2579,
          "after": 0.2521,
          "delta": -0.0058,
          "percent_delta": -0.0225,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3214,
          "after": 0.3068,
          "delta": -0.0146,
          "percent_delta": -0.0454,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0766,
          "after": 0.0731,
          "delta": -0.0035,
          "percent_delta": -0.0457,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2722,
          "after": 0.267,
          "delta": -0.0052,
          "percent_delta": -0.0191,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8116,
          "after": 0.8207,
          "delta": 0.0091,
          "percent_delta": 0.0112,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.2579,
          "after": 0.2521,
          "delta": -0.0058,
          "percent_delta": -0.0225,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.05), rates preserved: AVG=0.214 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.1342,
          "after": 0.0,
          "delta": -0.1342,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0012,
          "after": 0.0,
          "delta": -0.0012,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0468,
          "after": 3.0,
          "delta": -0.0468,
          "percent_delta": -0.0154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1569,
          "after": 0.0,
          "delta": -0.1569,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6508,
          "after": 1.0,
          "delta": 0.3492,
          "percent_delta": 0.5366,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.006,
          "after": 0.0,
          "delta": -0.006,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0087,
          "after": 0.0,
          "delta": -0.0087,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0731,
          "after": 0.0,
          "delta": -0.0731,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8207,
          "after": 1.0,
          "delta": 0.1793,
          "percent_delta": 0.2185,
          "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.6508,
          "after": 1.0,
          "delta": 0.3492,
          "percent_delta": 0.5366,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.1569,
          "after": 0.0,
          "delta": -0.1569,
          "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.3068,
          "after": 0.0,
          "delta": -0.3068,
          "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.3068,
          "after": 0.0,
          "delta": -0.3068,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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_SO",
          "before": 1.0,
          "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": 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.214,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.258,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.274,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "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_AVG",
          "before": 0.2136,
          "after": 0.214,
          "delta": 0.0004,
          "percent_delta": 0.0019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2521,
          "after": 0.258,
          "delta": 0.0059,
          "percent_delta": 0.0234,
          "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.267,
          "after": 0.274,
          "delta": 0.007,
          "percent_delta": 0.0262,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.267,
          "after": 0.274,
          "delta": 0.007,
          "percent_delta": 0.0262,
          "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": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2136,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2521,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.267,
        "predicted_SO": 0.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.214,
          "after": 0.2136,
          "delta": -0.0004,
          "percent_delta": -0.0019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.258,
          "after": 0.2521,
          "delta": -0.0059,
          "percent_delta": -0.0228,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.274,
          "after": 0.267,
          "delta": -0.007,
          "percent_delta": -0.0256,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.274,
          "after": 0.267,
          "delta": -0.007,
          "percent_delta": -0.0256,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.135,
        "after": 0.0,
        "delta": -0.135,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.946,
        "after": 4.0,
        "delta": 1.054,
        "percent_delta": 0.3578,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.211,
        "after": 0.2136,
        "delta": 0.0026,
        "percent_delta": 0.0123,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.135,
        "after": 0.0,
        "delta": -0.135,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.622,
        "after": 0.0,
        "delta": -0.622,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.246,
        "after": 0.2521,
        "delta": 0.0061,
        "percent_delta": 0.0248,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.27,
        "after": 0.0,
        "delta": -0.27,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.054,
        "after": 0.0,
        "delta": -0.054,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.257,
        "after": 0.267,
        "delta": 0.01,
        "percent_delta": 0.0389,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.784,
        "after": 0.0,
        "delta": -0.784,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 3,
      "deboosted_metrics": 6,
      "better_metrics": 4,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.946,
        "after": 4.0,
        "delta": 1.054,
        "percent_delta": 0.3578,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.784,
        "after": 0.0,
        "delta": -0.784,
        "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.135-
predicted_3B0.000-
predicted_AB2.946-
predicted_AVG0.211-
predicted_BB0.135-
predicted_H0.622-
predicted_HR0.000-
predicted_OBP0.246-
predicted_R0.270-
predicted_RBI0.054-
predicted_SLG0.257-
predicted_SO0.784-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.134-0.001
predicted_3B0.0010.001
predicted_AB3.0470.101
predicted_AVG0.2190.008
predicted_BB0.1590.024
predicted_H0.6680.046
predicted_HBP0.006-
predicted_HR0.0090.009
predicted_OBP0.2580.012
predicted_R0.3210.051
predicted_RBI0.0770.023
predicted_SLG0.2720.015
predicted_SO0.8120.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.1340.000
predicted_3B0.0010.000
predicted_AB3.0470.000
predicted_AVG0.214-0.005
predicted_BB0.157-0.002
predicted_H0.651-0.017
predicted_HBP0.0060.000
predicted_HR0.009-0.000
predicted_OBP0.252-0.006
predicted_R0.307-0.015
predicted_RBI0.073-0.004
predicted_SLG0.267-0.005
predicted_SO0.8210.009
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.05), rates preserved: AVG=0.214 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. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.134
predicted_3B0.000-0.001
predicted_AB3.000-0.047
predicted_AVG0.2140.000
predicted_BB0.000-0.157
predicted_H1.0000.349
predicted_HR0.000-0.009
predicted_OBP0.2580.006
predicted_R0.000-0.307
predicted_RBI0.000-0.073
predicted_SLG0.2740.007
predicted_SO1.0000.179
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.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: 37
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.0000.0000.0003.0001.0004.0000.25000.29410.25000.25000.00000.00000.06250.2500
last_100.2010-32.0008.0002.0000.0000.0000.0005.0003.00011.0000.25000.31430.31250.25000.00000.00000.09380.3438
season0.6037-109.00023.0005.0000.0000.0002.00010.0005.00029.0000.21100.24560.25690.21100.00000.01840.04590.2661
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1330
predicted_3B0.0030
predicted_AB3.2050
predicted_AVG0.2310
predicted_BB0.1960
predicted_H0.7400
predicted_HBP0.0060
predicted_HR0.0230
predicted_OBP0.2766
predicted_R0.4020
predicted_RBI0.1120
predicted_SLG0.2960
predicted_SO0.8550
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13500.13300.1342model_form_blend
predicted_3B0.00000.00300.0012model_form_blend
predicted_AB2.94603.20503.0468model_form_blend
predicted_AVG0.21100.23100.2188model_form_blend
predicted_BB0.13500.19600.1587model_form_blend
predicted_H0.62200.74000.6679model_form_blend
predicted_HBP-0.00600.0060form_only
predicted_HR0.00000.02300.0089model_form_blend
predicted_OBP0.24600.27660.2579model_form_blend
predicted_R0.27000.40200.3214model_form_blend
predicted_RBI0.05400.11200.0766model_form_blend
predicted_SLG0.25700.29600.2722model_form_blend
predicted_SO0.78400.85500.8116model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC1
Hitting_SF0
Hitting_SO2
Hitting_TB1
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260826_CIN@SF
game_typefull
mlbID683766
playerID683766
playerNameChristian Koss
pos3B
startedTrue
startingPositionSS
teamSF
teamID24
game_date2026-08-26
sl_k_percent27.6
sl_bb_percent3.7
sl_woba0.226
sl_xwoba0.229
sl_xba0.195
sl_xslg0.27
sl_sweet_spot_percent24.4
sl_barrel_batted_rate5.7
sl_hard_hit_percent30.0
sl_exit_velocity_avg85.7
sl_launch_angle_avg8.3
sl_whiff_percent29.0
sl_swing_percent55.4
Rafael Devers (646240) · BATTER · 1B · Team SF
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 537
All-history rows before 20260827: 537
System season_avg: 0.2470
Data season_avg (2026 season-to-date): 0.2540
Diff (system - data): -0.0070
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.2350.0000.000Hitting_2B0.2610.000-0.2610.000
predicted_3B0.0080.0000.000Hitting_3B0.0090.000-0.0090.000
predicted_AB3.7353.0005.000Hitting_AB3.8124.000-0.812-1.000
predicted_AVG0.2650.0000.200Hitting_AVG0.2540.500-0.254-0.500
predicted_BB0.4472.0001.000Hitting_BB0.4411.0001.5591.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9600.0001.000Hitting_H0.9682.000-0.968-2.000
predicted_HR0.3200.0001.000Hitting_HR0.1991.000-0.199-1.000
predicted_OBP0.3560.4000.333Hitting_OBP0.3290.6000.071-0.200
predicted_R0.5530.0001.000Hitting_R0.5721.000-0.572-1.000
predicted_RBI0.8400.0001.000Hitting_RBI0.5752.000-0.575-2.000
predicted_SLG0.5890.0000.800Hitting_SLG0.4841.250-0.484-1.250
predicted_SO1.0833.0001.000Hitting_SO1.1120.0001.8883.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics1
Worse Metrics10
Biggest Boostpredicted_SO: 1.0830 -> 3.0000 (boost 1.9170, worse)
Biggest Deboostpredicted_H: 0.9600 -> 0.0000 (deboost -0.9600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21120predicted_R: 0.5530 -> 0.6522 (boost 0.0992, better)predicted_SO: 1.0830 -> 1.0138 (deboost -0.0692, 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.5863 -> 0.5693 (deboost -0.0170, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling64242predicted_BB: 0.4885 -> 1.0000 (boost 0.5115, better)predicted_HR: 0.3204 -> 0.0000 (deboost -0.3204, worse)AB rounded to 4 (raw=3.73), rates preserved: AVG=0.250 HR/AB=0.086
5consistency_constraints11010predicted_R: 0.6227 -> 1.0000 (boost 0.3773, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation22020predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context20202-predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference62415predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "646240",
  "player_name": "Rafael Devers",
  "position": "1B",
  "team": "SF",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.235,
        "predicted_3B": 0.008,
        "predicted_AB": 3.735,
        "predicted_AVG": 0.265,
        "predicted_BB": 0.447,
        "predicted_H": 0.96,
        "predicted_HR": 0.32,
        "predicted_OBP": 0.356,
        "predicted_R": 0.553,
        "predicted_RBI": 0.84,
        "predicted_SLG": 0.589,
        "predicted_SO": 1.083
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2111,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.7224,
        "predicted_AVG": 0.2618,
        "predicted_BB": 0.494,
        "predicted_H": 0.9578,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.3283,
        "predicted_OBP": 0.3545,
        "predicted_R": 0.6522,
        "predicted_RBI": 0.8091,
        "predicted_SLG": 0.5863,
        "predicted_SO": 1.0138
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.235,
          "after": 0.2111,
          "delta": -0.0239,
          "percent_delta": -0.1017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.008,
          "after": 0.0067,
          "delta": -0.0013,
          "percent_delta": -0.1625,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.735,
          "after": 3.7224,
          "delta": -0.0126,
          "percent_delta": -0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.265,
          "after": 0.2618,
          "delta": -0.0032,
          "percent_delta": -0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.447,
          "after": 0.494,
          "delta": 0.047,
          "percent_delta": 0.1051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.96,
          "after": 0.9578,
          "delta": -0.0022,
          "percent_delta": -0.0023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.32,
          "after": 0.3283,
          "delta": 0.0083,
          "percent_delta": 0.0259,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.356,
          "after": 0.3545,
          "delta": -0.0015,
          "percent_delta": -0.0042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.553,
          "after": 0.6522,
          "delta": 0.0992,
          "percent_delta": 0.1794,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.84,
          "after": 0.8091,
          "delta": -0.0309,
          "percent_delta": -0.0368,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.589,
          "after": 0.5863,
          "delta": -0.0027,
          "percent_delta": -0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.083,
          "after": 1.0138,
          "delta": -0.0692,
          "percent_delta": -0.0639,
          "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_R",
          "before": 0.553,
          "after": 0.6522,
          "delta": 0.0992,
          "percent_delta": 0.1794,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.083,
          "after": 1.0138,
          "delta": -0.0692,
          "percent_delta": -0.0639,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 132
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2111,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.7224,
        "predicted_AVG": 0.2507,
        "predicted_BB": 0.4885,
        "predicted_H": 0.9333,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.3204,
        "predicted_OBP": 0.3376,
        "predicted_R": 0.6227,
        "predicted_RBI": 0.7724,
        "predicted_SLG": 0.5693,
        "predicted_SO": 1.0252
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2111,
          "after": 0.2111,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0067,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7224,
          "after": 3.7224,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2618,
          "after": 0.2507,
          "delta": -0.0111,
          "percent_delta": -0.0424,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.494,
          "after": 0.4885,
          "delta": -0.0055,
          "percent_delta": -0.0111,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9578,
          "after": 0.9333,
          "delta": -0.0245,
          "percent_delta": -0.0256,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.006,
          "after": 0.006,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3283,
          "after": 0.3204,
          "delta": -0.0079,
          "percent_delta": -0.0241,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3545,
          "after": 0.3376,
          "delta": -0.0169,
          "percent_delta": -0.0477,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6522,
          "after": 0.6227,
          "delta": -0.0295,
          "percent_delta": -0.0452,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8091,
          "after": 0.7724,
          "delta": -0.0367,
          "percent_delta": -0.0454,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5863,
          "after": 0.5693,
          "delta": -0.017,
          "percent_delta": -0.029,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0138,
          "after": 1.0252,
          "delta": 0.0114,
          "percent_delta": 0.0112,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.5863,
          "after": 0.5693,
          "delta": -0.017,
          "percent_delta": -0.029,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.73), rates preserved: AVG=0.250 HR/AB=0.086",
      "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.2111,
          "after": 0.0,
          "delta": -0.2111,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0,
          "delta": -0.0067,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7224,
          "after": 4.0,
          "delta": 0.2776,
          "percent_delta": 0.0746,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4885,
          "after": 1.0,
          "delta": 0.5115,
          "percent_delta": 1.0471,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9333,
          "after": 1.0,
          "delta": 0.0667,
          "percent_delta": 0.0715,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.006,
          "after": 0.0,
          "delta": -0.006,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3204,
          "after": 0.0,
          "delta": -0.3204,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7724,
          "after": 1.0,
          "delta": 0.2276,
          "percent_delta": 0.2947,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0252,
          "after": 1.0,
          "delta": -0.0252,
          "percent_delta": -0.0246,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.4885,
          "after": 1.0,
          "delta": 0.5115,
          "percent_delta": 1.0471,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.3204,
          "after": 0.0,
          "delta": -0.3204,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6227,
          "after": 1.0,
          "delta": 0.3773,
          "percent_delta": 0.6059,
          "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.6227,
          "after": 1.0,
          "delta": 0.3773,
          "percent_delta": 0.6059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.342,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.567,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2507,
          "after": 0.25,
          "delta": -0.0007,
          "percent_delta": -0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3376,
          "after": 0.342,
          "delta": 0.0044,
          "percent_delta": 0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5693,
          "after": 0.567,
          "delta": -0.0023,
          "percent_delta": -0.004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2507,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3376,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5693,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2507,
          "delta": 0.0007,
          "percent_delta": 0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.342,
          "after": 0.3376,
          "delta": -0.0044,
          "percent_delta": -0.0128,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.567,
          "after": 0.5693,
          "delta": 0.0023,
          "percent_delta": 0.004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.235,
        "after": 0.0,
        "delta": -0.235,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.008,
        "after": 0.0,
        "delta": -0.008,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.735,
        "after": 3.0,
        "delta": -0.735,
        "percent_delta": -0.1968,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.265,
        "after": 0.2507,
        "delta": -0.0143,
        "percent_delta": -0.054,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.447,
        "after": 2.0,
        "delta": 1.553,
        "percent_delta": 3.4743,
        "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.32,
        "after": 0.0,
        "delta": -0.32,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.356,
        "after": 0.3376,
        "delta": -0.0184,
        "percent_delta": -0.0517,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.553,
        "after": 0.0,
        "delta": -0.553,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.84,
        "after": 0.0,
        "delta": -0.84,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.589,
        "after": 0.5693,
        "delta": -0.0197,
        "percent_delta": -0.0334,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.083,
        "after": 3.0,
        "delta": 1.917,
        "percent_delta": 1.7701,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.083,
        "after": 3.0,
        "delta": 1.917,
        "percent_delta": 1.7701,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.96,
        "after": 0.0,
        "delta": -0.96,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.235-
predicted_3B0.008-
predicted_AB3.735-
predicted_AVG0.265-
predicted_BB0.447-
predicted_H0.960-
predicted_HR0.320-
predicted_OBP0.356-
predicted_R0.553-
predicted_RBI0.840-
predicted_SLG0.589-
predicted_SO1.083-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.211-0.024
predicted_3B0.007-0.001
predicted_AB3.722-0.013
predicted_AVG0.262-0.003
predicted_BB0.4940.047
predicted_H0.958-0.002
predicted_HBP0.006-
predicted_HR0.3280.008
predicted_OBP0.354-0.002
predicted_R0.6520.099
predicted_RBI0.809-0.031
predicted_SLG0.586-0.003
predicted_SO1.014-0.069
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2110.000
predicted_3B0.0070.000
predicted_AB3.7220.000
predicted_AVG0.251-0.011
predicted_BB0.488-0.006
predicted_H0.933-0.024
predicted_HBP0.0060.000
predicted_HR0.320-0.008
predicted_OBP0.338-0.017
predicted_R0.623-0.029
predicted_RBI0.772-0.037
predicted_SLG0.569-0.017
predicted_SO1.0250.011
4. ab_floor_and_scaling

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

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. 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
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0001.000
BB1.0000.000
H1.0000.000
HR1.0001.000
R1.0000.000
RBI1.0000.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.211
predicted_3B0.000-0.007
predicted_AB4.0000.278
predicted_AVG0.250-0.001
predicted_BB1.0000.512
predicted_H1.0000.067
predicted_HR0.000-0.320
predicted_OBP0.3420.004
predicted_R1.0000.377
predicted_RBI1.0000.228
predicted_SLG0.567-0.002
predicted_SO1.000-0.025
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-2.000
BB2.0001.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.000-1.000
PA5.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO3.0002.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 132
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0005.0000.0000.0003.0006.0006.0004.0003.0000.27780.40910.77780.27780.16670.33330.22220.1667
last_100.2010-37.00010.0002.0000.0005.00010.00011.0007.0008.0000.27030.38640.72970.27030.13510.27030.18920.2162
season0.60132-493.000122.00031.0001.00028.00075.00073.00059.000143.0000.24750.32680.48480.24750.05680.15210.11970.2901
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1800
predicted_3B0.0050
predicted_AB3.7060
predicted_AVG0.2576
predicted_BB0.5550
predicted_H0.9550
predicted_HBP0.0060
predicted_HR0.3390
predicted_OBP0.3526
predicted_R0.7810
predicted_RBI0.7690
predicted_SLG0.5829
predicted_SO0.9240
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.23500.18000.2111model_form_blend
predicted_3B0.00800.00500.0067model_form_blend
predicted_AB3.73503.70603.7224model_form_blend
predicted_AVG0.26500.25760.2618model_form_blend
predicted_BB0.44700.55500.4940model_form_blend
predicted_H0.96000.95500.9578model_form_blend
predicted_HBP-0.00600.0060form_only
predicted_HR0.32000.33900.3283model_form_blend
predicted_OBP0.35600.35260.3545model_form_blend
predicted_R0.55300.78100.6522model_form_blend
predicted_RBI0.84000.76900.8091model_form_blend
predicted_SLG0.58900.58290.5863model_form_blend
predicted_SO1.08300.92401.0138model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB3
H0
2B0
3B0
HR0
R0
RBI0
BB2
SO3
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB1
Hitting_R1
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB5
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260826_CIN@SF
game_typefull
mlbID646240
playerID646240
playerNameRafael Devers
pos1B
startedTrue
startingPosition1B
teamSF
teamID24
game_date2026-08-26
sl_k_percent25.6
sl_bb_percent10.4
sl_woba0.352
sl_xwoba0.333
sl_xba0.234
sl_xslg0.456
sl_sweet_spot_percent30.7
sl_barrel_batted_rate11.3
sl_hard_hit_percent50.5
sl_exit_velocity_avg92.8
sl_launch_angle_avg15.1
sl_whiff_percent28.9
sl_swing_percent47.7
Drew Cavanaugh (701852) · BATTER · C · Team SF
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 101
All-history rows before 20260827: 101
System season_avg: 0.2500
Data season_avg (2026 season-to-date): 0.2586
Diff (system - data): -0.0086
System opponent_avg: 0.3750

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0290.0000.000Hitting_2B0.0400.000-0.0400.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.6293.0004.000Hitting_AB2.8711.0000.1292.000
predicted_AVG0.2900.3330.000Hitting_AVG0.2590.0000.0750.333
predicted_BB0.3711.0001.000Hitting_BB0.4850.0000.5151.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.2401.0000.000Hitting_H0.7430.0000.2571.000
predicted_HR0.0300.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.3110.5000.200Hitting_OBP0.3660.0000.1340.500
predicted_R0.1431.0000.000Hitting_R0.1980.0000.8021.000
predicted_RBI0.0901.0000.000Hitting_RBI0.1490.0000.8511.000
predicted_SLG0.2970.3330.000Hitting_SLG0.2720.0000.0610.333
predicted_SO0.7711.0001.000Hitting_SO0.7131.0000.2870.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics9
Boosted Metrics6
Deboosted Metrics3
Better Metrics5
Worse Metrics4
Biggest Boostpredicted_RBI: 0.0900 -> 1.0000 (boost 0.9100, better)
Biggest Deboostpredicted_AVG: 0.2900 -> 0.1592 (deboost -0.1308, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend54141predicted_H: 0.2400 -> 0.4494 (boost 0.2094, better)predicted_AVG: 0.2900 -> 0.2809 (deboost -0.0091, worse)Final model input calibrated 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.2809 -> 0.1592 (deboost -0.1217, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling52314predicted_AB: 2.7499 -> 3.0000 (boost 0.2501, better)predicted_H: 0.4379 -> 0.0000 (deboost -0.4379, worse)AB rounded to 3 (raw=2.75), rates preserved: AVG=0.159 HR/AB=0.010
5consistency_constraints21111predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 0.1542 -> 0.0000 (deboost -0.1542, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation32121predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context53232predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference33030predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final20202-predicted_SLG: 0.2090 -> 0.2021 (deboost -0.0069, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "701852",
  "player_name": "Drew Cavanaugh",
  "position": "C",
  "team": "SF",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.029,
        "predicted_3B": 0.0,
        "predicted_AB": 2.629,
        "predicted_AVG": 0.29,
        "predicted_BB": 0.371,
        "predicted_H": 0.24,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.311,
        "predicted_R": 0.143,
        "predicted_RBI": 0.09,
        "predicted_SLG": 0.297,
        "predicted_SO": 0.771
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0355,
        "predicted_3B": 0.0012,
        "predicted_AB": 2.7499,
        "predicted_AVG": 0.2809,
        "predicted_BB": 0.3517,
        "predicted_H": 0.4494,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.0273,
        "predicted_OBP": 0.3222,
        "predicted_R": 0.1615,
        "predicted_RBI": 0.172,
        "predicted_SLG": 0.3008,
        "predicted_SO": 0.8137
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.029,
          "after": 0.0355,
          "delta": 0.0065,
          "percent_delta": 0.2241,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0012,
          "delta": 0.0012,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.629,
          "after": 2.7499,
          "delta": 0.1209,
          "percent_delta": 0.046,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.29,
          "after": 0.2809,
          "delta": -0.0091,
          "percent_delta": -0.0314,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.371,
          "after": 0.3517,
          "delta": -0.0193,
          "percent_delta": -0.052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.24,
          "after": 0.4494,
          "delta": 0.2094,
          "percent_delta": 0.8725,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.03,
          "after": 0.0273,
          "delta": -0.0027,
          "percent_delta": -0.09,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.311,
          "after": 0.3222,
          "delta": 0.0112,
          "percent_delta": 0.036,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.143,
          "after": 0.1615,
          "delta": 0.0185,
          "percent_delta": 0.1294,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.09,
          "after": 0.172,
          "delta": 0.082,
          "percent_delta": 0.9111,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.297,
          "after": 0.3008,
          "delta": 0.0038,
          "percent_delta": 0.0128,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.771,
          "after": 0.8137,
          "delta": 0.0427,
          "percent_delta": 0.0554,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.24,
          "after": 0.4494,
          "delta": 0.2094,
          "percent_delta": 0.8725,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.29,
          "after": 0.2809,
          "delta": -0.0091,
          "percent_delta": -0.0314,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 35
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0355,
        "predicted_3B": 0.0012,
        "predicted_AB": 2.7499,
        "predicted_AVG": 0.1592,
        "predicted_BB": 0.3478,
        "predicted_H": 0.4379,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.0266,
        "predicted_OBP": 0.2536,
        "predicted_R": 0.1542,
        "predicted_RBI": 0.1642,
        "predicted_SLG": 0.2021,
        "predicted_SO": 0.8228
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0355,
          "after": 0.0355,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0012,
          "after": 0.0012,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.7499,
          "after": 2.7499,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2809,
          "after": 0.1592,
          "delta": -0.1217,
          "percent_delta": -0.4333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3517,
          "after": 0.3478,
          "delta": -0.0039,
          "percent_delta": -0.0111,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4494,
          "after": 0.4379,
          "delta": -0.0115,
          "percent_delta": -0.0256,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.006,
          "after": 0.006,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0273,
          "after": 0.0266,
          "delta": -0.0007,
          "percent_delta": -0.0256,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3222,
          "after": 0.2536,
          "delta": -0.0686,
          "percent_delta": -0.2129,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.1615,
          "after": 0.1542,
          "delta": -0.0073,
          "percent_delta": -0.0452,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.172,
          "after": 0.1642,
          "delta": -0.0078,
          "percent_delta": -0.0453,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3008,
          "after": 0.2021,
          "delta": -0.0987,
          "percent_delta": -0.3281,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8137,
          "after": 0.8228,
          "delta": 0.0091,
          "percent_delta": 0.0112,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2809,
          "after": 0.1592,
          "delta": -0.1217,
          "percent_delta": -0.4333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.75), rates preserved: AVG=0.159 HR/AB=0.010",
      "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.0355,
          "after": 0.0,
          "delta": -0.0355,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0012,
          "after": 0.0,
          "delta": -0.0012,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.7499,
          "after": 3.0,
          "delta": 0.2501,
          "percent_delta": 0.0909,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3478,
          "after": 0.0,
          "delta": -0.3478,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.4379,
          "after": 0.0,
          "delta": -0.4379,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.006,
          "after": 0.0,
          "delta": -0.006,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0266,
          "after": 0.0,
          "delta": -0.0266,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1642,
          "after": 0.0,
          "delta": -0.1642,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8228,
          "after": 1.0,
          "delta": 0.1772,
          "percent_delta": 0.2154,
          "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.7499,
          "after": 3.0,
          "delta": 0.2501,
          "percent_delta": 0.0909,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.4379,
          "after": 0.0,
          "delta": -0.4379,
          "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.1542,
          "after": 0.0,
          "delta": -0.1542,
          "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.1542,
          "after": 0.0,
          "delta": -0.1542,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.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_SO",
          "before": 1.0,
          "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_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": 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.159,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.259,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.209,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "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_AVG",
          "before": 0.1592,
          "after": 0.159,
          "delta": -0.0002,
          "percent_delta": -0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2536,
          "after": 0.259,
          "delta": 0.0054,
          "percent_delta": 0.0213,
          "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.2021,
          "after": 0.209,
          "delta": 0.0069,
          "percent_delta": 0.0341,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_H",
          "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": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 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_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.1592,
        "predicted_BB": 1.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2536,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2021,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.159,
          "after": 0.1592,
          "delta": 0.0002,
          "percent_delta": 0.0015,
          "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.259,
          "after": 0.2536,
          "delta": -0.0054,
          "percent_delta": -0.0207,
          "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.209,
          "after": 0.2021,
          "delta": -0.0069,
          "percent_delta": -0.0331,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.209,
          "after": 0.2021,
          "delta": -0.0069,
          "percent_delta": -0.0331,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.029,
        "after": 0.0,
        "delta": -0.029,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.629,
        "after": 3.0,
        "delta": 0.371,
        "percent_delta": 0.1411,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.29,
        "after": 0.1592,
        "delta": -0.1308,
        "percent_delta": -0.451,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.371,
        "after": 1.0,
        "delta": 0.629,
        "percent_delta": 1.6954,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.24,
        "after": 1.0,
        "delta": 0.76,
        "percent_delta": 3.1667,
        "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.311,
        "after": 0.2536,
        "delta": -0.0574,
        "percent_delta": -0.1846,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.143,
        "after": 1.0,
        "delta": 0.857,
        "percent_delta": 5.993,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.09,
        "after": 1.0,
        "delta": 0.91,
        "percent_delta": 10.1111,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.297,
        "after": 0.2021,
        "delta": -0.0949,
        "percent_delta": -0.3195,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.771,
        "after": 1.0,
        "delta": 0.229,
        "percent_delta": 0.297,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 6,
      "deboosted_metrics": 3,
      "better_metrics": 5,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.09,
        "after": 1.0,
        "delta": 0.91,
        "percent_delta": 10.1111,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AVG",
        "before": 0.29,
        "after": 0.1592,
        "delta": -0.1308,
        "percent_delta": -0.451,
        "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.029-
predicted_3B0.000-
predicted_AB2.629-
predicted_AVG0.290-
predicted_BB0.371-
predicted_H0.240-
predicted_HR0.030-
predicted_OBP0.311-
predicted_R0.143-
predicted_RBI0.090-
predicted_SLG0.297-
predicted_SO0.771-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.0350.006
predicted_3B0.0010.001
predicted_AB2.7500.121
predicted_AVG0.281-0.009
predicted_BB0.352-0.019
predicted_H0.4490.209
predicted_HBP0.006-
predicted_HR0.027-0.003
predicted_OBP0.3220.011
predicted_R0.1620.019
predicted_RBI0.1720.082
predicted_SLG0.3010.004
predicted_SO0.8140.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.0350.000
predicted_3B0.0010.000
predicted_AB2.7500.000
predicted_AVG0.159-0.122
predicted_BB0.348-0.004
predicted_H0.438-0.012
predicted_HBP0.0060.000
predicted_HR0.027-0.001
predicted_OBP0.254-0.069
predicted_R0.154-0.007
predicted_RBI0.164-0.008
predicted_SLG0.202-0.099
predicted_SO0.8230.009
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.75), rates preserved: AVG=0.159 HR/AB=0.010

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB1.0001.000
H0.000-1.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.035
predicted_3B0.000-0.001
predicted_AB3.0000.250
predicted_AVG0.159-0.000
predicted_BB0.000-0.348
predicted_H1.0000.562
predicted_HR0.000-0.027
predicted_OBP0.2590.005
predicted_R0.000-0.154
predicted_RBI0.000-0.164
predicted_SLG0.2090.007
predicted_SO1.0000.177
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 35
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-13.0004.0000.0000.0000.0002.0000.0001.0006.0000.30770.35710.30770.30770.00000.15380.07690.4615
last_100.2010-30.0009.0000.0000.0000.0003.0002.0003.0008.0000.30000.36360.30000.30000.00000.10000.10000.2667
season0.6035-92.00023.0001.0000.0000.0007.0005.00013.00027.0000.25000.34290.26090.25000.00000.07610.14130.2935
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0460
predicted_3B0.0030
predicted_AB2.9430
predicted_AVG0.2663
predicted_BB0.3210
predicted_H0.7840
predicted_HBP0.0060
predicted_HR0.0230
predicted_OBP0.3400
predicted_R0.1910
predicted_RBI0.3030
predicted_SLG0.3068
predicted_SO0.8820
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.02900.04600.0355model_form_blend
predicted_3B0.00000.00300.0012model_form_blend
predicted_AB2.62902.94302.7499model_form_blend
predicted_AVG0.29000.26630.2809model_form_blend
predicted_BB0.37100.32100.3517model_form_blend
predicted_H0.24000.78400.4494model_form_blend
predicted_HBP-0.00600.0060form_only
predicted_HR0.03000.02300.0273model_form_blend
predicted_OBP0.31100.34000.3222model_form_blend
predicted_R0.14300.19100.1615model_form_blend
predicted_RBI0.09000.30300.1720model_form_blend
predicted_SLG0.29700.30680.3008model_form_blend
predicted_SO0.77100.88200.8137model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder6
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH
gameID20260826_CIN@SF
game_typeph
mlbID701852
noteStruck out for Knizner in the 9th.
playerID701852
playerNameDrew Cavanaugh
posC
startedFalse
startingPositionPH
teamSF
teamID24
game_date2026-08-26
sl_k_percent26.9
sl_bb_percent12.6
sl_woba0.268
sl_xwoba0.323
sl_xba0.247
sl_xslg0.371
sl_sweet_spot_percent43.1
sl_barrel_batted_rate5.7
sl_hard_hit_percent33.3
sl_exit_velocity_avg86.7
sl_launch_angle_avg13.9
sl_whiff_percent27.5
sl_swing_percent47.8
Nate Furman (801501) · BATTER · 2B · Team SF
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 12
All-history rows before 20260827: 12
System season_avg: 0.0830
Data season_avg (2026 season-to-date): 0.0357
Diff (system - data): 0.0473
System opponent_avg: 0.0830
System season_avg diverges from 2026 season-to-date by 0.0473. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0001.0000.000Hitting_2B0.0000.0001.0001.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.5004.0004.000Hitting_AB2.3331.0001.6673.000
predicted_AVG0.1880.2500.000Hitting_AVG0.0360.0000.2140.250
predicted_BB0.2080.0000.000Hitting_BB0.5000.000-0.5000.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.1101.0000.000Hitting_H0.0830.0000.9171.000
predicted_HR0.0200.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.1950.2500.000Hitting_OBP0.2060.0000.0440.250
predicted_R0.0001.0000.000Hitting_R0.0000.0001.0001.000
predicted_RBI0.0801.0000.000Hitting_RBI0.0000.0001.0001.000
predicted_SB-0.0000.000BaseRunning_SB0.0000.0000.0000.000
predicted_SLG0.2600.5000.000Hitting_SLG0.0360.0000.4640.500
predicted_SO1.0421.0001.000Hitting_SO0.7501.0000.2500.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics9
Boosted Metrics5
Deboosted Metrics4
Better Metrics5
Worse Metrics4
Biggest Boostpredicted_AB: 2.5000 -> 4.0000 (boost 1.5000, better)
Biggest Deboostpredicted_BB: 0.2080 -> 0.0000 (deboost -0.2080, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend66060predicted_AB: 2.5000 -> 2.6613 (boost 0.1613, 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.2748 -> 0.1382 (deboost -0.1366, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling41313predicted_AB: 2.6613 -> 3.0000 (boost 0.3387, better)predicted_H: 0.2387 -> 0.0000 (deboost -0.2387, worse)AB rounded to 3 (raw=2.66), rates preserved: AVG=0.090 HR/AB=0.012
5consistency_constraints21111predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 0.0679 -> 0.0000 (deboost -0.0679, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation21111predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context43131predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference44040predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final20202-predicted_SLG: 0.1820 -> 0.1382 (deboost -0.0438, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "801501",
  "player_name": "Nate Furman",
  "position": "2B",
  "team": "SF",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.188,
        "predicted_BB": 0.208,
        "predicted_H": 0.11,
        "predicted_HR": 0.02,
        "predicted_OBP": 0.195,
        "predicted_R": 0.0,
        "predicted_RBI": 0.08,
        "predicted_SLG": 0.26,
        "predicted_SO": 1.042
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local 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.0022,
        "predicted_AB": 2.6613,
        "predicted_AVG": 0.1931,
        "predicted_BB": 0.1979,
        "predicted_H": 0.245,
        "predicted_HBP": 0.019,
        "predicted_HR": 0.0338,
        "predicted_OBP": 0.2091,
        "predicted_R": 0.0711,
        "predicted_RBI": 0.1287,
        "predicted_SLG": 0.2748,
        "predicted_SO": 1.0206
      },
      "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.0,
          "after": 0.0022,
          "delta": 0.0022,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.6613,
          "delta": 0.1613,
          "percent_delta": 0.0645,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.188,
          "after": 0.1931,
          "delta": 0.0051,
          "percent_delta": 0.0271,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.208,
          "after": 0.1979,
          "delta": -0.0101,
          "percent_delta": -0.0486,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.11,
          "after": 0.245,
          "delta": 0.135,
          "percent_delta": 1.2273,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.02,
          "after": 0.0338,
          "delta": 0.0138,
          "percent_delta": 0.69,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.195,
          "after": 0.2091,
          "delta": 0.0141,
          "percent_delta": 0.0723,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0711,
          "delta": 0.0711,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.08,
          "after": 0.1287,
          "delta": 0.0487,
          "percent_delta": 0.6088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.26,
          "after": 0.2748,
          "delta": 0.0148,
          "percent_delta": 0.0569,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.042,
          "after": 1.0206,
          "delta": -0.0214,
          "percent_delta": -0.0205,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 6,
        "deboosted_metrics": 0,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.6613,
          "delta": 0.1613,
          "percent_delta": 0.0645,
          "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": 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.0022,
        "predicted_AB": 2.6613,
        "predicted_AVG": 0.0897,
        "predicted_BB": 0.1957,
        "predicted_H": 0.2387,
        "predicted_HBP": 0.019,
        "predicted_HR": 0.033,
        "predicted_OBP": 0.1521,
        "predicted_R": 0.0679,
        "predicted_RBI": 0.1229,
        "predicted_SLG": 0.1382,
        "predicted_SO": 1.032
      },
      "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.0022,
          "after": 0.0022,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.6613,
          "after": 2.6613,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1931,
          "after": 0.0897,
          "delta": -0.1034,
          "percent_delta": -0.5355,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1979,
          "after": 0.1957,
          "delta": -0.0022,
          "percent_delta": -0.0111,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.245,
          "after": 0.2387,
          "delta": -0.0063,
          "percent_delta": -0.0257,
          "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.0338,
          "after": 0.033,
          "delta": -0.0008,
          "percent_delta": -0.0237,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2091,
          "after": 0.1521,
          "delta": -0.057,
          "percent_delta": -0.2726,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0711,
          "after": 0.0679,
          "delta": -0.0032,
          "percent_delta": -0.045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1287,
          "after": 0.1229,
          "delta": -0.0058,
          "percent_delta": -0.0451,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2748,
          "after": 0.1382,
          "delta": -0.1366,
          "percent_delta": -0.4971,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0206,
          "after": 1.032,
          "delta": 0.0114,
          "percent_delta": 0.0112,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2748,
          "after": 0.1382,
          "delta": -0.1366,
          "percent_delta": -0.4971,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.66), rates preserved: AVG=0.090 HR/AB=0.012",
      "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.0022,
          "after": 0.0,
          "delta": -0.0022,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.6613,
          "after": 3.0,
          "delta": 0.3387,
          "percent_delta": 0.1273,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1957,
          "after": 0.0,
          "delta": -0.1957,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.2387,
          "after": 0.0,
          "delta": -0.2387,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.019,
          "after": 0.0,
          "delta": -0.019,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.033,
          "after": 0.0,
          "delta": -0.033,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1229,
          "after": 0.0,
          "delta": -0.1229,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.032,
          "after": 1.0,
          "delta": -0.032,
          "percent_delta": -0.031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.6613,
          "after": 3.0,
          "delta": 0.3387,
          "percent_delta": 0.1273,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.2387,
          "after": 0.0,
          "delta": -0.2387,
          "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.0679,
          "after": 0.0,
          "delta": -0.0679,
          "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.0679,
          "after": 0.0,
          "delta": -0.0679,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "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_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.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_SO",
          "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": 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.09,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.159,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.182,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "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_AVG",
          "before": 0.0897,
          "after": 0.09,
          "delta": 0.0003,
          "percent_delta": 0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.1521,
          "after": 0.159,
          "delta": 0.0069,
          "percent_delta": 0.0454,
          "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.1382,
          "after": 0.182,
          "delta": 0.0438,
          "percent_delta": 0.3169,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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_H",
          "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": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.0897,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.1521,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.1382,
        "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.09,
          "after": 0.0897,
          "delta": -0.0003,
          "percent_delta": -0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.159,
          "after": 0.1521,
          "delta": -0.0069,
          "percent_delta": -0.0437,
          "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.182,
          "after": 0.1382,
          "delta": -0.0438,
          "percent_delta": -0.2409,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.182,
          "after": 0.1382,
          "delta": -0.0438,
          "percent_delta": -0.2409,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 4.0,
        "delta": 1.5,
        "percent_delta": 0.6,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.188,
        "after": 0.0897,
        "delta": -0.0983,
        "percent_delta": -0.5229,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.208,
        "after": 0.0,
        "delta": -0.208,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.11,
        "after": 1.0,
        "delta": 0.89,
        "percent_delta": 8.0909,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.02,
        "after": 0.0,
        "delta": -0.02,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.195,
        "after": 0.1521,
        "delta": -0.0429,
        "percent_delta": -0.22,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.08,
        "after": 1.0,
        "delta": 0.92,
        "percent_delta": 11.5,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.26,
        "after": 0.1382,
        "delta": -0.1218,
        "percent_delta": -0.4685,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.042,
        "after": 1.0,
        "delta": -0.042,
        "percent_delta": -0.0403,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 5,
      "deboosted_metrics": 4,
      "better_metrics": 5,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_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.208,
        "after": 0.0,
        "delta": -0.208,
        "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.000-
predicted_3B0.000-
predicted_AB2.500-
predicted_AVG0.188-
predicted_BB0.208-
predicted_H0.110-
predicted_HR0.020-
predicted_OBP0.195-
predicted_R0.000-
predicted_RBI0.080-
predicted_SLG0.260-
predicted_SO1.042-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.0020.002
predicted_AB2.6610.161
predicted_AVG0.1930.005
predicted_BB0.198-0.010
predicted_H0.2450.135
predicted_HBP0.019-
predicted_HR0.0340.014
predicted_OBP0.2090.014
predicted_R0.0710.071
predicted_RBI0.1290.049
predicted_SLG0.2750.015
predicted_SO1.021-0.021
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0260.000
predicted_3B0.0020.000
predicted_AB2.6610.000
predicted_AVG0.090-0.103
predicted_BB0.196-0.002
predicted_H0.239-0.006
predicted_HBP0.0190.000
predicted_HR0.033-0.001
predicted_OBP0.152-0.057
predicted_R0.068-0.003
predicted_RBI0.123-0.006
predicted_SLG0.138-0.137
predicted_SO1.0320.011
4. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
H0.000-1.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.026
predicted_3B0.000-0.002
predicted_AB3.0000.339
predicted_AVG0.0900.000
predicted_BB0.000-0.196
predicted_H1.0000.761
predicted_HR0.000-0.033
predicted_OBP0.1590.007
predicted_R0.000-0.068
predicted_RBI0.000-0.123
predicted_SLG0.1820.044
predicted_SO1.000-0.032
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.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: 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-8.0001.0000.0000.0000.0000.0000.0000.0004.0000.12500.12500.12500.12500.00000.00000.00000.5000
last_100.206-12.0001.0000.0000.0000.0000.0000.0001.0005.0000.08330.15380.08330.08330.00000.00000.08330.4167
season0.606-12.0001.0000.0000.0000.0000.0000.0001.0005.0000.08330.15380.08330.08330.00000.00000.08330.4167
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1040
predicted_3B0.0090
predicted_AB3.1560
predicted_AVG0.2087
predicted_BB0.1670
predicted_H0.6590
predicted_HBP0.0190
predicted_HR0.0760
predicted_OBP0.2523
predicted_R0.2890
predicted_RBI0.2780
predicted_SLG0.3200
predicted_SO0.9550
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.00000.10400.0256model_form_blend
predicted_3B0.00000.00900.0022model_form_blend
predicted_AB2.50003.15602.6613model_form_blend
predicted_AVG0.18800.20870.1931model_form_blend
predicted_BB0.20800.16700.1979model_form_blend
predicted_H0.11000.65900.2450model_form_blend
predicted_HBP-0.01900.0190form_only
predicted_HR0.02000.07600.0338model_form_blend
predicted_OBP0.19500.25230.2091model_form_blend
predicted_R0.00000.28900.0711model_form_blend
predicted_RBI0.08000.27800.1287model_form_blend
predicted_SLG0.26000.32000.2748model_form_blend
predicted_SO1.04200.95501.0206model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_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
allPositionsPlayedPH-DH
gameID20260826_CIN@SF
game_typeph
mlbID801501
noteStruck out for Basabe in the 8th.
playerID801501
playerNameNate Furman
pos2B
startedFalse
startingPositionPH
teamSF
teamID24
game_date2026-08-26
sl_k_percent26.1
sl_bb_percent13.0
sl_woba0.217
sl_xwoba0.249
sl_xba0.187
sl_xslg0.22
sl_sweet_spot_percent21.4
sl_barrel_batted_rate0.0
sl_hard_hit_percent21.4
sl_exit_velocity_avg83.8
sl_launch_angle_avg10.2
sl_whiff_percent21.1
sl_swing_percent44.2
Landen Roupp (694738) · PITCHER · Starter · Team SF
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 25
All-history rows before 20260827: 25

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB2.5604.000-1.560-3.000
predicted_ER1.0001.0001.000Pitching_ER2.6003.000-1.600-2.000
predicted_H5.0005.0005.000Pitching_H4.5205.0000.4800.000
predicted_IP5.0005.0005.000Pitching_InningsPitched5.2005.100-0.200-0.100
predicted_SO4.0004.0004.000Pitching_SO5.2002.000-1.2002.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": "694738",
  "player_name": "Landen Roupp",
  "position": "Starter",
  "team": "SF",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_R": 1.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 4.0,
        "after": 4.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER1.000-
predicted_H5.000-
predicted_HR0.000-
predicted_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: 25
Reference playing time: 5.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45524.20017.00022.00019.00017.0002.0006.20271.66220.68920.89190.77030.68920.0811
last_100.351054.10028.00042.00031.00041.0005.0004.63801.34360.51530.77300.57060.75460.0920
season0.2025134.20065.000113.00064.000130.00010.0004.34411.31440.48270.83910.47530.96540.0743
Weighted Prediction From Real Data
MetricValue
predicted_BB3.0710
predicted_ER2.9520
predicted_ERA5.1565
predicted_H4.4450
predicted_HR0.4850
predicted_IP5.0000
predicted_SO4.1040
predicted_WHIP1.4586
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00003.07102.2003model_form_blend
predicted_ER1.00002.95202.1313model_form_blend
predicted_ERA-5.15655.1565form_only
predicted_H5.00004.44504.6783model_form_blend
predicted_HR0.00000.48500.2811model_form_blend
predicted_IP5.00005.00005.0000model_form_blend
predicted_SO4.00004.10404.0603model_form_blend
predicted_WHIP-1.45861.4586form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.0
H5
R1
ER1
BB1
SO4
HR0
BF22
Pitches84

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB4
Pitching_Balk0
Pitching_Batters Faced26
Pitching_ER3
Pitching_ERA4.34
Pitching_Flyouts4
Pitching_Groundouts7
Pitching_H5
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched5.1
Pitching_Pitches90
Pitching_R4
Pitching_SO2
Pitching_Strikes54
Pitching_Wild Pitch0
Pitching_decisionL
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260820_SF@CLE
game_typefull
mlbID694738
playerID694738
playerNameLanden Roupp
posP
startedTrue
startingPositionP
teamSF
teamID24
game_date2026-08-20
sl_k_percent22.4
sl_bb_percent11.1
sl_woba0.3
sl_xwoba0.302
sl_sweet_spot_percent33.0
sl_barrel_batted_rate5.1
sl_hard_hit_percent29.7
sl_whiff_percent24.8
sl_swing_percent43.6
sl_avg_best_speed75.345818526
sl_avg_hyper_speed92.655585435
Dylan Smith (681916) · PITCHER · Closer · Team SF
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 31
All-history rows before 20260827: 31

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4520.000-0.4520.000
predicted_ER0.0000.0000.000Pitching_ER0.3552.000-0.355-2.000
predicted_H0.0000.0000.000Pitching_H0.8064.000-0.806-4.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8190.1000.1810.900
predicted_SO0.0000.0000.000Pitching_SO1.1610.000-1.1610.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": "681916",
  "player_name": "Dylan Smith",
  "position": "Closer",
  "team": "SF",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 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.4555.1003.0007.0002.0009.0001.0005.06251.68750.56251.31250.37501.68750.1875
last_100.351010.0005.00011.0005.00014.0001.0004.50001.60000.50001.10000.50001.40000.1000
season0.203128.20011.00025.00014.00036.0003.0003.45351.36050.38370.87210.48841.25580.1047
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4080
predicted_ER0.5040
predicted_ERA4.5339
predicted_H1.0700
predicted_HR0.1430
predicted_IP1.0000
predicted_SO1.2410
predicted_WHIP1.4774
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.40800.1851model_form_blend
predicted_ER0.00000.50400.2286model_form_blend
predicted_ERA-4.53394.5339form_only
predicted_H0.00001.07000.4853model_form_blend
predicted_HR0.00000.14300.0649model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.24100.5629model_form_blend
predicted_WHIP-1.47741.4774form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER2
Pitching_ERA3.45
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H4
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners3
Pitching_Inherited Runners Scored3
Pitching_InningsPitched0.1
Pitching_Pitches16
Pitching_R3
Pitching_SO0
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_decisionL, BS
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260826_CIN@SF
game_typefull
mlbID681916
playerID681916
playerNameDylan Smith
posP
startedFalse
startingPositionP
teamSF
teamID24
game_date2026-08-26
sl_k_percent29.1
sl_bb_percent11.2
sl_woba0.297
sl_xwoba0.297
sl_sweet_spot_percent37.2
sl_barrel_batted_rate6.4
sl_hard_hit_percent46.2
sl_whiff_percent27.8
sl_swing_percent48.9
sl_avg_best_speed78.855458947
sl_avg_hyper_speed94.4783708
Jason Foley (671345) · PITCHER · Middle Reliever (High Leverage) · Team SF
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 13
All-history rows before 20260827: 13

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.3850.0000.6151.000
predicted_ER1.0001.0001.000Pitching_ER0.4621.0000.5380.000
predicted_H2.0002.0002.000Pitching_H1.0003.0001.000-1.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9000.1000.1000.900
predicted_SO1.0001.0001.000Pitching_SO0.7690.0000.2311.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": "671345",
  "player_name": "Jason Foley",
  "position": "Middle Reliever (High Leverage)",
  "team": "SF",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER1.000-
predicted_H2.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 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.4555.1001.0005.0001.0005.0000.0001.68751.12500.18750.93750.18750.93750.0000
last_100.351010.1004.00011.0005.0008.0000.0003.48391.54840.38711.06450.48390.77420.0000
season0.201313.1006.00013.0005.00010.0001.0004.05001.35000.45000.97500.37500.75000.0750
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3550
predicted_ER0.4350
predicted_ERA3.9179
predicted_H0.9810
predicted_HR0.1010
predicted_IP1.0000
predicted_SO0.9080
predicted_WHIP1.3363
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.35500.7582model_form_blend
predicted_ER1.00000.43500.7882model_form_blend
predicted_ERA-3.91793.9179form_only
predicted_H2.00000.98101.6181model_form_blend
predicted_HR0.00000.10100.0379model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.90800.9655model_form_blend
predicted_WHIP-1.33631.3363form_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
H2
R1
ER1
BB1
SO1
HR0
BF6
Pitches23

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER1
Pitching_ERA4.05
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H3
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.1
Pitching_Pitches16
Pitching_R1
Pitching_SO0
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260826_CIN@SF
game_typefull
mlbID671345
playerID671345
playerNameJason Foley
posP
startedFalse
startingPositionP
teamSF
teamID24
game_date2026-08-26
sl_k_percent17.6
sl_bb_percent7.4
sl_woba0.32
sl_xwoba0.276
sl_sweet_spot_percent25.5
sl_barrel_batted_rate3.9
sl_hard_hit_percent39.2
sl_whiff_percent18.1
sl_swing_percent42.5
sl_avg_best_speed75.573345385
sl_avg_hyper_speed94.334298039
Sam Hentges (656529) · PITCHER · Setup Man · Team SF
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 40
All-history rows before 20260827: 40

Metric-by-Metric Comparison

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 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.0004.0005.0003.0004.0000.0007.20001.60000.80001.00000.60000.80000.0000
last_100.35109.1005.00010.0005.0008.0000.0004.82141.60710.53571.07140.53570.85710.0000
season0.203933.00012.00029.00023.00035.0000.0003.27271.57580.36360.87880.69701.06060.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4990
predicted_ER0.5700
predicted_ERA5.1263
predicted_H0.9900
predicted_HR0.0630
predicted_IP1.0000
predicted_SO0.9020
predicted_WHIP1.4894
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.49900.2337model_form_blend
predicted_ER1.00000.57000.7986model_form_blend
predicted_ERA-5.12635.1263form_only
predicted_H1.00000.99000.9953model_form_blend
predicted_HR1.00000.06300.5612model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00000.90200.4224model_form_blend
predicted_WHIP-1.48941.4894form_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.0
H1
R1
ER1
BB0
SO0
HR1
BF4
Pitches16

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA3.27
Pitching_Flyouts2
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches10
Pitching_R0
Pitching_SO0
Pitching_Strikes6
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260825_CIN@SF
game_typefull
mlbID656529
playerID656529
playerNameSam Hentges
posP
startedFalse
startingPositionP
teamSF
teamID24
game_date2026-08-25
sl_k_percent22.7
sl_bb_percent14.9
sl_woba0.304
sl_xwoba0.3
sl_sweet_spot_percent27.2
sl_barrel_batted_rate4.3
sl_hard_hit_percent30.4
sl_whiff_percent27.8
sl_swing_percent43.1
sl_avg_best_speed77.820904222
sl_avg_hyper_speed92.664664494
Trent Harris (805345) · PITCHER · Middle Reliever (High Leverage) · Team SF
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 7
All-history rows before 20260827: 7

Metric-by-Metric Comparison

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

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: 7
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.1001.0005.0002.00010.0000.0001.42111.10530.15790.78950.31581.57900.0000
last_100.3578.0005.0009.0005.00013.0000.0005.62501.75000.62501.12500.62501.62500.0000
season0.2078.0005.0009.0005.00013.0000.0005.62501.75000.62501.12500.62501.62500.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3970
predicted_ER0.4730
predicted_ERA4.0108
predicted_H1.0090
predicted_HR0.1180
predicted_IP1.0000
predicted_SO1.1680
predicted_WHIP1.3247
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.39700.1311model_form_blend
predicted_ER0.00000.47300.1562model_form_blend
predicted_ERA-4.01084.0108form_only
predicted_H0.00001.00900.3332model_form_blend
predicted_HR0.00000.11800.0390model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.16801.0555model_form_blend
predicted_WHIP-1.32471.3247form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA5.63
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches16
Pitching_R0
Pitching_SO2
Pitching_Strikes8
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260825_CIN@SF
game_typefull
mlbID805345
playerID805345
playerNameTrent Harris
posP
startedFalse
startingPositionP
teamSF
teamID24
game_date2026-08-25
sl_k_percent31.9
sl_bb_percent10.6
sl_woba0.302
sl_xwoba0.233
sl_sweet_spot_percent33.3
sl_barrel_batted_rate0.0
sl_hard_hit_percent22.2
sl_whiff_percent24.4
sl_swing_percent41.2
sl_avg_best_speed70.128399286
sl_avg_hyper_speed91.983831852

20260827_BAL@STL

Prediction Method: enhanced_ml_savant_pitcher_quality_pitcher_opponent_strength
Team Recent Window (Home): 10 games
Team Recent Window (Away): 10 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 6, "home_runs": 3, "confidence": 0.617682, "home_win_probability": 0.38231800000000005, "away_win_probability": 0.617682, "predicted_score_text": "BAL 6 - 3 STL", "embedded_savant_score_adjustment": {"applied": true, "source": "all_players_stats.csv embedded temporal Savant features", "feature_contract": {"training_grain": "one player-game row after collapsing granular at-bat rows", "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game", "hitter_signals": ["xwoba", "xba", "xslg", "barrel_batted_rate", "hard_hit_percent", "bat_speed", "launch_quality", "walk_rate", "strikeout_rate"], "pitcher_signals": ["xwoba_allowed", "barrel_allowed", "hard_hit_allowed", "whiff_rate", "command_score", "movement_score", "faced_est_woba", "faced_strikeout_rate"]}, "away": {"team": "BAL", "original_runs": 5, "run_delta": 0.5527, "adjusted_runs": 6, "lineup": {"players_used": 9, "total_weight": 32.0, "quality": 0.159061376736037, "contact": 0.09338736989052465, "power": 0.48284762961111743, "discipline": -0.18747799401316687, "xwoba": 0.322375, "recent_xwoba": 0.322375, "barrel": 9.921875, "ab_hard_contact": 0.04363711603188205, "ab_bat_speed": 71.39567471140725, "ab_strikeout_rate": 0.27207980305859, "available_players": 9, "top_players": [{"player_id": "624413", "player_name": "Pete Alonso", "position": "DH", "weight": 4.0, "quality": 1.4935463860199096, "contact": 1.6530375452211725, "power": 1.8950320167081722, "discipline": 0.15696986258458934, "xwoba": 0.396, "recent_xwoba": 0.396, "barrel": 14.0, "ab_hard_contact": 1.1535927151158385, "ab_bat_speed": 73.22603132662279, "ab_strikeout_rate": 0.24881275003226222, "available": 1.0}, {"player_id": "687952", "player_name": "Christian Encarnacion-Strand", "position": "3B", "weight": 4.0, "quality": 0.3350264475062697, "contact": 0.49529107996482624, "power": 1.7161139356772408, "discipline": -0.7015507207164817, "xwoba": 0.35, "recent_xwoba": 0.35, "barrel": 17.6, "ab_hard_contact": 0.09980252306862425, "ab_bat_speed": 72.03301857142857, "ab_strikeout_rate": 0.2713333333333333, "available": 1.0}, {"player_id": "665750", "player_name": "Leody Taveras", "position": "RF", "weight": 3.0, "quality": -0.6220681168451732, "contact": -0.7186729087256493, "power": -0.7027387440142687, "discipline": -0.08065557419633504, "xwoba": 0.278, "recent_xwoba": 0.278, "barrel": 4.1, "ab_hard_contact": -0.7835367850472733, "ab_bat_speed": 69.0877938034188, "ab_strikeout_rate": 0.2685096153846154, "available": 1.0}, {"player_id": "694212", "player_name": "Samuel Basallo", "position": "1B", "weight": 3.0, "quality": 0.4011349056959556, "contact": 0.20002523423906618, "power": 0.9769097593850963, "discipline": -0.5176795216344391, "xwoba": 0.328, "recent_xwoba": 0.328, "barrel": 13.2, "ab_hard_contact": -0.2564714789647284, "ab_bat_speed": 73.11289049053356, "ab_strikeout_rate": 0.2548192771084337, "available": 1.0}, {"player_id": "665966", "player_name": "Carlos Narváez", "position": "C", "weight": 3.0, "quality": -0.5021757324026009, "contact": -0.8358329693549015, "power": -0.22547792879197567, "discipline": -0.9656459588117199, "xwoba": 0.267, "recent_xwoba": 0.267, "barrel": 7.1, "ab_hard_contact": -0.3188919091728376, "ab_bat_speed": 69.62293452380952, "ab_strikeout_rate": 0.3457142857142857, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "700241", "player_name": "Michael McGreevy", "quality": -0.5815496290007978, "contact": -0.4919532706697798, "command": -0.6091776556776558, "movement": -0.8701936269001163, "xwoba": 0.351, "whiff": 19.4, "faced_est_woba": 0.26552359851190477, "faced_launch_speed": 83.8105259224902, "faced_strikeout_rate": 0.23520697818487546, "faced_run_exp": 0.006591593388029562}}, "home": {"team": "STL", "original_runs": 3, "run_delta": 0.1784, "adjusted_runs": 3, "lineup": {"players_used": 9, "total_weight": 31.0, "quality": 0.22416838813760642, "contact": 0.18583610029238076, "power": 0.25832581800117216, "discipline": 0.028449134631718487, "xwoba": 0.3218064516129033, "recent_xwoba": 0.3218064516129033, "barrel": 8.119354838709677, "ab_hard_contact": 0.20810775787291302, "ab_bat_speed": 70.79874609167068, "ab_strikeout_rate": 0.21717449181001788, "available_players": 9, "top_players": [{"player_id": "676475", "player_name": "Alec Burleson", "position": "1B", "weight": 4.0, "quality": 1.2717110436246233, "contact": 1.498255177388714, "power": 1.451932094770511, "discipline": 0.23234870681409345, "xwoba": 0.383, "recent_xwoba": 0.383, "barrel": 11.5, "ab_hard_contact": 1.1894990382673671, "ab_bat_speed": 72.57199599457269, "ab_strikeout_rate": 0.17793390580275828, "available": 1.0}, {"player_id": "691023", "player_name": "Jordan Walker", "position": "RF", "weight": 4.0, "quality": 0.8442131126365316, "contact": 0.8861839238801703, "power": 1.325331275005649, "discipline": -0.4074065408223019, "xwoba": 0.355, "recent_xwoba": 0.355, "barrel": 13.7, "ab_hard_contact": 1.0521493096368015, "ab_bat_speed": 78.12266165123457, "ab_strikeout_rate": 0.2450462962962963, "available": 1.0}, {"player_id": "802139", "player_name": "JJ Wetherholt", "position": "SS", "weight": 4.0, "quality": 0.5834533266208084, "contact": 0.7119953408734067, "power": 0.4405229232357657, "discipline": 0.6425234890243948, "xwoba": 0.352, "recent_xwoba": 0.352, "barrel": 7.5, "ab_hard_contact": 0.09236322662007089, "ab_bat_speed": 70.25800335775335, "ab_strikeout_rate": 0.16168769502102837, "available": 1.0}, {"player_id": "701675", "player_name": "Nathan Church", "position": "CF", "weight": 3.0, "quality": -0.48150406646132593, "contact": -0.5627619489042214, "power": -0.4925762726018991, "discipline": -0.20282750643076747, "xwoba": 0.287, "recent_xwoba": 0.287, "barrel": 6.6, "ab_hard_contact": -1.0256206901332106, "ab_bat_speed": 67.58315470679013, "ab_strikeout_rate": 0.19561011904761905, "available": 1.0}, {"player_id": "663494", "player_name": "Bryan Torres", "position": "LF", "weight": 3.0, "quality": -0.27561315350306087, "contact": -0.5638466696844908, "power": -0.650763008706037, "discipline": 0.02788689463973823, "xwoba": 0.29, "recent_xwoba": 0.29, "barrel": 4.3, "ab_hard_contact": -0.6735458884064462, "ab_bat_speed": 64.08310400516797, "ab_strikeout_rate": 0.21382428940568476, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "669432", "player_name": "Trevor Rogers", "quality": 0.04251257224397983, "contact": 0.23884614924014025, "command": -0.22374908424908446, "movement": -0.16869280112021975, "xwoba": 0.304, "whiff": 23.7, "faced_est_woba": 0.26552359851190477, "faced_launch_speed": 83.8105259224902, "faced_strikeout_rate": 0.23520697818487546, "faced_run_exp": 0.006591593388029562}}}, "fundamental_edge_target_review": {"applied": false, "method": "post_score_adjustment_fundamental_edge_review_v1", "previous_score": {"away_runs": 6, "home_runs": 3, "winner_side": "away"}, "adjusted_score": {"away_runs": 6, "home_runs": 3, "winner_side": "away"}, "signals": {"season_quality_edge_home_minus_away": -0.0855, "recent_form_edge_home_minus_away": -0.754, "pitcher_matchup_edge_home_minus_away": 0.0813, "composite_home_edge": -0.5967, "existing_home_win_probability": 0.3823, "refreshed_home_win_probability": 0.3, "winner_support_before_review": 0.5967}, "reasons": ["target direction already matched refreshed fundamentals or margin was not fragile"]}, "uncapped_home_win_probability": 0.382318, "uncapped_away_win_probability": 0.617682, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.617682, "discount_factor": 1.0, "published_confidence": 0.617682, "guardrail_confidence_cap": null, "guardrail_cap_enforced": false, "applied_discounts": []}, "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied.", "pre_simulation_target": {"away_runs": 6, "home_runs": 3, "predicted_score_text": "BAL 6 - 3 STL", "confidence": 0.617682, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "stable_final_prediction_policy", "simulation_usage": "organic_simulation_realized_target", "simulation_score_matches_prediction": true, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 6, "home_runs": 3, "score_text": "BAL 6 - 3 STL", "winner": "BAL"}, "final_simulation_score": {"away_runs": 6, "home_runs": 3, "score_text": "BAL 6 - 3 STL", "winner": "BAL"}, "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": true, "independent_margin_support_evidence": {"pitcher_matchup_edge_home_minus_away": 0.0813, "recent_form_edge_home_minus_away": -0.754, "winner_direction": "away", "thresholds": {"pitcher_matchup": 0.35, "recent_form": 0.75}}, "margin_widening_capped": false, "simulation_winner_agrees": true, "away_run_delta": 0, "home_run_delta": 0, "total_run_delta": 0, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "organic_simulation_realized_target", "final_prediction_source": "stable_final_prediction_policy", "final_decision_policy": {"policy_version": "model_target_authoritative_simulation_realizes_v3", "away_runs": 6, "home_runs": 3, "winner": "BAL", "model_winner": "BAL", "simulation_winner": "BAL", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 2, "published_winner": "BAL", "published_winner_draw_share": 1.0, "draw_majority_team": "BAL", "published_winner_is_draw_majority": true, "sampling": "target_conditioned_selection", "is_unbiased_probability_sample": false, "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."}, "simulation_score_enabled": true, "independent_margin_support": true, "margin_widening_capped": false, "model_margin": 3, "simulation_margin": 3, "simulation_usage": "organic_simulation_realized_target", "score_source": "enhanced_prediction.pre_simulation_target", "simulation_realized_target": true, "model_score": {"away_runs": 6, "home_runs": 3}, "simulation_score": {"away_runs": 6, "home_runs": 3}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 3, "final_margin": 3, "winner_quality_edge": 0.0855, "winner": "BAL", "score_reviewed": {"away_runs": 6, "home_runs": 3, "source": "enhanced_prediction.pre_simulation_target"}, "reason": "published margin is directionally supported or within review threshold"}}, "decision_profile": {"method": "priced_decision_profile_v2", "winner": "BAL", "display_confidence": 0.6177, "internal_signal_score": 0.624, "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability", "model_pick_probability": 0.6177, "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": "neutral_totals", "winner_accuracy_and_margin_accuracy_decoupled": true, "signals": {"final_margin": 3, "winner_quality_edge": 0.0855, "winner_recent_form_edge": 0.404, "winner_pitcher_matchup_edge": -0.0813, "winner_simulation_draw_rate": 1.0, "blowout_draw_rate_margin_4_plus": 0.0, "high_total_draw_rate_11_plus": 0.0, "low_total_draw_rate_6_or_less": 0.0, "total_runs_spread": {"min": 7, "median": 7, "max": 7, "range": 0}}, "interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."}}
Factors Considered: Historical team performance, Season-to-date run differential, Recent form (latest 10 games), Head-to-head matchup history, Player-level statistics, Baseball Savant hitter xwOBA/xBA/xSLG/contact quality, Baseball Savant pitcher xwOBA/contact/whiff quality, Pitcher splits versus opponent batting strength, Recent-form versus season-quality arbitration, Recent 10-game performance trends, Pitcher recent form analysis, Team hitting/pitching streaks, Low-score probability modeling, Environmental factors, Home field advantage, Game timing factors, Seasonal adjustments, Machine learning models

Game-Level Prediction Audit

LayerScoreWinnerConfidenceSource or usageSynced or matches
Shipped predictionBAL 6 - 3 STLBAL0.618enhanced_prediction.pre_simulation_targetTrue
Simulation drawBAL 6 - 3 STLBAL-organic_simulation_realized_targetTrue

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

Full Prediction Process

Optimization Roadmap Runtime Status

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

PriorityChangeRuntime statusEvidence
P1Empirical confidence blendappliedraw=0.7710; empirical=0.3333; weight=0.0300; final=0.7579
P1H2H margin as base featureavailablehome net=-12; abs=12; home delta=-0.1000; away delta=0.1000
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.0861; recent edge=-0.4040; blended=-
P3Continuous calibration audittrace emittedChecked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports.
Process LayerWhat It DoesStored FieldObserved Value
1. Historical modelStarts from trained game model output.score_evolution.steps[historical_ml]-
2. Variance layerApplies bounded game variance before enhanced corrections.score_evolution.steps[variance_applied]-
3. Recent/team formUses latest team form, recent scoring, prevention, and streak state.enhanced_prediction_analysis.recent_formTrue
4. Season qualityUses season run differential and record quality guardrails.season_run_differential_adjustment, season_quality_guardrailTrue
5. Savant hittersApplies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality.savant_batter_quality_adjustmentTrue
6. Savant pitchersApplies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command.savant_pitcher_quality_adjustmentTrue
7. Low-score analysisControls unrealistic totals and preserves the pre-sync low-score expected total.low_score_analysis6.5000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.6177
9. Simulation reconciliationReconciles final shipped score with the simulation box score while retaining the pre-simulation target.simulation_reconciliationorganic_simulation_realized_target
10. Score evolution rendered7 stored score steps are rendered below.game.score_evolution.stepstrue

Score Evolution Steps

StepLayerAway RunsHome RunsConfidenceDescription
1historical_ml4.2813.829-Base ML historical model prediction
2variance_applied44-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction530.6177Enhanced ML with recent form, H2H, low-score analysis
4embedded_savant_run_environment63-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
5fundamental_edge_target_review63-Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
6capped_target63-Capped at max 12 realistic runs
7simulation_result63-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.6827076672550144,
  "base_low_score_probability": 0.4355300859598854,
  "low_score_signal_threshold": 0.5155300859598854,
  "low_score_signal_strength": 0.247177581295129,
  "confidence": 0.8837663680000001,
  "factors": {
    "environmental": 1.079568,
    "pitcher_form": 1.4520000000000002,
    "team_form": 1.0,
    "situational": 1.0,
    "combined": 1.5675327360000002
  },
  "prediction": "low_scoring",
  "expected_total_runs": 9,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 6.5,
  "low_score_model_expected_total_runs": 6.5,
  "final_simulation_total_runs": 9,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "monotone_reliability_shrinkage",
  "policy": "shrink_toward_even_score_floor_v3",
  "sample_size": 6,
  "near_bucket_sample_size": 3,
  "medium_bucket_sample_size": 6,
  "wide_bucket_sample_size": 11,
  "global_sample_size": 73,
  "bucket_scope": "sparse_pooled_0.08",
  "sparse_bucket": true,
  "empirical_hit_rate": 0.3333,
  "bayesian_hit_rate": 0.4762,
  "prior_strength": 36.0,
  "raw_pick_probability": 0.6885,
  "raw_pick_probability_unclamped": 0.6885,
  "score_probability_conflict": false,
  "margin_implied_home_probability": 0.3115,
  "margin_implied_pick_probability": 0.6885,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.6885,
  "score_implied_floor_pick_probability": 0.5795,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.311459,
  "uncapped_away_win_probability": 0.688541,
  "calibrated_pick_probability": 0.5795,
  "predicted_side": "away",
  "reliability": 0.142857,
  "shrink_floor": 0.35,
  "empirical_penalty": 0.952381,
  "shrinkage_weight": 0.421769
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.771013,
  "sample_size": 6,
  "empirical_hit_rate": 0.3333,
  "empirical_weight": 0.03,
  "blended_confidence": 0.757882,
  "published_confidence": 0.617682,
  "published_after_governors": true,
  "governor_mode": "shrinkage_not_clamp"
}
H2H Base Feature
{
  "method": "h2h_net_margin_monotonic_v1",
  "available": true,
  "sample_size": 1,
  "sample_weight": 0.0167,
  "home_net_margin": -12.0,
  "absolute_net_margin": 12.0,
  "home_average_margin": -12.0,
  "home_run_delta": -0.1,
  "away_run_delta": 0.1,
  "evidence": [
    {
      "game_id": null,
      "home_margin": -12.0
    }
  ],
  "adaptive_parameters": {
    "h2h.history_limit": 5,
    "h2h.maximum_weight": 0.15,
    "h2h.prior_games": 8.0,
    "h2h.maximum_total_shift": 0.65
  }
}
Season Run Differential Adjustment
{
  "applied": false,
  "home": {
    "team": "STL",
    "games": 133,
    "wins": 66,
    "losses": 67,
    "win_pct": 0.49624060150375937,
    "runs_scored": 586,
    "runs_allowed": 600,
    "run_differential": -14,
    "run_differential_per_game": -0.10526315789473684,
    "available": true
  },
  "away": {
    "team": "BAL",
    "games": 132,
    "wins": 64,
    "losses": 68,
    "win_pct": 0.48484848484848486,
    "runs_scored": 596,
    "runs_allowed": 619,
    "run_differential": -23,
    "run_differential_per_game": -0.17424242424242425,
    "available": true
  },
  "run_differential_edge_per_game": 0.069,
  "win_pct_edge": 0.0114,
  "quality_edge": -0.0855,
  "season_quality_edge": 0.0861,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": 0.0861,
    "recent_quality_edge": -0.404,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "conflict",
    "blended_quality_edge": -0.0855
  },
  "margin_adjustment": 0.0,
  "reason": "season quality edge below action threshold"
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 3,
      "away_runs": 5,
      "probability": 0.02529376968834785
    },
    {
      "home_runs": 3,
      "away_runs": 6,
      "probability": 0.02491434171928054
    },
    {
      "home_runs": 4,
      "away_runs": 5,
      "probability": 0.023636697775364954
    },
    {
      "home_runs": 4,
      "away_runs": 6,
      "probability": 0.023282127288527
    },
    {
      "home_runs": 3,
      "away_runs": 4,
      "probability": 0.022936549305352584
    }
  ],
  "home_distribution": {
    "0": 0.07141311713184381,
    "1": 0.11889995512117596,
    "2": 0.16329588415342935,
    "3": 0.1849944220286444,
    "4": 0.17287487383241845,
    "5": 0.1332585139638123,
    "6": 0.08473208690226745,
    "7": 0.04444170244883537,
    "8": 0.019227522088862938,
    "9": 0.006861922328709805
  },
  "away_distribution": {
    "0": 0.027097630340438623,
    "1": 0.04694780369177049,
    "2": 0.07265234292327868,
    "3": 0.10042326716931624,
    "4": 0.12398508589519042,
    "5": 0.1367272018852081,
    "6": 0.13467617804942691,
    "7": 0.11848872284903175,
    "8": 0.09311371019965178,
    "9": 0.06535828134643681,
    "10": 0.040976795598724816,
    "11": 0.022946990797800867,
    "12": 0.011477937822134788,
    "13": 0.005128051431589651
  },
  "model": "overdispersed_score_distribution",
  "variance_multiplier": 1.65,
  "variance_floor": 2.75,
  "roadmap_status": "implemented_above_requested_1.4x"
}
Matchup Recency Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "reasons": [],
  "signals": {
    "predicted_team": "BAL",
    "opponent_team": "STL",
    "h2h_net_margin": 12,
    "recent_h2h": [
      {
        "date": "2026-08-25",
        "predicted_team_runs": 13,
        "opponent_runs": 1,
        "margin_for_predicted_team": 12,
        "winner": "BAL"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 1,
      "consecutive_same_pick_count": 0,
      "same_pick_actual_loss_count": 0,
      "same_pick_blowout_loss_count": 0,
      "prior_predictions": [
        {
          "date": "20260825",
          "away": "BAL",
          "home": "STL",
          "game_number": 1,
          "predicted_team": "STL",
          "actual_winner": "BAL",
          "actual_margin": 12,
          "raw_pick_probability": 0.567962,
          "artifact": "20260825_BAL@STL.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "BAL",
    "guardrail_opponent_team": "STL",
    "output_pre_simulation_winner": "BAL",
    "output_opponent_team": "STL",
    "simulation_score_winner": "BAL",
    "final_score_winner": "BAL",
    "pre_simulation_winner": "BAL",
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false
  },
  "final_prediction_sync": {
    "pre_simulation_score": {
      "away_runs": 6,
      "home_runs": 3,
      "score_text": "BAL 6 - 3 STL",
      "winner": "BAL"
    },
    "final_simulation_score": {
      "away_runs": 6,
      "home_runs": 3,
      "score_text": "BAL 6 - 3 STL",
      "winner": "BAL"
    },
    "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": true,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": 0.0813,
      "recent_form_edge_home_minus_away": -0.754,
      "winner_direction": "away",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 6,
      "home_runs": 3,
      "winner": "BAL",
      "model_winner": "BAL",
      "simulation_winner": "BAL",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 2,
        "published_winner": "BAL",
        "published_winner_draw_share": 1.0,
        "draw_majority_team": "BAL",
        "published_winner_is_draw_majority": true,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": true,
      "margin_widening_capped": false,
      "model_margin": 3,
      "simulation_margin": 3,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 6,
        "home_runs": 3
      },
      "simulation_score": {
        "away_runs": 6,
        "home_runs": 3
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 3,
      "final_margin": 3,
      "winner_quality_edge": 0.0855,
      "winner": "BAL",
      "score_reviewed": {
        "away_runs": 6,
        "home_runs": 3,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  }
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "hard_flip_suppressed": false,
  "policy": "recency_uncertainty_shrinkage_v2",
  "reasons": [],
  "signals": {
    "home": {
      "team": "STL",
      "games": 133,
      "wins": 66,
      "losses": 67,
      "win_pct": 0.49624060150375937,
      "runs_scored": 586,
      "runs_allowed": 600,
      "run_differential": -14,
      "run_differential_per_game": -0.10526315789473684,
      "available": true
    },
    "away": {
      "team": "BAL",
      "games": 132,
      "wins": 64,
      "losses": 68,
      "win_pct": 0.48484848484848486,
      "runs_scored": 596,
      "runs_allowed": 619,
      "run_differential": -23,
      "run_differential_per_game": -0.17424242424242425,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": true,
  "raw_margin": -1.8242,
  "final_margin": -1.5,
  "margin_cap": 1.5,
  "season_quality_edge": 0.0855,
  "reason": "large target margin capped because season quality evidence did not justify a decisive prediction",
  "adjusted_score": {
    "away_runs": 4.805,
    "home_runs": 3.305
  }
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.757882,
  "final_confidence": 0.5795,
  "calibrated_pick_probability": 0.5795,
  "shrinkage_weight": 0.421769,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 2.2181,
  "calibration_sample_size": 6,
  "calibration_empirical_hit_rate": 0.3333,
  "calibration_bayesian_hit_rate": 0.4762,
  "calibration_sparse_bucket": true,
  "season_quality_edge": 0.0855,
  "reasons": [
    "confidence aligned to the calibrated pick probability",
    "verified calibration sample is sparse; probability was shrunk toward even rather than clamped",
    "verified hit rate is below chance; shrinkage weight reduced"
  ],
  "score_coherence": {
    "policy": "probability_follows_published_score_v1",
    "published_score": {
      "away_runs": 5,
      "home_runs": 3
    },
    "margin": -2,
    "probability_before": 0.420479,
    "margin_implied_home_probability": 0.33,
    "shrinkage_weight": 0.421769,
    "side_flipped": false,
    "applied": true,
    "probability_after": 0.382318,
    "aligned_pick_probability": 0.617682
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 6,
    "home_runs": 3,
    "score_text": "BAL 6 - 3 STL",
    "winner": "BAL"
  },
  "final_simulation_score": {
    "away_runs": 6,
    "home_runs": 3,
    "score_text": "BAL 6 - 3 STL",
    "winner": "BAL"
  },
  "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": true,
  "independent_margin_support_evidence": {
    "pitcher_matchup_edge_home_minus_away": 0.0813,
    "recent_form_edge_home_minus_away": -0.754,
    "winner_direction": "away",
    "thresholds": {
      "pitcher_matchup": 0.35,
      "recent_form": 0.75
    }
  },
  "margin_widening_capped": false,
  "simulation_winner_agrees": true,
  "away_run_delta": 0,
  "home_run_delta": 0,
  "total_run_delta": 0,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "organic_simulation_realized_target",
  "final_prediction_source": "stable_final_prediction_policy",
  "final_decision_policy": {
    "policy_version": "model_target_authoritative_simulation_realizes_v3",
    "away_runs": 6,
    "home_runs": 3,
    "winner": "BAL",
    "model_winner": "BAL",
    "simulation_winner": "BAL",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 2,
      "published_winner": "BAL",
      "published_winner_draw_share": 1.0,
      "draw_majority_team": "BAL",
      "published_winner_is_draw_majority": true,
      "sampling": "target_conditioned_selection",
      "is_unbiased_probability_sample": false,
      "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
    },
    "simulation_score_enabled": true,
    "independent_margin_support": true,
    "margin_widening_capped": false,
    "model_margin": 3,
    "simulation_margin": 3,
    "simulation_usage": "organic_simulation_realized_target",
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_realized_target": true,
    "model_score": {
      "away_runs": 6,
      "home_runs": 3
    },
    "simulation_score": {
      "away_runs": 6,
      "home_runs": 3
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 3,
    "final_margin": 3,
    "winner_quality_edge": 0.0855,
    "winner": "BAL",
    "score_reviewed": {
      "away_runs": 6,
      "home_runs": 3,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 6,
  "home_runs": 3,
  "confidence": 0.617682,
  "home_win_probability": 0.38231800000000005,
  "away_win_probability": 0.617682,
  "predicted_score_text": "BAL 6 - 3 STL",
  "embedded_savant_score_adjustment": {
    "applied": true,
    "source": "all_players_stats.csv embedded temporal Savant features",
    "feature_contract": {
      "training_grain": "one player-game row after collapsing granular at-bat rows",
      "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
      "hitter_signals": [
        "xwoba",
        "xba",
        "xslg",
        "barrel_batted_rate",
        "hard_hit_percent",
        "bat_speed",
        "launch_quality",
        "walk_rate",
        "strikeout_rate"
      ],
      "pitcher_signals": [
        "xwoba_allowed",
        "barrel_allowed",
        "hard_hit_allowed",
        "whiff_rate",
        "command_score",
        "movement_score",
        "faced_est_woba",
        "faced_strikeout_rate"
      ]
    },
    "away": {
      "team": "BAL",
      "original_runs": 5,
      "run_delta": 0.5527,
      "adjusted_runs": 6,
      "lineup": {
        "players_used": 9,
        "total_weight": 32.0,
        "quality": 0.159061376736037,
        "contact": 0.09338736989052465,
        "power": 0.48284762961111743,
        "discipline": -0.18747799401316687,
        "xwoba": 0.322375,
        "recent_xwoba": 0.322375,
        "barrel": 9.921875,
        "ab_hard_contact": 0.04363711603188205,
        "ab_bat_speed": 71.39567471140725,
        "ab_strikeout_rate": 0.27207980305859,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "624413",
            "player_name": "Pete Alonso",
            "position": "DH",
            "weight": 4.0,
            "quality": 1.4935463860199096,
            "contact": 1.6530375452211725,
            "power": 1.8950320167081722,
            "discipline": 0.15696986258458934,
            "xwoba": 0.396,
            "recent_xwoba": 0.396,
            "barrel": 14.0,
            "ab_hard_contact": 1.1535927151158385,
            "ab_bat_speed": 73.22603132662279,
            "ab_strikeout_rate": 0.24881275003226222,
            "available": 1.0
          },
          {
            "player_id": "687952",
            "player_name": "Christian Encarnacion-Strand",
            "position": "3B",
            "weight": 4.0,
            "quality": 0.3350264475062697,
            "contact": 0.49529107996482624,
            "power": 1.7161139356772408,
            "discipline": -0.7015507207164817,
            "xwoba": 0.35,
            "recent_xwoba": 0.35,
            "barrel": 17.6,
            "ab_hard_contact": 0.09980252306862425,
            "ab_bat_speed": 72.03301857142857,
            "ab_strikeout_rate": 0.2713333333333333,
            "available": 1.0
          },
          {
            "player_id": "665750",
            "player_name": "Leody Taveras",
            "position": "RF",
            "weight": 3.0,
            "quality": -0.6220681168451732,
            "contact": -0.7186729087256493,
            "power": -0.7027387440142687,
            "discipline": -0.08065557419633504,
            "xwoba": 0.278,
            "recent_xwoba": 0.278,
            "barrel": 4.1,
            "ab_hard_contact": -0.7835367850472733,
            "ab_bat_speed": 69.0877938034188,
            "ab_strikeout_rate": 0.2685096153846154,
            "available": 1.0
          },
          {
            "player_id": "694212",
            "player_name": "Samuel Basallo",
            "position": "1B",
            "weight": 3.0,
            "quality": 0.4011349056959556,
            "contact": 0.20002523423906618,
            "power": 0.9769097593850963,
            "discipline": -0.5176795216344391,
            "xwoba": 0.328,
            "recent_xwoba": 0.328,
            "barrel": 13.2,
            "ab_hard_contact": -0.2564714789647284,
            "ab_bat_speed": 73.11289049053356,
            "ab_strikeout_rate": 0.2548192771084337,
            "available": 1.0
          },
          {
            "player_id": "665966",
            "player_name": "Carlos Narváez",
            "position": "C",
            "weight": 3.0,
            "quality": -0.5021757324026009,
            "contact": -0.8358329693549015,
            "power": -0.22547792879197567,
            "discipline": -0.9656459588117199,
            "xwoba": 0.267,
            "recent_xwoba": 0.267,
            "barrel": 7.1,
            "ab_hard_contact": -0.3188919091728376,
            "ab_bat_speed": 69.62293452380952,
            "ab_strikeout_rate": 0.3457142857142857,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "700241",
        "player_name": "Michael McGreevy",
        "quality": -0.5815496290007978,
        "contact": -0.4919532706697798,
        "command": -0.6091776556776558,
        "movement": -0.8701936269001163,
        "xwoba": 0.351,
        "whiff": 19.4,
        "faced_est_woba": 0.26552359851190477,
        "faced_launch_speed": 83.8105259224902,
        "faced_strikeout_rate": 0.23520697818487546,
        "faced_run_exp": 0.006591593388029562
      }
    },
    "home": {
      "team": "STL",
      "original_runs": 3,
      "run_delta": 0.1784,
      "adjusted_runs": 3,
      "lineup": {
        "players_used": 9,
        "total_weight": 31.0,
        "quality": 0.22416838813760642,
        "contact": 0.18583610029238076,
        "power": 0.25832581800117216,
        "discipline": 0.028449134631718487,
        "xwoba": 0.3218064516129033,
        "recent_xwoba": 0.3218064516129033,
        "barrel": 8.119354838709677,
        "ab_hard_contact": 0.20810775787291302,
        "ab_bat_speed": 70.79874609167068,
        "ab_strikeout_rate": 0.21717449181001788,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "676475",
            "player_name": "Alec Burleson",
            "position": "1B",
            "weight": 4.0,
            "quality": 1.2717110436246233,
            "contact": 1.498255177388714,
            "power": 1.451932094770511,
            "discipline": 0.23234870681409345,
            "xwoba": 0.383,
            "recent_xwoba": 0.383,
            "barrel": 11.5,
            "ab_hard_contact": 1.1894990382673671,
            "ab_bat_speed": 72.57199599457269,
            "ab_strikeout_rate": 0.17793390580275828,
            "available": 1.0
          },
          {
            "player_id": "691023",
            "player_name": "Jordan Walker",
            "position": "RF",
            "weight": 4.0,
            "quality": 0.8442131126365316,
            "contact": 0.8861839238801703,
            "power": 1.325331275005649,
            "discipline": -0.4074065408223019,
            "xwoba": 0.355,
            "recent_xwoba": 0.355,
            "barrel": 13.7,
            "ab_hard_contact": 1.0521493096368015,
            "ab_bat_speed": 78.12266165123457,
            "ab_strikeout_rate": 0.2450462962962963,
            "available": 1.0
          },
          {
            "player_id": "802139",
            "player_name": "JJ Wetherholt",
            "position": "SS",
            "weight": 4.0,
            "quality": 0.5834533266208084,
            "contact": 0.7119953408734067,
            "power": 0.4405229232357657,
            "discipline": 0.6425234890243948,
            "xwoba": 0.352,
            "recent_xwoba": 0.352,
            "barrel": 7.5,
            "ab_hard_contact": 0.09236322662007089,
            "ab_bat_speed": 70.25800335775335,
            "ab_strikeout_rate": 0.16168769502102837,
            "available": 1.0
          },
          {
            "player_id": "701675",
            "player_name": "Nathan Church",
            "position": "CF",
            "weight": 3.0,
            "quality": -0.48150406646132593,
            "contact": -0.5627619489042214,
            "power": -0.4925762726018991,
            "discipline": -0.20282750643076747,
            "xwoba": 0.287,
            "recent_xwoba": 0.287,
            "barrel": 6.6,
            "ab_hard_contact": -1.0256206901332106,
            "ab_bat_speed": 67.58315470679013,
            "ab_strikeout_rate": 0.19561011904761905,
            "available": 1.0
          },
          {
            "player_id": "663494",
            "player_name": "Bryan Torres",
            "position": "LF",
            "weight": 3.0,
            "quality": -0.27561315350306087,
            "contact": -0.5638466696844908,
            "power": -0.650763008706037,
            "discipline": 0.02788689463973823,
            "xwoba": 0.29,
            "recent_xwoba": 0.29,
            "barrel": 4.3,
            "ab_hard_contact": -0.6735458884064462,
            "ab_bat_speed": 64.08310400516797,
            "ab_strikeout_rate": 0.21382428940568476,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "669432",
        "player_name": "Trevor Rogers",
        "quality": 0.04251257224397983,
        "contact": 0.23884614924014025,
        "command": -0.22374908424908446,
        "movement": -0.16869280112021975,
        "xwoba": 0.304,
        "whiff": 23.7,
        "faced_est_woba": 0.26552359851190477,
        "faced_launch_speed": 83.8105259224902,
        "faced_strikeout_rate": 0.23520697818487546,
        "faced_run_exp": 0.006591593388029562
      }
    }
  },
  "fundamental_edge_target_review": {
    "applied": false,
    "method": "post_score_adjustment_fundamental_edge_review_v1",
    "previous_score": {
      "away_runs": 6,
      "home_runs": 3,
      "winner_side": "away"
    },
    "adjusted_score": {
      "away_runs": 6,
      "home_runs": 3,
      "winner_side": "away"
    },
    "signals": {
      "season_quality_edge_home_minus_away": -0.0855,
      "recent_form_edge_home_minus_away": -0.754,
      "pitcher_matchup_edge_home_minus_away": 0.0813,
      "composite_home_edge": -0.5967,
      "existing_home_win_probability": 0.3823,
      "refreshed_home_win_probability": 0.3,
      "winner_support_before_review": 0.5967
    },
    "reasons": [
      "target direction already matched refreshed fundamentals or margin was not fragile"
    ]
  },
  "uncapped_home_win_probability": 0.382318,
  "uncapped_away_win_probability": 0.617682,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.617682,
    "discount_factor": 1.0,
    "published_confidence": 0.617682,
    "guardrail_confidence_cap": null,
    "guardrail_cap_enforced": false,
    "applied_discounts": []
  },
  "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied.",
  "pre_simulation_target": {
    "away_runs": 6,
    "home_runs": 3,
    "predicted_score_text": "BAL 6 - 3 STL",
    "confidence": 0.617682,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "stable_final_prediction_policy",
  "simulation_usage": "organic_simulation_realized_target",
  "simulation_score_matches_prediction": true,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 6,
      "home_runs": 3,
      "score_text": "BAL 6 - 3 STL",
      "winner": "BAL"
    },
    "final_simulation_score": {
      "away_runs": 6,
      "home_runs": 3,
      "score_text": "BAL 6 - 3 STL",
      "winner": "BAL"
    },
    "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": true,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": 0.0813,
      "recent_form_edge_home_minus_away": -0.754,
      "winner_direction": "away",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 6,
      "home_runs": 3,
      "winner": "BAL",
      "model_winner": "BAL",
      "simulation_winner": "BAL",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 2,
        "published_winner": "BAL",
        "published_winner_draw_share": 1.0,
        "draw_majority_team": "BAL",
        "published_winner_is_draw_majority": true,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": true,
      "margin_widening_capped": false,
      "model_margin": 3,
      "simulation_margin": 3,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 6,
        "home_runs": 3
      },
      "simulation_score": {
        "away_runs": 6,
        "home_runs": 3
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 3,
      "final_margin": 3,
      "winner_quality_edge": 0.0855,
      "winner": "BAL",
      "score_reviewed": {
        "away_runs": 6,
        "home_runs": 3,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  },
  "decision_profile": {
    "method": "priced_decision_profile_v2",
    "winner": "BAL",
    "display_confidence": 0.6177,
    "internal_signal_score": 0.624,
    "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
    "model_pick_probability": 0.6177,
    "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": "neutral_totals",
    "winner_accuracy_and_margin_accuracy_decoupled": true,
    "signals": {
      "final_margin": 3,
      "winner_quality_edge": 0.0855,
      "winner_recent_form_edge": 0.404,
      "winner_pitcher_matchup_edge": -0.0813,
      "winner_simulation_draw_rate": 1.0,
      "blowout_draw_rate_margin_4_plus": 0.0,
      "high_total_draw_rate_11_plus": 0.0,
      "low_total_draw_rate_6_or_less": 0.0,
      "total_runs_spread": {
        "min": 7,
        "median": 7,
        "max": 7,
        "range": 0
      }
    },
    "interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."
  }
}

Savant Batter Quality

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

TeamAppliedOffense FactorRaw Avg FactorCoverage WeightCoveredMissing
Away BALTrue1.02801.0280190
Home STLTrue1.02701.0270190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
DHPete Alonso231.13671.8226neutral0.39600.28700.55301456.7094.1015.1026.8023.60110.5143
1BSamuel Basallo1261.05610.7483neutral0.32800.24300.460013.2045.5091.1010.5032.3027.207.900.3143
LFDylan Beavers5231.00930.1238neutral0.30600.23100.38207.6041.5089.101924.7026.609.50-0.2857
RFLeody Taveras2700.9590-0.5466neutral0.27800.21800.32604.1032.608816.1024.9024.408.90-0.4000
SSGunnar Henderson1051.02890.3858neutral0.31800.24400.39607.1044.8089.8012.2023.7022.109.300.3714
3BChristian Encarnacion-Strand2811.04410.5886neutral0.35000.25500.546017.6040.5092.2017.8025.6026.604.600.8000
2BJackson Holliday2481.01000.1337neutral0.31200.24400.36806.5034.8087.1012.1027.5022.4012.100.2286
CCarlos Narváez6400.9836-0.2181positive_batter_regression0.26700.19900.31907.103991.301833.7032.906.601.2000
CFColton Cowser1501.02400.3199neutral0.31900.21500.418011.2038.8087.301433.4030.3011.900.3429

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
RFJordan Walker261.08411.1217neutral0.35500.27400.488013.7047.8092.5012.2030.6024.107.60-0.2857
DHIván Herrera781.02250.2995neutral0.33000.24600.37305.7040.3089.209.9020.8018.3010.800
1BAlec Burleson501.12251.6335neutral0.38300.29700.537011.5049.9092.2012.602216.708.300.5429
2BJosé Fermín4020.9900-0.1337neutral0.30200.25400.35002.7033.2086.6016.9013.7012.209.10-0.0857
SSJJ Wetherholt101.06920.9226neutral0.35200.25800.44007.5044.9089.9011.802016.2010.800.7429
LFBryan Torres3180.9876-0.1653neutral0.29000.23600.35704.3027.40878.3021.3020.307.50-0.1714
3BNolan Gorman4980.9838-0.2165neutral0.27400.19400.34409.2043.5089.1022.1039.103310.700.3714
CFNathan Church1560.9810-0.2532neutral0.28700.24100.36606.6030.1085.8013.8021.3018.805.20-0.0571
CJimmy Crooks6231.00260.0340neutral0.27900.19000.36709.9048.8091.6019.3034.9032.606.400.8286
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.027,
    "raw_average_factor": 1.027,
    "team_espn_average_rank": 240.11,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "RF",
        "player_id": "691023",
        "player_name": "Jordan Walker",
        "offense_factor": 1.0841,
        "quality_score": 1.1217,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "691023",
          "espn_id": 4684778,
          "player_name": "Jordan Walker",
          "team": "STL",
          "role": "batter",
          "espn_rank": 26,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 26,
            "gp_value": 129.0,
            "gp_rank": "28",
            "ab_value": 502.0,
            "ab_rank": "17",
            "r_value": 82.0,
            "r_rank": "13",
            "h_value": 144.0,
            "h_rank": "10",
            "avg_value": 0.2868525,
            "avg_rank": 14.0,
            "2b_value": 28.0,
            "2b_rank": "12",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 27.0,
            "hr_rank": "16",
            "rbi_value": 96.0,
            "rbi_rank": "2",
            "tb_value": 253.0,
            "tb_rank": "632",
            "bb_value": 42.0,
            "bb_rank": "97",
            "so_value": 133.0,
            "so_rank": "30",
            "sb_value": 18.0,
            "sb_rank": "31",
            "obp_value": 0.3448275,
            "obp_rank": "52",
            "slg_value": 0.503984,
            "slg_rank": "17",
            "ops_value": 0.8488115,
            "ops_rank": 69.0,
            "war_value": 4.02,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 524.0,
          "k_percent": 24.1,
          "bb_percent": 7.6,
          "woba": 0.365,
          "xwoba": 0.355,
          "xba": 0.274,
          "xslg": 0.488,
          "sweet_spot_percent": 34.4,
          "barrel_batted_rate": 13.7,
          "hard_hit_percent": 47.8,
          "exit_velocity_avg": 92.5,
          "launch_angle_avg": 12.2,
          "whiff_percent": 30.6,
          "swing_percent": 52.3
        },
        "components": {
          "expected_quality": 1.3508,
          "regression_edge": -0.2857,
          "xwoba_edge": 1.5143,
          "xba_edge": 1.0857,
          "xslg_edge": 1.7286,
          "barrel_edge": 1.5556,
          "hard_hit_edge": 1.4286,
          "exit_velocity_edge": 1.56,
          "sweet_spot_edge": 0.1833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "DH",
        "player_id": "671056",
        "player_name": "Iván Herrera",
        "offense_factor": 1.0225,
        "quality_score": 0.2995,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "671056",
          "espn_id": 41889,
          "player_name": "Ivan Herrera",
          "team": "STL",
          "role": "batter",
          "espn_rank": 78,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 78,
            "gp_value": 132.0,
            "gp_rank": "7",
            "ab_value": 495.0,
            "ab_rank": "24",
            "r_value": 81.0,
            "r_rank": "15",
            "h_value": 120.0,
            "h_rank": "54",
            "avg_value": 0.2424242,
            "avg_rank": 101.0,
            "2b_value": 23.0,
            "2b_rank": "57",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 14.0,
            "hr_rank": "112",
            "rbi_value": 53.0,
            "rbi_rank": "104",
            "tb_value": 187.0,
            "tb_rank": "703",
            "bb_value": 64.0,
            "bb_rank": "25",
            "so_value": 108.0,
            "so_rank": "70",
            "sb_value": 7.0,
            "sb_rank": "122",
            "obp_value": 0.3576271,
            "obp_rank": "34",
            "slg_value": 0.3777777,
            "slg_rank": "123",
            "ops_value": 0.7354048,
            "ops_rank": 89.0,
            "war_value": 2.31,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 553.0,
          "k_percent": 18.3,
          "bb_percent": 10.8,
          "woba": 0.33,
          "xwoba": 0.33,
          "xba": 0.246,
          "xslg": 0.373,
          "sweet_spot_percent": 30.2,
          "barrel_batted_rate": 5.7,
          "hard_hit_percent": 40.3,
          "exit_velocity_avg": 89.2,
          "launch_angle_avg": 9.9,
          "whiff_percent": 20.8,
          "swing_percent": 44.7
        },
        "components": {
          "expected_quality": 0.3482,
          "regression_edge": 0.0,
          "xwoba_edge": 0.8,
          "xba_edge": 0.2857,
          "xslg_edge": 0.0857,
          "barrel_edge": -0.2222,
          "hard_hit_edge": 0.3571,
          "exit_velocity_edge": 0.24,
          "sweet_spot_edge": -0.5167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "676475",
        "player_name": "Alec Burleson",
        "offense_factor": 1.1225,
        "quality_score": 1.6335,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "676475",
          "espn_id": 4345070,
          "player_name": "Alec Burleson",
          "team": "STL",
          "role": "batter",
          "espn_rank": 50,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 50,
            "gp_value": 132.0,
            "gp_rank": "7",
            "ab_value": 501.0,
            "ab_rank": "19",
            "r_value": 75.0,
            "r_rank": "32",
            "h_value": 146.0,
            "h_rank": "6",
            "avg_value": 0.2914171,
            "avg_rank": 11.0,
            "2b_value": 33.0,
            "2b_rank": "1",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 21.0,
            "hr_rank": "37",
            "rbi_value": 96.0,
            "rbi_rank": "2",
            "tb_value": 244.0,
            "tb_rank": "360",
            "bb_value": 46.0,
            "bb_rank": "82",
            "so_value": 93.0,
            "so_rank": "112",
            "sb_value": 3.0,
            "sb_rank": "223",
            "obp_value": 0.3561151,
            "obp_rank": "38",
            "slg_value": 0.4870259,
            "slg_rank": "25",
            "ops_value": 0.843141,
            "ops_rank": 13.0,
            "war_value": 3.11,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 528.0,
          "k_percent": 16.7,
          "bb_percent": 8.3,
          "woba": 0.364,
          "xwoba": 0.383,
          "xba": 0.297,
          "xslg": 0.537,
          "sweet_spot_percent": 35.0,
          "barrel_batted_rate": 11.5,
          "hard_hit_percent": 49.9,
          "exit_velocity_avg": 92.2,
          "launch_angle_avg": 12.6,
          "whiff_percent": 22.0,
          "swing_percent": 53.0
        },
        "components": {
          "expected_quality": 1.8111,
          "regression_edge": 0.5429,
          "xwoba_edge": 2.3143,
          "xba_edge": 1.7429,
          "xslg_edge": 2.4286,
          "barrel_edge": 1.0667,
          "hard_hit_edge": 1.7286,
          "exit_velocity_edge": 1.44,
          "sweet_spot_edge": 0.2833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "2B",
        "player_id": "665877",
        "player_name": "José Fermín",
        "offense_factor": 0.99,
        "quality_score": -0.1337,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "665877",
          "espn_id": 38851,
          "player_name": "Jose Fermin",
          "team": "STL",
          "role": "batter",
          "espn_rank": 402,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 402,
            "gp_value": 94.0,
            "gp_rank": "200",
            "ab_value": 254.0,
            "ab_rank": "241",
            "r_value": 23.0,
            "r_rank": "305",
            "h_value": 62.0,
            "h_rank": "238",
            "avg_value": 0.2440944,
            "avg_rank": null,
            "2b_value": 14.0,
            "2b_rank": "189",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 6.0,
            "hr_rank": "263",
            "rbi_value": 33.0,
            "rbi_rank": "223",
            "tb_value": 94.0,
            "tb_rank": "1778",
            "bb_value": 26.0,
            "bb_rank": "208",
            "so_value": 35.0,
            "so_rank": "363",
            "sb_value": 6.0,
            "sb_rank": "143",
            "obp_value": 0.3144876,
            "obp_rank": "-",
            "slg_value": 0.3700787,
            "slg_rank": "-",
            "ops_value": 0.6845663,
            "ops_rank": null,
            "war_value": 0.01,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 264.0,
          "k_percent": 12.2,
          "bb_percent": 9.1,
          "woba": 0.305,
          "xwoba": 0.302,
          "xba": 0.254,
          "xslg": 0.35,
          "sweet_spot_percent": 33.6,
          "barrel_batted_rate": 2.7,
          "hard_hit_percent": 33.2,
          "exit_velocity_avg": 86.6,
          "launch_angle_avg": 16.9,
          "whiff_percent": 13.7,
          "swing_percent": 39.2
        },
        "components": {
          "expected_quality": -0.1415,
          "regression_edge": -0.0857,
          "xwoba_edge": 0.0,
          "xba_edge": 0.5143,
          "xslg_edge": -0.2429,
          "barrel_edge": -0.8889,
          "hard_hit_edge": -0.6571,
          "exit_velocity_edge": -0.8,
          "sweet_spot_edge": 0.05,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "802139",
        "player_name": "JJ Wetherholt",
        "offense_factor": 1.0692,
        "quality_score": 0.9226,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "802139",
          "espn_id": 4941056,
          "player_name": "JJ Wetherholt",
          "team": "STL",
          "role": "batter",
          "espn_rank": 10,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 10,
            "gp_value": 127.0,
            "gp_rank": "45",
            "ab_value": 493.0,
            "ab_rank": "27",
            "r_value": 87.0,
            "r_rank": "7",
            "h_value": 121.0,
            "h_rank": "50",
            "avg_value": 0.2454361,
            "avg_rank": 95.0,
            "2b_value": 14.0,
            "2b_rank": "189",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 17.0,
            "hr_rank": "73",
            "rbi_value": 48.0,
            "rbi_rank": "129",
            "tb_value": 186.0,
            "tb_rank": "1020",
            "bb_value": 62.0,
            "bb_rank": "30",
            "so_value": 93.0,
            "so_rank": "112",
            "sb_value": 14.0,
            "sb_rank": "53",
            "obp_value": 0.3472949,
            "obp_rank": "50",
            "slg_value": 0.3772819,
            "slg_rank": "124",
            "ops_value": 0.7245768,
            "ops_rank": 174.0,
            "war_value": 4.94,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 539.0,
          "k_percent": 16.2,
          "bb_percent": 10.8,
          "woba": 0.326,
          "xwoba": 0.352,
          "xba": 0.258,
          "xslg": 0.44,
          "sweet_spot_percent": 35.6,
          "barrel_batted_rate": 7.5,
          "hard_hit_percent": 44.9,
          "exit_velocity_avg": 89.9,
          "launch_angle_avg": 11.8,
          "whiff_percent": 20.0,
          "swing_percent": 41.9
        },
        "components": {
          "expected_quality": 0.9519,
          "regression_edge": 0.7429,
          "xwoba_edge": 1.4286,
          "xba_edge": 0.6286,
          "xslg_edge": 1.0429,
          "barrel_edge": 0.1778,
          "hard_hit_edge": 1.0143,
          "exit_velocity_edge": 0.52,
          "sweet_spot_edge": 0.3833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "663494",
        "player_name": "Bryan Torres",
        "offense_factor": 0.9876,
        "quality_score": -0.1653,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "663494",
          "espn_id": 5125653,
          "player_name": "Bryan Torres",
          "team": "STL",
          "role": "batter",
          "espn_rank": 318,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 318,
            "gp_value": 57.0,
            "gp_rank": "355",
            "ab_value": 120.0,
            "ab_rank": "390",
            "r_value": 13.0,
            "r_rank": "395",
            "h_value": 28.0,
            "h_rank": "384",
            "avg_value": 0.2333333,
            "avg_rank": null,
            "2b_value": 1.0,
            "2b_rank": "499",
            "3b_value": 2.0,
            "3b_rank": "64",
            "hr_value": 4.0,
            "hr_rank": "315",
            "rbi_value": 17.0,
            "rbi_rank": "347",
            "tb_value": 45.0,
            "tb_rank": "1188",
            "bb_value": 10.0,
            "bb_rank": "376",
            "so_value": 27.0,
            "so_rank": "412",
            "sb_value": 1.0,
            "sb_rank": "315",
            "obp_value": 0.2954545,
            "obp_rank": "-",
            "slg_value": 0.375,
            "slg_rank": "-",
            "ops_value": 0.6704545,
            "ops_rank": null,
            "war_value": 0.27,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 119.0,
          "k_percent": 20.3,
          "bb_percent": 7.5,
          "woba": 0.296,
          "xwoba": 0.29,
          "xba": 0.236,
          "xslg": 0.357,
          "sweet_spot_percent": 36.8,
          "barrel_batted_rate": 4.3,
          "hard_hit_percent": 27.4,
          "exit_velocity_avg": 87.0,
          "launch_angle_avg": 8.3,
          "whiff_percent": 21.3,
          "swing_percent": 46.1
        },
        "components": {
          "expected_quality": -0.3275,
          "regression_edge": -0.1714,
          "xwoba_edge": -0.3429,
          "xba_edge": 0.0,
          "xslg_edge": -0.1429,
          "barrel_edge": -0.5333,
          "hard_hit_edge": -1.4857,
          "exit_velocity_edge": -0.64,
          "sweet_spot_edge": 0.5833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "669357",
        "player_name": "Nolan Gorman",
        "offense_factor": 0.9838,
        "quality_score": -0.2165,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "669357",
          "espn_id": 41174,
          "player_name": "Nolan Gorman",
          "team": "STL",
          "role": "batter",
          "espn_rank": 498,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 498,
            "gp_value": 63.0,
            "gp_rank": "331",
            "ab_value": 205.0,
            "ab_rank": "292",
            "r_value": 19.0,
            "r_rank": "349",
            "h_value": 39.0,
            "h_rank": "327",
            "avg_value": 0.1902439,
            "avg_rank": null,
            "2b_value": 4.0,
            "2b_rank": "393",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 7.0,
            "hr_rank": "231",
            "rbi_value": 26.0,
            "rbi_rank": "273",
            "tb_value": 64.0,
            "tb_rank": "1975",
            "bb_value": 25.0,
            "bb_rank": "214",
            "so_value": 77.0,
            "so_rank": "170",
            "sb_value": 0.0,
            "sb_rank": "421",
            "obp_value": 0.2746781,
            "obp_rank": "-",
            "slg_value": 0.3121951,
            "slg_rank": "-",
            "ops_value": 0.5868732,
            "ops_rank": null,
            "war_value": -0.17,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 222.0,
          "k_percent": 33.0,
          "bb_percent": 10.7,
          "woba": 0.261,
          "xwoba": 0.274,
          "xba": 0.194,
          "xslg": 0.344,
          "sweet_spot_percent": 34.4,
          "barrel_batted_rate": 9.2,
          "hard_hit_percent": 43.5,
          "exit_velocity_avg": 89.1,
          "launch_angle_avg": 22.1,
          "whiff_percent": 39.1,
          "swing_percent": 49.9
        },
        "components": {
          "expected_quality": -0.3122,
          "regression_edge": 0.3714,
          "xwoba_edge": -0.8,
          "xba_edge": -1.2,
          "xslg_edge": -0.3286,
          "barrel_edge": 0.5556,
          "hard_hit_edge": 0.8143,
          "exit_velocity_edge": 0.2,
          "sweet_spot_edge": 0.1833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "CF",
        "player_id": "701675",
        "player_name": "Nathan Church",
        "offense_factor": 0.981,
        "quality_score": -0.2532,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "701675",
          "espn_id": 4843048,
          "player_name": "Nathan Church",
          "team": "STL",
          "role": "batter",
          "espn_rank": 156,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 156,
            "gp_value": 113.0,
            "gp_rank": "134",
            "ab_value": 334.0,
            "ab_rank": "171",
            "r_value": 42.0,
            "r_rank": "173",
            "h_value": 81.0,
            "h_rank": "167",
            "avg_value": 0.2425149,
            "avg_rank": null,
            "2b_value": 10.0,
            "2b_rank": "254",
            "3b_value": 2.0,
            "3b_rank": "64",
            "hr_value": 10.0,
            "hr_rank": "163",
            "rbi_value": 42.0,
            "rbi_rank": "167",
            "tb_value": 125.0,
            "tb_rank": "1038",
            "bb_value": 19.0,
            "bb_rank": "273",
            "so_value": 68.0,
            "so_rank": "207",
            "sb_value": 8.0,
            "sb_rank": "107",
            "obp_value": 0.2853185,
            "obp_rank": "-",
            "slg_value": 0.3742514,
            "slg_rank": "-",
            "ops_value": 0.6595699,
            "ops_rank": null,
            "war_value": 1.38,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 345.0,
          "k_percent": 18.8,
          "bb_percent": 5.2,
          "woba": 0.289,
          "xwoba": 0.287,
          "xba": 0.241,
          "xslg": 0.366,
          "sweet_spot_percent": 34.2,
          "barrel_batted_rate": 6.6,
          "hard_hit_percent": 30.1,
          "exit_velocity_avg": 85.8,
          "launch_angle_avg": 13.8,
          "whiff_percent": 21.3,
          "swing_percent": 56.7
        },
        "components": {
          "expected_quality": -0.2852,
          "regression_edge": -0.0571,
          "xwoba_edge": -0.4286,
          "xba_edge": 0.1429,
          "xslg_edge": -0.0143,
          "barrel_edge": -0.0222,
          "hard_hit_edge": -1.1,
          "exit_velocity_edge": -1.12,
          "sweet_spot_edge": 0.15,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "699625",
        "player_name": "Jimmy Crooks",
        "offense_factor": 1.0026,
        "quality_score": 0.034,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "699625",
          "espn_id": 4749675,
          "player_name": "Jimmy Crooks",
          "team": "STL",
          "role": "batter",
          "espn_rank": 623,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 623,
            "gp_value": 49.0,
            "gp_rank": "383",
            "ab_value": 127.0,
            "ab_rank": "383",
            "r_value": 9.0,
            "r_rank": "437",
            "h_value": 22.0,
            "h_rank": "412",
            "avg_value": 0.1732283,
            "avg_rank": null,
            "2b_value": 5.0,
            "2b_rank": "365",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 4.0,
            "hr_rank": "315",
            "rbi_value": 12.0,
            "rbi_rank": "386",
            "tb_value": 39.0,
            "tb_rank": "2284",
            "bb_value": 9.0,
            "bb_rank": "395",
            "so_value": 46.0,
            "so_rank": "304",
            "sb_value": 0.0,
            "sb_rank": "421",
            "obp_value": 0.2482269,
            "obp_rank": "-",
            "slg_value": 0.3070866,
            "slg_rank": "-",
            "ops_value": 0.5553135,
            "ops_rank": null,
            "war_value": -0.72,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 127.0,
          "k_percent": 32.6,
          "bb_percent": 6.4,
          "woba": 0.25,
          "xwoba": 0.279,
          "xba": 0.19,
          "xslg": 0.367,
          "sweet_spot_percent": 36.6,
          "barrel_batted_rate": 9.9,
          "hard_hit_percent": 48.8,
          "exit_velocity_avg": 91.6,
          "launch_angle_avg": 19.3,
          "whiff_percent": 34.9,
          "swing_percent": 50.6
        },
        "components": {
          "expected_quality": -0.0663,
          "regression_edge": 0.8286,
          "xwoba_edge": -0.6571,
          "xba_edge": -1.3143,
          "xslg_edge": 0.0,
          "barrel_edge": 0.7111,
          "hard_hit_edge": 1.5714,
          "exit_velocity_edge": 1.2,
          "sweet_spot_edge": 0.55,
          "launch_angle_hr_bonus": 0.45
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.028,
    "raw_average_factor": 1.028,
    "team_espn_average_rank": 262.89,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "DH",
        "player_id": "624413",
        "player_name": "Pete Alonso",
        "offense_factor": 1.1367,
        "quality_score": 1.8226,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "624413",
          "espn_id": 37498,
          "player_name": "Pete Alonso",
          "team": "BAL",
          "role": "batter",
          "espn_rank": 23,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 23,
            "gp_value": 132.0,
            "gp_rank": "7",
            "ab_value": 496.0,
            "ab_rank": "22",
            "r_value": 81.0,
            "r_rank": "15",
            "h_value": 137.0,
            "h_rank": "19",
            "avg_value": 0.2762096,
            "avg_rank": 30.0,
            "2b_value": 24.0,
            "2b_rank": "46",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 31.0,
            "hr_rank": "8",
            "rbi_value": 89.0,
            "rbi_rank": "6",
            "tb_value": 254.0,
            "tb_rank": "565",
            "bb_value": 63.0,
            "bb_rank": "27",
            "so_value": 135.0,
            "so_rank": "27",
            "sb_value": 5.0,
            "sb_rank": "166",
            "obp_value": 0.3642732,
            "obp_rank": "24",
            "slg_value": 0.5120967,
            "slg_rank": "13",
            "ops_value": 0.8763699,
            "ops_rank": 11.0,
            "war_value": 4.12,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 541.0,
          "k_percent": 23.6,
          "bb_percent": 11.0,
          "woba": 0.378,
          "xwoba": 0.396,
          "xba": 0.287,
          "xslg": 0.553,
          "sweet_spot_percent": 35.9,
          "barrel_batted_rate": 14.0,
          "hard_hit_percent": 56.7,
          "exit_velocity_avg": 94.1,
          "launch_angle_avg": 15.1,
          "whiff_percent": 26.8,
          "swing_percent": 44.8
        },
        "components": {
          "expected_quality": 2.0356,
          "regression_edge": 0.5143,
          "xwoba_edge": 2.5,
          "xba_edge": 1.4571,
          "xslg_edge": 2.5,
          "barrel_edge": 1.6222,
          "hard_hit_edge": 2.5,
          "exit_velocity_edge": 2.2,
          "sweet_spot_edge": 0.4333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "694212",
        "player_name": "Samuel Basallo",
        "offense_factor": 1.0561,
        "quality_score": 0.7483,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "694212",
          "espn_id": 4917646,
          "player_name": "Samuel Basallo",
          "team": "BAL",
          "role": "batter",
          "espn_rank": 126,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 126,
            "gp_value": 92.0,
            "gp_rank": "208",
            "ab_value": 301.0,
            "ab_rank": "200",
            "r_value": 35.0,
            "r_rank": "217",
            "h_value": 70.0,
            "h_rank": "203",
            "avg_value": 0.2325581,
            "avg_rank": null,
            "2b_value": 9.0,
            "2b_rank": "276",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 17.0,
            "hr_rank": "73",
            "rbi_value": 48.0,
            "rbi_rank": "129",
            "tb_value": 132.0,
            "tb_rank": "954",
            "bb_value": 26.0,
            "bb_rank": "208",
            "so_value": 90.0,
            "so_rank": "125",
            "sb_value": 0.0,
            "sb_rank": "421",
            "obp_value": 0.2960725,
            "obp_rank": "-",
            "slg_value": 0.4385382,
            "slg_rank": "-",
            "ops_value": 0.7346107,
            "ops_rank": null,
            "war_value": 1.69,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 306.0,
          "k_percent": 27.2,
          "bb_percent": 7.9,
          "woba": 0.317,
          "xwoba": 0.328,
          "xba": 0.243,
          "xslg": 0.46,
          "sweet_spot_percent": 31.9,
          "barrel_batted_rate": 13.2,
          "hard_hit_percent": 45.5,
          "exit_velocity_avg": 91.1,
          "launch_angle_avg": 10.5,
          "whiff_percent": 32.3,
          "swing_percent": 53.2
        },
        "components": {
          "expected_quality": 0.8189,
          "regression_edge": 0.3143,
          "xwoba_edge": 0.7429,
          "xba_edge": 0.2,
          "xslg_edge": 1.3286,
          "barrel_edge": 1.4444,
          "hard_hit_edge": 1.1,
          "exit_velocity_edge": 1.0,
          "sweet_spot_edge": -0.2333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "687637",
        "player_name": "Dylan Beavers",
        "offense_factor": 1.0093,
        "quality_score": 0.1238,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "687637",
          "espn_id": 4959037,
          "player_name": "Dylan Beavers",
          "team": "BAL",
          "role": "batter",
          "espn_rank": 523,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 523,
            "gp_value": 77.0,
            "gp_rank": "275",
            "ab_value": 224.0,
            "ab_rank": "272",
            "r_value": 28.0,
            "r_rank": "260",
            "h_value": 55.0,
            "h_rank": "257",
            "avg_value": 0.2455357,
            "avg_rank": null,
            "2b_value": 14.0,
            "2b_rank": "189",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 6.0,
            "hr_rank": "263",
            "rbi_value": 30.0,
            "rbi_rank": "248",
            "tb_value": 87.0,
            "tb_rank": "1797",
            "bb_value": 24.0,
            "bb_rank": "224",
            "so_value": 67.0,
            "so_rank": "213",
            "sb_value": 5.0,
            "sb_rank": "166",
            "obp_value": 0.3227091,
            "obp_rank": "-",
            "slg_value": 0.3883928,
            "slg_rank": "-",
            "ops_value": 0.7111019,
            "ops_rank": null,
            "war_value": -0.22,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 233.0,
          "k_percent": 26.6,
          "bb_percent": 9.5,
          "woba": 0.316,
          "xwoba": 0.306,
          "xba": 0.231,
          "xslg": 0.382,
          "sweet_spot_percent": 37.1,
          "barrel_batted_rate": 7.6,
          "hard_hit_percent": 41.5,
          "exit_velocity_avg": 89.1,
          "launch_angle_avg": 19.0,
          "whiff_percent": 24.7,
          "swing_percent": 41.4
        },
        "components": {
          "expected_quality": 0.1905,
          "regression_edge": -0.2857,
          "xwoba_edge": 0.1143,
          "xba_edge": -0.1429,
          "xslg_edge": 0.2143,
          "barrel_edge": 0.2,
          "hard_hit_edge": 0.5286,
          "exit_velocity_edge": 0.2,
          "sweet_spot_edge": 0.6333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "RF",
        "player_id": "665750",
        "player_name": "Leody Taveras",
        "offense_factor": 0.959,
        "quality_score": -0.5466,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "665750",
          "espn_id": 34951,
          "player_name": "Leody Taveras",
          "team": "BAL",
          "role": "batter",
          "espn_rank": 270,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 270,
            "gp_value": 115.0,
            "gp_rank": "124",
            "ab_value": 359.0,
            "ab_rank": "142",
            "r_value": 51.0,
            "r_rank": "125",
            "h_value": 82.0,
            "h_rank": "160",
            "avg_value": 0.2284122,
            "avg_rank": 126.0,
            "2b_value": 13.0,
            "2b_rank": "204",
            "3b_value": 6.0,
            "3b_rank": "6",
            "hr_value": 7.0,
            "hr_rank": "231",
            "rbi_value": 46.0,
            "rbi_rank": "139",
            "tb_value": 128.0,
            "tb_rank": "1069",
            "bb_value": 36.0,
            "bb_rank": "135",
            "so_value": 99.0,
            "so_rank": "97",
            "sb_value": 10.0,
            "sb_rank": "75",
            "obp_value": 0.2997481,
            "obp_rank": "128",
            "slg_value": 0.3565459,
            "slg_rank": "138",
            "ops_value": 0.656294,
            "ops_rank": 266.0,
            "war_value": 0.55,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 376.0,
          "k_percent": 24.4,
          "bb_percent": 8.9,
          "woba": 0.292,
          "xwoba": 0.278,
          "xba": 0.218,
          "xslg": 0.326,
          "sweet_spot_percent": 28.9,
          "barrel_batted_rate": 4.1,
          "hard_hit_percent": 32.6,
          "exit_velocity_avg": 88.0,
          "launch_angle_avg": 16.1,
          "whiff_percent": 24.9,
          "swing_percent": 48.2
        },
        "components": {
          "expected_quality": -0.5704,
          "regression_edge": -0.4,
          "xwoba_edge": -0.6857,
          "xba_edge": -0.5143,
          "xslg_edge": -0.5857,
          "barrel_edge": -0.5778,
          "hard_hit_edge": -0.7429,
          "exit_velocity_edge": -0.24,
          "sweet_spot_edge": -0.7333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "683002",
        "player_name": "Gunnar Henderson",
        "offense_factor": 1.0289,
        "quality_score": 0.3858,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "683002",
          "espn_id": 42507,
          "player_name": "Gunnar Henderson",
          "team": "BAL",
          "role": "batter",
          "espn_rank": 105,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 105,
            "gp_value": 131.0,
            "gp_rank": "15",
            "ab_value": 526.0,
            "ab_rank": "1",
            "r_value": 77.0,
            "r_rank": "24",
            "h_value": 115.0,
            "h_rank": "76",
            "avg_value": 0.2186311,
            "avg_rank": 136.0,
            "2b_value": 23.0,
            "2b_rank": "57",
            "3b_value": 4.0,
            "3b_rank": "17",
            "hr_value": 20.0,
            "hr_rank": "52",
            "rbi_value": 51.0,
            "rbi_rank": "113",
            "tb_value": 206.0,
            "tb_rank": "323",
            "bb_value": 55.0,
            "bb_rank": "44",
            "so_value": 131.0,
            "so_rank": "34",
            "sb_value": 10.0,
            "sb_rank": "75",
            "obp_value": 0.3023648,
            "obp_rank": "122",
            "slg_value": 0.3916349,
            "slg_rank": "113",
            "ops_value": 0.6939997,
            "ops_rank": 9.0,
            "war_value": 1.96,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 561.0,
          "k_percent": 22.1,
          "bb_percent": 9.3,
          "woba": 0.305,
          "xwoba": 0.318,
          "xba": 0.244,
          "xslg": 0.396,
          "sweet_spot_percent": 31.5,
          "barrel_batted_rate": 7.1,
          "hard_hit_percent": 44.8,
          "exit_velocity_avg": 89.8,
          "launch_angle_avg": 12.2,
          "whiff_percent": 23.7,
          "swing_percent": 47.9
        },
        "components": {
          "expected_quality": 0.3881,
          "regression_edge": 0.3714,
          "xwoba_edge": 0.4571,
          "xba_edge": 0.2286,
          "xslg_edge": 0.4143,
          "barrel_edge": 0.0889,
          "hard_hit_edge": 1.0,
          "exit_velocity_edge": 0.48,
          "sweet_spot_edge": -0.3,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "3B",
        "player_id": "687952",
        "player_name": "Christian Encarnacion-Strand",
        "offense_factor": 1.0441,
        "quality_score": 0.5886,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "687952",
          "espn_id": 5012106,
          "player_name": "Christian Encarnacion-Strand",
          "team": "BAL",
          "role": "batter",
          "espn_rank": 281,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 281,
            "gp_value": 30.0,
            "gp_rank": "450",
            "ab_value": 101.0,
            "ab_rank": "420",
            "r_value": 10.0,
            "r_rank": "427",
            "h_value": 24.0,
            "h_rank": "398",
            "avg_value": 0.2376237,
            "avg_rank": null,
            "2b_value": 4.0,
            "2b_rank": "393",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 7.0,
            "hr_rank": "231",
            "rbi_value": 25.0,
            "rbi_rank": "279",
            "tb_value": 49.0,
            "tb_rank": "2046",
            "bb_value": 5.0,
            "bb_rank": "454",
            "so_value": 29.0,
            "so_rank": "400",
            "sb_value": 1.0,
            "sb_rank": "315",
            "obp_value": 0.2777777,
            "obp_rank": "-",
            "slg_value": 0.4851485,
            "slg_rank": "-",
            "ops_value": 0.7629262,
            "ops_rank": null,
            "war_value": 0.48,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 90.0,
          "k_percent": 26.6,
          "bb_percent": 4.6,
          "woba": 0.322,
          "xwoba": 0.35,
          "xba": 0.255,
          "xslg": 0.546,
          "sweet_spot_percent": 36.5,
          "barrel_batted_rate": 17.6,
          "hard_hit_percent": 40.5,
          "exit_velocity_avg": 92.2,
          "launch_angle_avg": 17.8,
          "whiff_percent": 25.6,
          "swing_percent": 61.0
        },
        "components": {
          "expected_quality": 1.3907,
          "regression_edge": 0.8,
          "xwoba_edge": 1.3714,
          "xba_edge": 0.5429,
          "xslg_edge": 2.5,
          "barrel_edge": 2.4222,
          "hard_hit_edge": 0.3857,
          "exit_velocity_edge": 1.44,
          "sweet_spot_edge": 0.5333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "2B",
        "player_id": "702616",
        "player_name": "Jackson Holliday",
        "offense_factor": 1.01,
        "quality_score": 0.1337,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "702616",
          "espn_id": 5080633,
          "player_name": "Jackson Holliday",
          "team": "BAL",
          "role": "batter",
          "espn_rank": 248,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 248,
            "gp_value": 80.0,
            "gp_rank": "265",
            "ab_value": 242.0,
            "ab_rank": "251",
            "r_value": 36.0,
            "r_rank": "209",
            "h_value": 57.0,
            "h_rank": "251",
            "avg_value": 0.2355371,
            "avg_rank": null,
            "2b_value": 10.0,
            "2b_rank": "254",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 6.0,
            "hr_rank": "263",
            "rbi_value": 27.0,
            "rbi_rank": "270",
            "tb_value": 87.0,
            "tb_rank": "1550",
            "bb_value": 34.0,
            "bb_rank": "155",
            "so_value": 63.0,
            "so_rank": "228",
            "sb_value": 7.0,
            "sb_rank": "122",
            "obp_value": 0.325,
            "obp_rank": "-",
            "slg_value": 0.3595041,
            "slg_rank": "-",
            "ops_value": 0.6845041,
            "ops_rank": null,
            "war_value": 0.67,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 251.0,
          "k_percent": 22.4,
          "bb_percent": 12.1,
          "woba": 0.304,
          "xwoba": 0.312,
          "xba": 0.244,
          "xslg": 0.368,
          "sweet_spot_percent": 38.0,
          "barrel_batted_rate": 6.5,
          "hard_hit_percent": 34.8,
          "exit_velocity_avg": 87.1,
          "launch_angle_avg": 12.1,
          "whiff_percent": 27.5,
          "swing_percent": 44.2
        },
        "components": {
          "expected_quality": 0.1183,
          "regression_edge": 0.2286,
          "xwoba_edge": 0.2857,
          "xba_edge": 0.2286,
          "xslg_edge": 0.0143,
          "barrel_edge": -0.0444,
          "hard_hit_edge": -0.4286,
          "exit_velocity_edge": -0.6,
          "sweet_spot_edge": 0.7833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "665966",
        "player_name": "Carlos Narváez",
        "offense_factor": 0.9836,
        "quality_score": -0.2181,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "665966",
          "espn_id": 5012120,
          "player_name": "Carlos Narvaez",
          "team": "BAL",
          "role": "batter",
          "espn_rank": 640,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 640,
            "gp_value": 78.0,
            "gp_rank": "272",
            "ab_value": 213.0,
            "ab_rank": "283",
            "r_value": 17.0,
            "r_rank": "364",
            "h_value": 36.0,
            "h_rank": "344",
            "avg_value": 0.169014,
            "avg_rank": null,
            "2b_value": 7.0,
            "2b_rank": "319",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 3.0,
            "hr_rank": "353",
            "rbi_value": 10.0,
            "rbi_rank": "417",
            "tb_value": 52.0,
            "tb_rank": "2284",
            "bb_value": 16.0,
            "bb_rank": "310",
            "so_value": 80.0,
            "so_rank": "155",
            "sb_value": 1.0,
            "sb_rank": "315",
            "obp_value": 0.2436974,
            "obp_rank": "-",
            "slg_value": 0.2441314,
            "slg_rank": "-",
            "ops_value": 0.4878288,
            "ops_rank": null,
            "war_value": -1.05,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 227.0,
          "k_percent": 32.9,
          "bb_percent": 6.6,
          "woba": 0.225,
          "xwoba": 0.267,
          "xba": 0.199,
          "xslg": 0.319,
          "sweet_spot_percent": 39.0,
          "barrel_batted_rate": 7.1,
          "hard_hit_percent": 39.0,
          "exit_velocity_avg": 91.3,
          "launch_angle_avg": 18.0,
          "whiff_percent": 33.7,
          "swing_percent": 52.1
        },
        "components": {
          "expected_quality": -0.4489,
          "regression_edge": 1.2,
          "xwoba_edge": -1.0,
          "xba_edge": -1.0571,
          "xslg_edge": -0.6857,
          "barrel_edge": 0.0889,
          "hard_hit_edge": 0.1714,
          "exit_velocity_edge": 1.08,
          "sweet_spot_edge": 0.95,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "CF",
        "player_id": "681297",
        "player_name": "Colton Cowser",
        "offense_factor": 1.024,
        "quality_score": 0.3199,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "681297",
          "espn_id": 4416990,
          "player_name": "Colton Cowser",
          "team": "BAL",
          "role": "batter",
          "espn_rank": 150,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 150,
            "gp_value": 116.0,
            "gp_rank": "120",
            "ab_value": 269.0,
            "ab_rank": "229",
            "r_value": 36.0,
            "r_rank": "209",
            "h_value": 59.0,
            "h_rank": "245",
            "avg_value": 0.2193308,
            "avg_rank": null,
            "2b_value": 5.0,
            "2b_rank": "365",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 12.0,
            "hr_rank": "139",
            "rbi_value": 34.0,
            "rbi_rank": "216",
            "tb_value": 100.0,
            "tb_rank": "1589",
            "bb_value": 37.0,
            "bb_rank": "127",
            "so_value": 94.0,
            "so_rank": "107",
            "sb_value": 8.0,
            "sb_rank": "107",
            "obp_value": 0.3139158,
            "obp_rank": "-",
            "slg_value": 0.3717472,
            "slg_rank": "-",
            "ops_value": 0.685663,
            "ops_rank": null,
            "war_value": 1.43,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 291.0,
          "k_percent": 30.3,
          "bb_percent": 11.9,
          "woba": 0.307,
          "xwoba": 0.319,
          "xba": 0.215,
          "xslg": 0.418,
          "sweet_spot_percent": 31.5,
          "barrel_batted_rate": 11.2,
          "hard_hit_percent": 38.8,
          "exit_velocity_avg": 87.3,
          "launch_angle_avg": 14.0,
          "whiff_percent": 33.4,
          "swing_percent": 43.8
        },
        "components": {
          "expected_quality": 0.3162,
          "regression_edge": 0.3429,
          "xwoba_edge": 0.4857,
          "xba_edge": -0.6,
          "xslg_edge": 0.7286,
          "barrel_edge": 1.0,
          "hard_hit_edge": 0.1429,
          "exit_velocity_edge": -0.52,
          "sweet_spot_edge": -0.3,
          "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 BALTrue1060.065010.99450.98290.94600.9962neutral0.30400.306020.506.5023.70738.50
Home STLTrue64-0.590911.05020.93830.94601.1103negative_pitcher_regression0.35100.3100176.5019.409.9042.40

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away BALTrueNone9089.18219400000000-0.0374
Home STLTrueNone9087.08220400000000-0.1549
Run FactorValue
away_runs_vs_home_pitcher1.0280
home_runs_vs_away_pitcher1
home_pitcher_starter_only_factor1.0502
away_pitcher_starter_only_factor0.9945
home_pitcher_workload_share0.5556
away_pitcher_workload_share0.6296
home_pitcher_quality_edge-0.3692
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "700241",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 511.0,
      "k_percent": 17.0,
      "bb_percent": 6.5,
      "woba": 0.31,
      "xwoba": 0.351,
      "sweet_spot_percent": 32.8,
      "barrel_batted_rate": 9.9,
      "hard_hit_percent": 42.4,
      "avg_best_speed": 78.926,
      "avg_hyper_speed": 94.8424,
      "whiff_percent": 19.4,
      "swing_percent": 44.7
    },
    "league_medians": {
      "pa": 123.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.316,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.4,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.8,
      "avg_best_speed": 77.614,
      "avg_hyper_speed": 93.9187,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": -0.6027,
      "command_and_miss": -0.4764,
      "regression_edge": -1.1714,
      "xwoba_edge": -1.1429,
      "barrel_edge": -0.6222,
      "hard_hit_edge": -0.6571,
      "whiff_edge": -0.8286,
      "bb_edge": 0.675,
      "pitch_design_score": -0.1549
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "700241",
      "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": 87.08161246517682,
        "release_spin_rate": 2204.006727677546,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_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": 87.08161246517682,
          "release_spin_rate": 2204.006727677546,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.0816,
        "release_spin_rate": 2204.0067,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.1549,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -1.1065,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -0.0
      },
      "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
    },
    "quality_score": -0.5909,
    "sample_weight": 1.0,
    "run_prevention_factor": 1.0502,
    "strikeout_factor": 0.9383,
    "walk_factor": 0.946,
    "homer_factor": 1.1103,
    "woba_minus_xwoba": -0.041,
    "regression_flag": "negative_pitcher_regression",
    "espn_rank": {
      "available": true,
      "player_id": "700241",
      "espn_id": 4424141,
      "player_name": "Michael McGreevy",
      "team": "STL",
      "role": "pitcher",
      "espn_rank": 64,
      "espn_total_ranked": 831,
      "metrics": {
        "espn_rank": 64,
        "gp_value": 25.0,
        "gp_rank": 275,
        "gs_value": 25.0,
        "gs_rank": 33,
        "qs_value": 14.0,
        "qs_rank": 15,
        "era_value": 3.5388,
        "era_rank": 26.0,
        "w_value": 5.0,
        "w_rank": 123,
        "l_value": 9.0,
        "l_rank": 19,
        "sv_value": 0.0,
        "sv_rank": 241,
        "hld_value": 0.0,
        "hld_rank": 331,
        "ip_value": 137.1,
        "ip_rank": 43,
        "h_value": 130.0,
        "h_rank": 29,
        "er_value": 54.0,
        "er_rank": 70,
        "hr_value": 18.0,
        "hr_rank": 39,
        "bb_value": 36.0,
        "bb_rank": 90,
        "k_value": 95.0,
        "k_rank": 96,
        "k_per_9_value": 6.225728,
        "k_per_9_rank": 60.0,
        "whip_value": 1.2087,
        "whip_rank": 30.0,
        "war_value": 2.07,
        "war_rank": 1.0
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "669432",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 525.0,
      "k_percent": 20.5,
      "bb_percent": 6.5,
      "woba": 0.306,
      "xwoba": 0.304,
      "sweet_spot_percent": 31.8,
      "barrel_batted_rate": 7.0,
      "hard_hit_percent": 38.5,
      "avg_best_speed": 78.0335,
      "avg_hyper_speed": 93.985,
      "whiff_percent": 23.7,
      "swing_percent": 52.5
    },
    "league_medians": {
      "pa": 123.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.316,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.4,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.8,
      "avg_best_speed": 77.614,
      "avg_hyper_speed": 93.9187,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.1281,
      "command_and_miss": -0.0364,
      "regression_edge": 0.0571,
      "xwoba_edge": 0.2,
      "barrel_edge": 0.0222,
      "hard_hit_edge": -0.1,
      "whiff_edge": -0.2143,
      "bb_edge": 0.675,
      "pitch_design_score": -0.0374
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "669432",
      "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": 89.18055651401573,
        "release_spin_rate": 2193.8218174875824,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_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": 89.18055651401573,
          "release_spin_rate": 2193.8218174875824,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.1806,
        "release_spin_rate": 2193.8218,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.0374,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.2669,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -0.0
      },
      "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
    },
    "quality_score": 0.065,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9945,
    "strikeout_factor": 0.9829,
    "walk_factor": 0.946,
    "homer_factor": 0.9962,
    "woba_minus_xwoba": 0.002,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "669432",
      "espn_id": 39640,
      "player_name": "Trevor Rogers",
      "team": "BAL",
      "role": "pitcher",
      "espn_rank": 106,
      "espn_total_ranked": 831,
      "metrics": {
        "espn_rank": 106,
        "gp_value": 24.0,
        "gp_rank": 299,
        "gs_value": 24.0,
        "gs_rank": 48,
        "qs_value": 12.0,
        "qs_rank": 27,
        "era_value": 4.1381,
        "era_rank": 44.0,
        "w_value": 9.0,
        "w_rank": 29,
        "l_value": 8.0,
        "l_rank": 38,
        "sv_value": 0.0,
        "sv_rank": 241,
        "hld_value": 0.0,
        "hld_rank": 331,
        "ip_value": 132.2,
        "ip_rank": 53,
        "h_value": 128.0,
        "h_rank": 36,
        "er_value": 61.0,
        "er_rank": 44,
        "hr_value": 14.0,
        "hr_rank": 85,
        "bb_value": 36.0,
        "bb_rank": 90,
        "k_value": 114.0,
        "k_rank": 63,
        "k_per_9_value": 7.7336683,
        "k_per_9_rank": 32.0,
        "whip_value": 1.2361,
        "whip_rank": 36.0,
        "war_value": 1.52,
        "war_rank": 1.0
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 1.028,
    "home_runs_vs_away_pitcher": 1.0,
    "home_pitcher_starter_only_factor": 1.0502,
    "away_pitcher_starter_only_factor": 0.9945,
    "home_pitcher_workload_share": 0.5556,
    "away_pitcher_workload_share": 0.6296,
    "home_pitcher_quality_edge": -0.3692
  },
  "score_before": {
    "away_runs": 5.0,
    "home_runs": 3.0
  },
  "score_after": {
    "away_runs": 5.14,
    "home_runs": 2.9999,
    "home_win_probability": 0.3115
  },
  "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 BAL5-50.5004.703.50121Waverageaverage
Home STL4-60.4004.906.30-144Laverageweak

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away BAL64-680.485-23-0.174True
Home STL66-670.496-14-0.105True
Signal--0.069-0.086applied=False

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-08-25BAL @ STL13 - 1BAL12blowout

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target BAL--6----
Game target STL--3----
Player finalized BAL32841539
Player finalized STL31841438
Player model fractional BAL31.177.183.791.254.272.638.56
Player model fractional STL30.717.074.040.993.962.727.32
Simulation box BAL3811606410
Simulation box STL30431348

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 BALStarterTrevor Rogers5.2024233.751.16True
Away BALCloserAndrew Kittredge100013.331.29True
Away BALMiddle Reliever (High Leverage)Rico Garcia102101.750.79True
Away BALMiddle Reliever (High Leverage)Josh Walker0.2012103.001.34True
Away BALSetup ManYennier Cano0.2000004.971.42True
Home STLStarterMichael McGreevy546734.661.41True
Home STLSetup ManGeorge Soriano101007.141.52True
Home STLMiddle Reliever (High Leverage)Justin Bruihl101003.231.32True
Home STLCloserRiley O'Brien111217.531.60True
Home STLMiddle Reliever (High Leverage)Ryne Stanek111205.291.28True
Market-line comparison is not rendered because no local odds or sportsbook line CSV was found in data/. Add a real odds source before using market deltas as a model feature.

Player Boost/Deboost Impact Summary

SideTeamRolePosPlayerDominantChangedBoostedDeboostedBetterWorseLargest MetricLargest DeltaDirectionEffect
awayBALbatterCCarlos Narváezdeboosted104655predicted_H2.7000boostbetter
homeSTLbatter2BJosé Fermínbetter97263predicted_RBI2.6290boostbetter
homeSTLbatterLFBryan Torresworse82617predicted_SO2.4640boostworse
awayBALbatterDHPete Alonsobetter108282predicted_RBI2.3100boostbetter
awayBALbatterCFColton Cowserworse92718predicted_SO2.0880boostworse
awayBALbatterSSGunnar Hendersonworse93645predicted_AB-1.6700deboostworse
awayBALbatter1BSamuel Basalloworse115647predicted_AB1.6290boostbetter
homeSTLbatterRFJordan Walkerworse103737predicted_AB-1.3800deboostworse
homeSTLbatterDHIván Herreraworse114756predicted_AB-1.2800deboostworse
homeSTLbatterCFNathan Churchbetter115665predicted_H1.1300boostbetter
awayBALbatter3BChristian Encarnacion-Strandneutral84444predicted_H1.0900boostbetter
homeSTLbatter1BAlec Burlesonworse103728predicted_H-1.0900deboostworse
homeSTLbatterSSJJ Wetherholtworse92718predicted_H-1.0700deboostworse
awayBALbatter2BJackson Hollidayworse103728predicted_H-0.9600deboostworse
homeSTLbatterCJimmy Crooksworse101928predicted_SO-0.9570deboostbetter
awayBALbatterLFDylan Beaversworse116556predicted_AB0.9310boostbetter
awayBALbatterRFLeody Taverasworse114738predicted_AB0.7340boostbetter
homeSTLbatter3BNolan Gormanworse1111029predicted_BB0.6130boostbetter
awayBALpitcherStarterTrevor Rogersworse10101predicted_IP-0.4667deboostworse
awayBALpitcherMiddle Reliever (High Leverage)Josh Walkerworse10101predicted_IP-0.4667deboostworse
awayBALpitcherSetup ManYennier Canoworse10101predicted_IP-0.4667deboostworse

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

Away Team: BAL

Away Pitcher Deep Analysis

FieldValue
PitcherTrevor Rogers
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.0650
ESPN Rank106
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0374
Avg Velo89.1806
Avg Spin2193.8218
HB Inches0
IVB Inches0
Release Extension0
Pre IP5.2000
Pre ER2
Pre H2
Pre BB3
Pre SO4
Season ERA4.1382
Season WHIP1.2362
Role Avg IP5.5280
Recent Avg IP5.8000
Last Start IP7
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "BAL",
    "games": 132,
    "wins": 64,
    "losses": 68,
    "win_pct": 0.4848,
    "runs_scored": 596.0,
    "runs_allowed": 619.0,
    "run_differential": -23.0,
    "run_differential_per_game": -0.1742,
    "avg_runs_scored": 4.5152,
    "avg_runs_allowed": 4.6894,
    "offense_index": 1.0079,
    "defense_index": 0.9553,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 3.5,
      "run_differential": 12.0
    },
    "available": true,
    "quality_score": -0.0343
  },
  "opponent": {
    "team": "STL",
    "games": 133,
    "wins": 66,
    "losses": 67,
    "win_pct": 0.4962,
    "runs_scored": 586.0,
    "runs_allowed": 600.0,
    "run_differential": -14.0,
    "run_differential_per_game": -0.1053,
    "avg_runs_scored": 4.406,
    "avg_runs_allowed": 4.5113,
    "offense_index": 0.9836,
    "defense_index": 0.993,
    "current_streak": "L4",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.9,
      "avg_runs_allowed": 6.3,
      "run_differential": -14.0
    },
    "available": true,
    "quality_score": -0.0512
  },
  "edges": {
    "quality_edge": 0.0169,
    "offense_edge": 0.0079,
    "opponent_offense_edge": -0.0164,
    "defense_strength": -0.0447,
    "opponent_defense_weakness": 0.007,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0,
    "run_prevention": 1.001,
    "strikeout": 1.0018
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "669432",
    "profile": {
      "available": true,
      "pitcher_id": "669432",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 525.0,
        "k_percent": 20.5,
        "bb_percent": 6.5,
        "woba": 0.306,
        "xwoba": 0.304,
        "sweet_spot_percent": 31.8,
        "barrel_batted_rate": 7.0,
        "hard_hit_percent": 38.5,
        "avg_best_speed": 78.0335,
        "avg_hyper_speed": 93.985,
        "whiff_percent": 23.7,
        "swing_percent": 52.5
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.1281,
        "command_and_miss": -0.0364,
        "regression_edge": 0.0571,
        "xwoba_edge": 0.2,
        "barrel_edge": 0.0222,
        "hard_hit_edge": -0.1,
        "whiff_edge": -0.2143,
        "bb_edge": 0.675,
        "pitch_design_score": -0.0374
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "669432",
        "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": 89.18055651401573,
          "release_spin_rate": 2193.8218174875824,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 89.18055651401573,
            "release_spin_rate": 2193.8218174875824,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.1806,
          "release_spin_rate": 2193.8218,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0374,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.2669,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.065,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9945,
      "strikeout_factor": 0.9829,
      "walk_factor": 0.946,
      "homer_factor": 0.9962,
      "woba_minus_xwoba": 0.002,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "669432",
        "espn_id": 39640,
        "player_name": "Trevor Rogers",
        "team": "BAL",
        "role": "pitcher",
        "espn_rank": 106,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 106,
          "gp_value": 24.0,
          "gp_rank": 299,
          "gs_value": 24.0,
          "gs_rank": 48,
          "qs_value": 12.0,
          "qs_rank": 27,
          "era_value": 4.1381,
          "era_rank": 44.0,
          "w_value": 9.0,
          "w_rank": 29,
          "l_value": 8.0,
          "l_rank": 38,
          "sv_value": 0.0,
          "sv_rank": 241,
          "hld_value": 0.0,
          "hld_rank": 331,
          "ip_value": 132.2,
          "ip_rank": 53,
          "h_value": 128.0,
          "h_rank": 36,
          "er_value": 61.0,
          "er_rank": 44,
          "hr_value": 14.0,
          "hr_rank": 85,
          "bb_value": 36.0,
          "bb_rank": 90,
          "k_value": 114.0,
          "k_rank": 63,
          "k_per_9_value": 7.7336683,
          "k_per_9_rank": 32.0,
          "whip_value": 1.2361,
          "whip_rank": 36.0,
          "war_value": 1.52,
          "war_rank": 1.0
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 3.0,
        "factor": 0.9945,
        "adjusted": 3
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 0.9945,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.946,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 0.9962,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 6.0,
        "factor": 0.9829,
        "adjusted": 6
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 59.2,
    "ER": 18,
    "H": 53,
    "BB": 12,
    "SO": 60,
    "HR": 5,
    "ERA": 2.7150837988826817,
    "WHIP": 1.0893854748603353,
    "K9": 9.050279329608939,
    "HR9": 0.7541899441340782,
    "games_pitched": 10,
    "quality_starts": 7,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-21T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "669432",
  "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": 89.18055651401573,
    "release_spin_rate": 2193.8218174875824,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 89.18055651401573,
      "release_spin_rate": 2193.8218174875824,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.1806,
    "release_spin_rate": 2193.8218,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0374,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.2669,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": 24.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8276,
    "prior_weight": 0.1724
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "669432",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 24,
  "reference_playing_time": 5.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 29.0,
        "ER": 13.0,
        "R": 16.0,
        "H": 28.0,
        "BB": 4.0,
        "SO": 31.0,
        "HR": 4.0,
        "BF": 121.0,
        "Pitches": 467.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 2.6,
        "R": 3.2,
        "H": 5.6,
        "BB": 0.8,
        "SO": 6.2,
        "HR": 0.8,
        "BF": 24.2,
        "Pitches": 93.4
      },
      "rates": {
        "ERA": 4.0345,
        "WHIP": 1.1034,
        "ER_per_IP": 0.44828,
        "H_per_IP": 0.96552,
        "BB_per_IP": 0.13793,
        "SO_per_IP": 1.06897,
        "HR_per_IP": 0.13793
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 59.2,
        "ER": 18.0,
        "R": 21.0,
        "H": 53.0,
        "BB": 12.0,
        "SO": 60.0,
        "HR": 5.0,
        "BF": 243.0,
        "Pitches": 923.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 1.8,
        "R": 2.1,
        "H": 5.3,
        "BB": 1.2,
        "SO": 6.0,
        "HR": 0.5,
        "BF": 24.3,
        "Pitches": 92.3
      },
      "rates": {
        "ERA": 2.7151,
        "WHIP": 1.0894,
        "ER_per_IP": 0.30168,
        "H_per_IP": 0.88827,
        "BB_per_IP": 0.20112,
        "SO_per_IP": 1.00559,
        "HR_per_IP": 0.0838
      }
    },
    "season": {
      "games": 24,
      "totals": {
        "IP": 132.2,
        "ER": 61.0,
        "R": 66.0,
        "H": 128.0,
        "BB": 36.0,
        "SO": 114.0,
        "HR": 14.0,
        "BF": 556.0,
        "Pitches": 2156.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 2.5417,
        "R": 2.75,
        "H": 5.3333,
        "BB": 1.5,
        "SO": 4.75,
        "HR": 0.5833,
        "BF": 23.1667,
        "Pitches": 89.8333
      },
      "rates": {
        "ERA": 4.1382,
        "WHIP": 1.2362,
        "ER_per_IP": 0.4598,
        "H_per_IP": 0.96482,
        "BB_per_IP": 0.27136,
        "SO_per_IP": 0.8593,
        "HR_per_IP": 0.10553
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.2,
    "predicted_ER": 2.402,
    "predicted_H": 5.444,
    "predicted_BB": 1.256,
    "predicted_SO": 5.732,
    "predicted_HR": 0.682,
    "predicted_ERA": 3.7508,
    "predicted_WHIP": 1.1625
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4228,
  "form_weight": 0.5772,
  "form_reliability": 0.8276,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 24.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8276,
    "prior_weight": 0.1724
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.2,
      "form": 5.2,
      "final": 5.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 2.402,
      "final": 2.232,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 5.444,
      "final": 3.9877,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 3.0,
      "form": 1.256,
      "final": 1.9934,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 4.0,
      "form": 5.732,
      "final": 4.9996,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.682,
      "final": 0.8165,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.7508,
      "final": 3.7508,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1625,
      "final": 1.1625,
      "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
PitcherAndrew Kittredge
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.0561
ESPN Rank699
Movement AvailableTrue
Primary Pitch-
Movement Score0.1226
Avg Velo92.0377
Avg Spin2479.6139
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB1
Pre SO0
Season ERA3.4322
Season WHIP1.3475
Role Avg IP0.8740
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "BAL",
    "games": 132,
    "wins": 64,
    "losses": 68,
    "win_pct": 0.4848,
    "runs_scored": 596.0,
    "runs_allowed": 619.0,
    "run_differential": -23.0,
    "run_differential_per_game": -0.1742,
    "avg_runs_scored": 4.5152,
    "avg_runs_allowed": 4.6894,
    "offense_index": 1.0079,
    "defense_index": 0.9553,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 3.5,
      "run_differential": 12.0
    },
    "available": true,
    "quality_score": -0.0343
  },
  "opponent": {
    "team": "STL",
    "games": 133,
    "wins": 66,
    "losses": 67,
    "win_pct": 0.4962,
    "runs_scored": 586.0,
    "runs_allowed": 600.0,
    "run_differential": -14.0,
    "run_differential_per_game": -0.1053,
    "avg_runs_scored": 4.406,
    "avg_runs_allowed": 4.5113,
    "offense_index": 0.9836,
    "defense_index": 0.993,
    "current_streak": "L4",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.9,
      "avg_runs_allowed": 6.3,
      "run_differential": -14.0
    },
    "available": true,
    "quality_score": -0.0512
  },
  "edges": {
    "quality_edge": 0.0169,
    "offense_edge": 0.0079,
    "opponent_offense_edge": -0.0164,
    "defense_strength": -0.0447,
    "opponent_defense_weakness": 0.007,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0,
    "run_prevention": 1.001,
    "strikeout": 1.0018
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "552640",
    "profile": {
      "available": true,
      "pitcher_id": "552640",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 164.0,
        "k_percent": 18.9,
        "bb_percent": 6.3,
        "woba": 0.308,
        "xwoba": 0.304,
        "sweet_spot_percent": 35.9,
        "barrel_batted_rate": 5.3,
        "hard_hit_percent": 37.4,
        "avg_best_speed": 76.5425,
        "avg_hyper_speed": 93.8477,
        "whiff_percent": 23.4,
        "swing_percent": 53.8
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.1819,
        "command_and_miss": -0.1443,
        "regression_edge": 0.1143,
        "xwoba_edge": 0.2,
        "barrel_edge": 0.4,
        "hard_hit_edge": 0.0571,
        "whiff_edge": -0.2571,
        "bb_edge": 0.725,
        "pitch_design_score": 0.1226
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "552640",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 11,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 11,
          "pitch_usage": 0.0,
          "release_speed": 92.03772068536738,
          "release_spin_rate": 2479.6138552070406,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 11,
            "pitch_usage": 0.0,
            "release_speed": 92.03772068536738,
            "release_spin_rate": 2479.6138552070406,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0377,
          "release_spin_rate": 2479.6139,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1226,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.8759,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.0561,
      "sample_weight": 0.656,
      "run_prevention_factor": 0.9952,
      "strikeout_factor": 0.9816,
      "walk_factor": 0.962,
      "homer_factor": 0.9736,
      "woba_minus_xwoba": 0.004,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "552640",
        "espn_id": 35872,
        "player_name": "Andrew Kittredge",
        "team": "BAL",
        "role": "pitcher",
        "espn_rank": 699,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 699,
          "gp_value": 45.0,
          "gp_rank": 112,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 3.4322,
          "era_rank": null,
          "w_value": 2.0,
          "w_rank": 293,
          "l_value": 3.0,
          "l_rank": 219,
          "sv_value": 6.0,
          "sv_rank": 34,
          "hld_value": 9.0,
          "hld_rank": 89,
          "ip_value": 39.1,
          "ip_rank": 353,
          "h_value": 43.0,
          "h_rank": 267,
          "er_value": 15.0,
          "er_rank": 385,
          "hr_value": 5.0,
          "hr_rank": 289,
          "bb_value": 10.0,
          "bb_rank": 455,
          "k_value": 33.0,
          "k_rank": 372,
          "k_per_9_value": 7.5508475,
          "k_per_9_rank": 28.0,
          "whip_value": 1.3474,
          "whip_rank": null,
          "war_value": -0.34,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9969,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9969,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9751,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9827,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9879,
        "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": 3,
    "H": 10,
    "BB": 1,
    "SO": 5,
    "HR": 0,
    "ERA": 3.115384615384615,
    "WHIP": 1.2692307692307692,
    "K9": 5.192307692307692,
    "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-22T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "552640",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 11,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 11,
    "pitch_usage": 0.0,
    "release_speed": 92.03772068536738,
    "release_spin_rate": 2479.6138552070406,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 11,
      "pitch_usage": 0.0,
      "release_speed": 92.03772068536738,
      "release_spin_rate": 2479.6138552070406,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0377,
    "release_spin_rate": 2479.6139,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1226,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.8759,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.894,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6122,
    "prior_weight": 0.3878
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "552640",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 45,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 6.0,
        "BB": 0.0,
        "SO": 4.0,
        "HR": 0.0,
        "BF": 21.0,
        "Pitches": 63.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 1.2,
        "BB": 0.0,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 4.2,
        "Pitches": 12.6
      },
      "rates": {
        "ERA": 1.8,
        "WHIP": 1.2,
        "ER_per_IP": 0.2,
        "H_per_IP": 1.2,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.8,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.2,
        "ER": 3.0,
        "R": 4.0,
        "H": 10.0,
        "BB": 1.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 38.0,
        "Pitches": 114.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3,
        "R": 0.4,
        "H": 1.0,
        "BB": 0.1,
        "SO": 0.5,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 11.4
      },
      "rates": {
        "ERA": 3.1154,
        "WHIP": 1.2692,
        "ER_per_IP": 0.34615,
        "H_per_IP": 1.15385,
        "BB_per_IP": 0.11538,
        "SO_per_IP": 0.57692,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 45,
      "totals": {
        "IP": 39.1,
        "ER": 15.0,
        "R": 25.0,
        "H": 43.0,
        "BB": 10.0,
        "SO": 33.0,
        "HR": 5.0,
        "BF": 174.0,
        "Pitches": 572.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3333,
        "R": 0.5556,
        "H": 0.9556,
        "BB": 0.2222,
        "SO": 0.7333,
        "HR": 0.1111,
        "BF": 3.8667,
        "Pitches": 12.7111
      },
      "rates": {
        "ERA": 3.4322,
        "WHIP": 1.3475,
        "ER_per_IP": 0.38136,
        "H_per_IP": 1.09322,
        "BB_per_IP": 0.25424,
        "SO_per_IP": 0.83898,
        "HR_per_IP": 0.12712
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.37,
    "predicted_H": 1.09,
    "predicted_BB": 0.198,
    "predicted_SO": 0.813,
    "predicted_HR": 0.072,
    "predicted_ERA": 3.3312,
    "predicted_WHIP": 1.2882
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5138,
  "form_weight": 0.4862,
  "form_reliability": 0.6122,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 7.894,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6122,
    "prior_weight": 0.3878
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.37,
      "final": 0.1799,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.09,
      "final": 0.5299,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.198,
      "final": 0.6101,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.813,
      "final": 0.3952,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.072,
      "final": 0.035,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.3312,
      "final": 3.3312,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2882,
      "final": 1.2882,
      "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
PitcherRico Garcia
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5658
ESPN Rank150
Movement AvailableTrue
Primary Pitch-
Movement Score0.0050
Avg Velo89.9375
Avg Spin2438.3634
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H1
Pre BB0
Pre SO2
Season ERA2.5868
Season WHIP0.8263
Role Avg IP0.9280
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "BAL",
    "games": 132,
    "wins": 64,
    "losses": 68,
    "win_pct": 0.4848,
    "runs_scored": 596.0,
    "runs_allowed": 619.0,
    "run_differential": -23.0,
    "run_differential_per_game": -0.1742,
    "avg_runs_scored": 4.5152,
    "avg_runs_allowed": 4.6894,
    "offense_index": 1.0079,
    "defense_index": 0.9553,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 3.5,
      "run_differential": 12.0
    },
    "available": true,
    "quality_score": -0.0343
  },
  "opponent": {
    "team": "STL",
    "games": 133,
    "wins": 66,
    "losses": 67,
    "win_pct": 0.4962,
    "runs_scored": 586.0,
    "runs_allowed": 600.0,
    "run_differential": -14.0,
    "run_differential_per_game": -0.1053,
    "avg_runs_scored": 4.406,
    "avg_runs_allowed": 4.5113,
    "offense_index": 0.9836,
    "defense_index": 0.993,
    "current_streak": "L4",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.9,
      "avg_runs_allowed": 6.3,
      "run_differential": -14.0
    },
    "available": true,
    "quality_score": -0.0512
  },
  "edges": {
    "quality_edge": 0.0169,
    "offense_edge": 0.0079,
    "opponent_offense_edge": -0.0164,
    "defense_strength": -0.0447,
    "opponent_defense_weakness": 0.007,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0,
    "run_prevention": 1.001,
    "strikeout": 1.0018
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "670329",
    "profile": {
      "available": true,
      "pitcher_id": "670329",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 205.0,
        "k_percent": 26.4,
        "bb_percent": 8.3,
        "woba": 0.249,
        "xwoba": 0.271,
        "sweet_spot_percent": 22.9,
        "barrel_batted_rate": 6.4,
        "hard_hit_percent": 34.3,
        "avg_best_speed": 74.8332,
        "avg_hyper_speed": 93.1567,
        "whiff_percent": 33.0,
        "swing_percent": 49.4
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.0103,
        "command_and_miss": 0.7179,
        "regression_edge": -0.6286,
        "xwoba_edge": 1.1429,
        "barrel_edge": 0.1556,
        "hard_hit_edge": 0.5,
        "whiff_edge": 1.1143,
        "bb_edge": 0.225,
        "pitch_design_score": 0.005
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "670329",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 16,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 16,
          "pitch_usage": 0.0,
          "release_speed": 89.9374680165762,
          "release_spin_rate": 2438.363421040626,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 16,
            "pitch_usage": 0.0,
            "release_speed": 89.9374680165762,
            "release_spin_rate": 2438.363421040626,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.9375,
          "release_spin_rate": 2438.3634,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.005,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.0358,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.5658,
      "sample_weight": 0.82,
      "run_prevention_factor": 0.9519,
      "strikeout_factor": 1.0572,
      "walk_factor": 0.9852,
      "homer_factor": 0.9453,
      "woba_minus_xwoba": -0.022,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "670329",
        "espn_id": 41382,
        "player_name": "Rico Garcia",
        "team": "BAL",
        "role": "pitcher",
        "espn_rank": 150,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 150,
          "gp_value": 61.0,
          "gp_rank": 12,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 3.2335,
          "era_rank": null,
          "w_value": 5.0,
          "w_rank": 123,
          "l_value": 1.0,
          "l_rank": 403,
          "sv_value": 6.0,
          "sv_rank": 34,
          "hld_value": 15.0,
          "hld_rank": 29,
          "ip_value": 55.2,
          "ip_rank": 230,
          "h_value": 32.0,
          "h_rank": 366,
          "er_value": 20.0,
          "er_rank": 289,
          "hr_value": 9.0,
          "hr_rank": 163,
          "bb_value": 18.0,
          "bb_rank": 301,
          "k_value": 57.0,
          "k_rank": 220,
          "k_per_9_value": 9.2155695,
          "k_per_9_rank": 25.0,
          "whip_value": 0.8982,
          "whip_rank": null,
          "war_value": 1.1,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9606,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9606,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9879,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9551,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0469,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 8.1,
    "ER": 0,
    "H": 2,
    "BB": 3,
    "SO": 8,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.6000000000000001,
    "K9": 8.64,
    "HR9": 0.0,
    "games_pitched": 9,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-22T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "670329",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 16,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 16,
    "pitch_usage": 0.0,
    "release_speed": 89.9374680165762,
    "release_spin_rate": 2438.363421040626,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 16,
      "pitch_usage": 0.0,
      "release_speed": 89.9374680165762,
      "release_spin_rate": 2438.363421040626,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.9375,
    "release_spin_rate": 2438.3634,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.005,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.0358,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.172,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6908,
    "prior_weight": 0.3092
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "670329",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 60,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 1.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 17.0,
        "Pitches": 68.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.2,
        "BB": 0.2,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 3.4,
        "Pitches": 13.6
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.4,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.2,
        "BB_per_IP": 0.2,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 2.0,
        "BB": 3.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 32.0,
        "Pitches": 130.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.2,
        "BB": 0.3,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 3.2,
        "Pitches": 13.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.5556,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.22222,
        "BB_per_IP": 0.33333,
        "SO_per_IP": 0.88889,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 60,
      "totals": {
        "IP": 55.2,
        "ER": 16.0,
        "R": 19.0,
        "H": 29.0,
        "BB": 17.0,
        "SO": 57.0,
        "HR": 9.0,
        "BF": 212.0,
        "Pitches": 802.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2667,
        "R": 0.3167,
        "H": 0.4833,
        "BB": 0.2833,
        "SO": 0.95,
        "HR": 0.15,
        "BF": 3.5333,
        "Pitches": 13.3667
      },
      "rates": {
        "ERA": 2.5868,
        "WHIP": 0.8263,
        "ER_per_IP": 0.28743,
        "H_per_IP": 0.52096,
        "BB_per_IP": 0.30539,
        "SO_per_IP": 1.02395,
        "HR_per_IP": 0.16168
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.195,
    "predicted_H": 0.489,
    "predicted_BB": 0.299,
    "predicted_SO": 0.96,
    "predicted_HR": 0.068,
    "predicted_ERA": 1.7507,
    "predicted_WHIP": 0.7879
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4806,
  "form_weight": 0.5194,
  "form_reliability": 0.6908,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.172,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6908,
    "prior_weight": 0.3092
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.195,
      "final": 0.1013,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.489,
      "final": 0.7346,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.299,
      "final": 0.1553,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 0.96,
      "final": 1.4599,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.068,
      "final": 0.0353,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.7507,
      "final": 1.7507,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.7879,
      "final": 0.7879,
      "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 Walker
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.0878
ESPN Rank282
Movement AvailableTrue
Primary Pitch-
Movement Score-0.1273
Avg Velo87.5746
Avg Spin2084.9401
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.2000
Pre ER1
Pre H1
Pre BB0
Pre SO2
Season ERA2.5472
Season WHIP1.2453
Role Avg IP1.0390
Recent Avg IP0.7330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "BAL",
    "games": 132,
    "wins": 64,
    "losses": 68,
    "win_pct": 0.4848,
    "runs_scored": 596.0,
    "runs_allowed": 619.0,
    "run_differential": -23.0,
    "run_differential_per_game": -0.1742,
    "avg_runs_scored": 4.5152,
    "avg_runs_allowed": 4.6894,
    "offense_index": 1.0079,
    "defense_index": 0.9553,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 3.5,
      "run_differential": 12.0
    },
    "available": true,
    "quality_score": -0.0343
  },
  "opponent": {
    "team": "STL",
    "games": 133,
    "wins": 66,
    "losses": 67,
    "win_pct": 0.4962,
    "runs_scored": 586.0,
    "runs_allowed": 600.0,
    "run_differential": -14.0,
    "run_differential_per_game": -0.1053,
    "avg_runs_scored": 4.406,
    "avg_runs_allowed": 4.5113,
    "offense_index": 0.9836,
    "defense_index": 0.993,
    "current_streak": "L4",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.9,
      "avg_runs_allowed": 6.3,
      "run_differential": -14.0
    },
    "available": true,
    "quality_score": -0.0512
  },
  "edges": {
    "quality_edge": 0.0169,
    "offense_edge": 0.0079,
    "opponent_offense_edge": -0.0164,
    "defense_strength": -0.0447,
    "opponent_defense_weakness": 0.007,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0,
    "run_prevention": 1.001,
    "strikeout": 1.0018
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "677020",
    "profile": {
      "available": true,
      "pitcher_id": "677020",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 69.0,
        "k_percent": 21.6,
        "bb_percent": 8.1,
        "woba": 0.305,
        "xwoba": 0.278,
        "sweet_spot_percent": 31.4,
        "barrel_batted_rate": 5.9,
        "hard_hit_percent": 41.2,
        "avg_best_speed": 81.0786,
        "avg_hyper_speed": 93.5335,
        "whiff_percent": 19.4,
        "swing_percent": 50.5
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.3498,
        "command_and_miss": -0.2607,
        "regression_edge": 0.7714,
        "xwoba_edge": 0.9429,
        "barrel_edge": 0.2667,
        "hard_hit_edge": -0.4857,
        "whiff_edge": -0.8286,
        "bb_edge": 0.275,
        "pitch_design_score": -0.1273
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "677020",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 11,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 11,
          "pitch_usage": 0.0,
          "release_speed": 87.57458130398645,
          "release_spin_rate": 2084.9401075761502,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 11,
            "pitch_usage": 0.0,
            "release_speed": 87.57458130398645,
            "release_spin_rate": 2084.9401075761502,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.5746,
          "release_spin_rate": 2084.9401,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.1273,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.9093,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.0878,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9925,
      "strikeout_factor": 0.9841,
      "walk_factor": 0.9901,
      "homer_factor": 0.9864,
      "woba_minus_xwoba": 0.027,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "677020",
        "espn_id": 4917841,
        "player_name": "Josh Walker",
        "team": "BAL",
        "role": "pitcher",
        "espn_rank": 282,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 282,
          "gp_value": 17.0,
          "gp_rank": 405,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 2.5471,
          "era_rank": null,
          "w_value": 1.0,
          "w_rank": 387,
          "l_value": 0.0,
          "l_rank": 554,
          "sv_value": 0.0,
          "sv_rank": 241,
          "hld_value": 2.0,
          "hld_rank": 221,
          "ip_value": 17.2,
          "ip_rank": 508,
          "h_value": 16.0,
          "h_rank": 529,
          "er_value": 5.0,
          "er_rank": 620,
          "hr_value": 2.0,
          "hr_rank": 486,
          "bb_value": 6.0,
          "bb_rank": 557,
          "k_value": 16.0,
          "k_rank": 500,
          "k_per_9_value": 8.150944,
          "k_per_9_rank": 26.0,
          "whip_value": 1.2452,
          "whip_rank": null,
          "war_value": 0.36,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9966,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9966,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9955,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9939,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9928,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 8.1,
    "ER": 1,
    "H": 7,
    "BB": 4,
    "SO": 8,
    "HR": 1,
    "ERA": 1.08,
    "WHIP": 1.3200000000000003,
    "K9": 8.64,
    "HR9": 1.08,
    "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-22T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "677020",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 11,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 11,
    "pitch_usage": 0.0,
    "release_speed": 87.57458130398645,
    "release_spin_rate": 2084.9401075761502,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 11,
      "pitch_usage": 0.0,
      "release_speed": 87.57458130398645,
      "release_spin_rate": 2084.9401075761502,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.5746,
    "release_spin_rate": 2084.9401,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.1273,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.9093,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": 3.546,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4149,
    "prior_weight": 0.5851
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "677020",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 17,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 3.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 3.0,
        "BB": 2.0,
        "SO": 4.0,
        "HR": 0.0,
        "BF": 16.0,
        "Pitches": 65.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.6,
        "BB": 0.4,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 3.2,
        "Pitches": 13.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 1.3636,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.81818,
        "BB_per_IP": 0.54545,
        "SO_per_IP": 1.09091,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 7.0,
        "BB": 4.0,
        "SO": 8.0,
        "HR": 1.0,
        "BF": 35.0,
        "Pitches": 131.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.1,
        "R": 0.1,
        "H": 0.7,
        "BB": 0.4,
        "SO": 0.8,
        "HR": 0.1,
        "BF": 3.5,
        "Pitches": 13.1
      },
      "rates": {
        "ERA": 1.08,
        "WHIP": 1.32,
        "ER_per_IP": 0.12,
        "H_per_IP": 0.84,
        "BB_per_IP": 0.48,
        "SO_per_IP": 0.96,
        "HR_per_IP": 0.12
      }
    },
    "season": {
      "games": 17,
      "totals": {
        "IP": 17.2,
        "ER": 5.0,
        "R": 6.0,
        "H": 16.0,
        "BB": 6.0,
        "SO": 16.0,
        "HR": 2.0,
        "BF": 74.0,
        "Pitches": 285.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2941,
        "R": 0.3529,
        "H": 0.9412,
        "BB": 0.3529,
        "SO": 0.9412,
        "HR": 0.1176,
        "BF": 4.3529,
        "Pitches": 16.7647
      },
      "rates": {
        "ERA": 2.5472,
        "WHIP": 1.2453,
        "ER_per_IP": 0.28302,
        "H_per_IP": 0.90566,
        "BB_per_IP": 0.33962,
        "SO_per_IP": 0.90566,
        "HR_per_IP": 0.11321
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.232,
    "predicted_H": 0.639,
    "predicted_BB": 0.288,
    "predicted_SO": 0.675,
    "predicted_HR": 0.078,
    "predicted_ERA": 3.0048,
    "predicted_WHIP": 1.3351
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5972,
  "form_weight": 0.4028,
  "form_reliability": 0.4149,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.546,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4149,
    "prior_weight": 0.5851
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.232,
      "final": 0.6907,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.639,
      "final": 0.8546,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.288,
      "final": 0.116,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 0.675,
      "final": 1.4663,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.078,
      "final": 0.0314,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.0048,
      "final": 3.0048,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3351,
      "final": 1.3351,
      "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
PitcherYennier Cano
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.3237
ESPN Rank248
Movement AvailableTrue
Primary Pitch-
Movement Score0.1461
Avg Velo92.4575
Avg Spin1986.5885
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.2000
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA2.3571
Season WHIP0.9286
Role Avg IP0.7780
Recent Avg IP0.6670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "BAL",
    "games": 132,
    "wins": 64,
    "losses": 68,
    "win_pct": 0.4848,
    "runs_scored": 596.0,
    "runs_allowed": 619.0,
    "run_differential": -23.0,
    "run_differential_per_game": -0.1742,
    "avg_runs_scored": 4.5152,
    "avg_runs_allowed": 4.6894,
    "offense_index": 1.0079,
    "defense_index": 0.9553,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 3.5,
      "run_differential": 12.0
    },
    "available": true,
    "quality_score": -0.0343
  },
  "opponent": {
    "team": "STL",
    "games": 133,
    "wins": 66,
    "losses": 67,
    "win_pct": 0.4962,
    "runs_scored": 586.0,
    "runs_allowed": 600.0,
    "run_differential": -14.0,
    "run_differential_per_game": -0.1053,
    "avg_runs_scored": 4.406,
    "avg_runs_allowed": 4.5113,
    "offense_index": 0.9836,
    "defense_index": 0.993,
    "current_streak": "L4",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.9,
      "avg_runs_allowed": 6.3,
      "run_differential": -14.0
    },
    "available": true,
    "quality_score": -0.0512
  },
  "edges": {
    "quality_edge": 0.0169,
    "offense_edge": 0.0079,
    "opponent_offense_edge": -0.0164,
    "defense_strength": -0.0447,
    "opponent_defense_weakness": 0.007,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0,
    "run_prevention": 1.001,
    "strikeout": 1.0018
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "666974",
    "profile": {
      "available": true,
      "pitcher_id": "666974",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 168.0,
        "k_percent": 22.0,
        "bb_percent": 5.2,
        "woba": 0.249,
        "xwoba": 0.274,
        "sweet_spot_percent": 25.0,
        "barrel_batted_rate": 5.8,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2506,
        "avg_hyper_speed": 94.1242,
        "whiff_percent": 26.5,
        "swing_percent": 45.2
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.8439,
        "command_and_miss": 0.265,
        "regression_edge": -0.7143,
        "xwoba_edge": 1.0571,
        "barrel_edge": 0.2889,
        "hard_hit_edge": -0.1286,
        "whiff_edge": 0.1857,
        "bb_edge": 1.0,
        "pitch_design_score": 0.1461
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "666974",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 16,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 16,
          "pitch_usage": 0.0,
          "release_speed": 92.45752254999793,
          "release_spin_rate": 1986.5884631096485,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 16,
            "pitch_usage": 0.0,
            "release_speed": 92.45752254999793,
            "release_spin_rate": 1986.5884631096485,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.4575,
          "release_spin_rate": 1986.5885,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1461,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.0439,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.3237,
      "sample_weight": 0.672,
      "run_prevention_factor": 0.9725,
      "strikeout_factor": 1.005,
      "walk_factor": 0.9462,
      "homer_factor": 0.9666,
      "woba_minus_xwoba": -0.025,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "666974",
        "espn_id": 35536,
        "player_name": "Yennier Cano",
        "team": "BAL",
        "role": "pitcher",
        "espn_rank": 248,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 248,
          "gp_value": 56.0,
          "gp_rank": 38,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 3.2142,
          "era_rank": null,
          "w_value": 2.0,
          "w_rank": 293,
          "l_value": 3.0,
          "l_rank": 219,
          "sv_value": 2.0,
          "sv_rank": 84,
          "hld_value": 11.0,
          "hld_rank": 64,
          "ip_value": 42.0,
          "ip_rank": 329,
          "h_value": 36.0,
          "h_rank": 330,
          "er_value": 15.0,
          "er_rank": 385,
          "hr_value": 1.0,
          "hr_rank": 584,
          "bb_value": 10.0,
          "bb_rank": 455,
          "k_value": 38.0,
          "k_rank": 340,
          "k_per_9_value": 8.142858,
          "k_per_9_rank": 27.0,
          "whip_value": 1.0952,
          "whip_rank": null,
          "war_value": 0.5,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9815,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9815,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9638,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9776,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0034,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 7.1,
    "ER": 3,
    "H": 6,
    "BB": 2,
    "SO": 9,
    "HR": 0,
    "ERA": 3.681818181818182,
    "WHIP": 1.090909090909091,
    "K9": 11.045454545454547,
    "HR9": 0.0,
    "games_pitched": 9,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "666974",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 16,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 16,
    "pitch_usage": 0.0,
    "release_speed": 92.45752254999793,
    "release_spin_rate": 1986.5884631096485,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 16,
      "pitch_usage": 0.0,
      "release_speed": 92.45752254999793,
      "release_spin_rate": 1986.5884631096485,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.4575,
    "release_spin_rate": 1986.5885,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1461,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.0439,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.429,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6277,
    "prior_weight": 0.3723
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "666974",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 54,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 3.1,
        "ER": 3.0,
        "R": 3.0,
        "H": 5.0,
        "BB": 2.0,
        "SO": 4.0,
        "HR": 0.0,
        "BF": 17.0,
        "Pitches": 73.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.6,
        "R": 0.6,
        "H": 1.0,
        "BB": 0.4,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 3.4,
        "Pitches": 14.6
      },
      "rates": {
        "ERA": 8.1,
        "WHIP": 2.1,
        "ER_per_IP": 0.9,
        "H_per_IP": 1.5,
        "BB_per_IP": 0.6,
        "SO_per_IP": 1.2,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.1,
        "ER": 3.0,
        "R": 3.0,
        "H": 6.0,
        "BB": 2.0,
        "SO": 10.0,
        "HR": 0.0,
        "BF": 33.0,
        "Pitches": 138.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.3,
        "R": 0.3,
        "H": 0.6,
        "BB": 0.2,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 3.3,
        "Pitches": 13.8
      },
      "rates": {
        "ERA": 3.24,
        "WHIP": 0.96,
        "ER_per_IP": 0.36,
        "H_per_IP": 0.72,
        "BB_per_IP": 0.24,
        "SO_per_IP": 1.2,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 54,
      "totals": {
        "IP": 42.0,
        "ER": 11.0,
        "R": 14.0,
        "H": 30.0,
        "BB": 9.0,
        "SO": 38.0,
        "HR": 1.0,
        "BF": 166.0,
        "Pitches": 638.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.2037,
        "R": 0.2593,
        "H": 0.5556,
        "BB": 0.1667,
        "SO": 0.7037,
        "HR": 0.0185,
        "BF": 3.0741,
        "Pitches": 11.8148
      },
      "rates": {
        "ERA": 2.3571,
        "WHIP": 0.9286,
        "ER_per_IP": 0.2619,
        "H_per_IP": 0.71429,
        "BB_per_IP": 0.21429,
        "SO_per_IP": 0.90476,
        "HR_per_IP": 0.02381
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.368,
    "predicted_H": 0.69,
    "predicted_BB": 0.257,
    "predicted_SO": 0.712,
    "predicted_HR": 0.038,
    "predicted_ERA": 4.9734,
    "predicted_WHIP": 1.4205
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5073,
  "form_weight": 0.4927,
  "form_reliability": 0.6277,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 8.429,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6277,
    "prior_weight": 0.3723
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.368,
      "final": 0.1813,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.69,
      "final": 0.34,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.257,
      "final": 0.1266,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.712,
      "final": 0.3508,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.038,
      "final": 0.0187,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.9734,
      "final": 4.9734,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4205,
      "final": 1.4205,
      "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."
}
Pete Alonso (624413) · BATTER · DH · Team BAL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 555
All-history rows before 20260827: 555
System season_avg: 0.2780
Data season_avg (2026 season-to-date): 0.2757
Diff (system - data): 0.0023
System opponent_avg: 0.2780

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1781.0000.000Hitting_2B0.1960.0000.8041.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.7605.0004.000Hitting_AB3.8114.0001.1891.000
predicted_AVG0.2780.6000.250Hitting_AVG0.2760.2500.3240.350
predicted_BB0.4730.0001.000Hitting_BB0.4991.000-0.499-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0090.000-0.0090.000
predicted_H1.0473.0001.000Hitting_H1.0501.0001.9502.000
predicted_HR0.2400.0001.000Hitting_HR0.2321.000-0.232-1.000
predicted_OBP0.3590.6000.400Hitting_OBP0.3660.4000.2340.200
predicted_R0.6051.0001.000Hitting_R0.6311.0000.3690.000
predicted_RBI0.6903.0001.000Hitting_RBI0.6792.0002.3211.000
predicted_SLG0.5180.8001.000Hitting_SLG0.5101.0000.290-0.200
predicted_SO1.0471.0001.000Hitting_SO1.0681.000-0.0680.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics8
Deboosted Metrics2
Better Metrics8
Worse Metrics2
Biggest Boostpredicted_RBI: 0.6900 -> 3.0000 (boost 2.3100, better)
Biggest Deboostpredicted_BB: 0.4730 -> 0.0000 (deboost -0.4730, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend75261predicted_H: 1.0470 -> 1.1814 (boost 0.1344, better)predicted_SO: 1.0470 -> 0.9552 (deboost -0.0918, 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_scaling72525predicted_RBI: 0.7898 -> 1.0000 (boost 0.2102, better)predicted_BB: 0.4093 -> 0.0000 (deboost -0.4093, worse)AB rounded to 4 (raw=3.79), rates preserved: AVG=0.313 HR/AB=0.072
5consistency_constraints11010predicted_R: 0.6150 -> 1.0000 (boost 0.3850, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation22020predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context42222predicted_SLG: 0.5763 -> 0.5840 (boost 0.0077, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference44040predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final10101-predicted_SLG: 0.5840 -> 0.5763 (deboost -0.0077, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "624413",
  "player_name": "Pete Alonso",
  "position": "DH",
  "team": "BAL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.178,
        "predicted_3B": 0.0,
        "predicted_AB": 3.76,
        "predicted_AVG": 0.278,
        "predicted_BB": 0.473,
        "predicted_H": 1.047,
        "predicted_HR": 0.24,
        "predicted_OBP": 0.359,
        "predicted_R": 0.605,
        "predicted_RBI": 0.69,
        "predicted_SLG": 0.518,
        "predicted_SO": 1.047
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1815,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.7922,
        "predicted_AVG": 0.3109,
        "predicted_BB": 0.409,
        "predicted_H": 1.1814,
        "predicted_HBP": 0.056,
        "predicted_HR": 0.2713,
        "predicted_OBP": 0.3827,
        "predicted_R": 0.6098,
        "predicted_RBI": 0.7831,
        "predicted_SLG": 0.5742,
        "predicted_SO": 0.9552
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.178,
          "after": 0.1815,
          "delta": 0.0035,
          "percent_delta": 0.0197,
          "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.76,
          "after": 3.7922,
          "delta": 0.0322,
          "percent_delta": 0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.278,
          "after": 0.3109,
          "delta": 0.0329,
          "percent_delta": 0.1183,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.473,
          "after": 0.409,
          "delta": -0.064,
          "percent_delta": -0.1353,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.047,
          "after": 1.1814,
          "delta": 0.1344,
          "percent_delta": 0.1284,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.24,
          "after": 0.2713,
          "delta": 0.0313,
          "percent_delta": 0.1304,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.359,
          "after": 0.3827,
          "delta": 0.0237,
          "percent_delta": 0.066,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.605,
          "after": 0.6098,
          "delta": 0.0048,
          "percent_delta": 0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.69,
          "after": 0.7831,
          "delta": 0.0931,
          "percent_delta": 0.1349,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.518,
          "after": 0.5742,
          "delta": 0.0562,
          "percent_delta": 0.1085,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.047,
          "after": 0.9552,
          "delta": -0.0918,
          "percent_delta": -0.0877,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 5,
        "deboosted_metrics": 2,
        "better_metrics": 6,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.047,
          "after": 1.1814,
          "delta": 0.1344,
          "percent_delta": 0.1284,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.047,
          "after": 0.9552,
          "delta": -0.0918,
          "percent_delta": -0.0877,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 129
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1815,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.7922,
        "predicted_AVG": 0.3131,
        "predicted_BB": 0.4093,
        "predicted_H": 1.1873,
        "predicted_HBP": 0.056,
        "predicted_HR": 0.272,
        "predicted_OBP": 0.38,
        "predicted_R": 0.615,
        "predicted_RBI": 0.7898,
        "predicted_SLG": 0.5763,
        "predicted_SO": 0.9544
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1815,
          "after": 0.1815,
          "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.7922,
          "after": 3.7922,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3109,
          "after": 0.3131,
          "delta": 0.0022,
          "percent_delta": 0.0071,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.409,
          "after": 0.4093,
          "delta": 0.0003,
          "percent_delta": 0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1814,
          "after": 1.1873,
          "delta": 0.0059,
          "percent_delta": 0.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.056,
          "after": 0.056,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2713,
          "after": 0.272,
          "delta": 0.0007,
          "percent_delta": 0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3827,
          "after": 0.38,
          "delta": -0.0027,
          "percent_delta": -0.0071,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6098,
          "after": 0.615,
          "delta": 0.0052,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7831,
          "after": 0.7898,
          "delta": 0.0067,
          "percent_delta": 0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5742,
          "after": 0.5763,
          "delta": 0.0021,
          "percent_delta": 0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.9552,
          "after": 0.9544,
          "delta": -0.0008,
          "percent_delta": -0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.79), rates preserved: AVG=0.313 HR/AB=0.072",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1815,
          "after": 0.0,
          "delta": -0.1815,
          "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.7922,
          "after": 4.0,
          "delta": 0.2078,
          "percent_delta": 0.0548,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4093,
          "after": 0.0,
          "delta": -0.4093,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1873,
          "after": 1.0,
          "delta": -0.1873,
          "percent_delta": -0.1578,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.056,
          "after": 0.0,
          "delta": -0.056,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.272,
          "after": 0.0,
          "delta": -0.272,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7898,
          "after": 1.0,
          "delta": 0.2102,
          "percent_delta": 0.2661,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9544,
          "after": 1.0,
          "delta": 0.0456,
          "percent_delta": 0.0478,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.7898,
          "after": 1.0,
          "delta": 0.2102,
          "percent_delta": 0.2661,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4093,
          "after": 0.0,
          "delta": -0.4093,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.615,
          "after": 1.0,
          "delta": 0.385,
          "percent_delta": 0.626,
          "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.615,
          "after": 1.0,
          "delta": 0.385,
          "percent_delta": 0.626,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.313,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.385,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.584,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3131,
          "after": 0.313,
          "delta": -0.0001,
          "percent_delta": -0.0003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.38,
          "after": 0.385,
          "delta": 0.005,
          "percent_delta": 0.0132,
          "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.5763,
          "after": 0.584,
          "delta": 0.0077,
          "percent_delta": 0.0134,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.5763,
          "after": 0.584,
          "delta": 0.0077,
          "percent_delta": 0.0134,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 3.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.3131,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.38,
        "predicted_R": 1.0,
        "predicted_RBI": 3.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5763,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.313,
          "after": 0.3131,
          "delta": 0.0001,
          "percent_delta": 0.0003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.385,
          "after": 0.38,
          "delta": -0.005,
          "percent_delta": -0.013,
          "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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.584,
          "after": 0.5763,
          "delta": -0.0077,
          "percent_delta": -0.0131,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.584,
          "after": 0.5763,
          "delta": -0.0077,
          "percent_delta": -0.0131,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.178,
        "after": 1.0,
        "delta": 0.822,
        "percent_delta": 4.618,
        "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.76,
        "after": 5.0,
        "delta": 1.24,
        "percent_delta": 0.3298,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.278,
        "after": 0.3131,
        "delta": 0.0351,
        "percent_delta": 0.1263,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.473,
        "after": 0.0,
        "delta": -0.473,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.047,
        "after": 3.0,
        "delta": 1.953,
        "percent_delta": 1.8653,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.24,
        "after": 0.0,
        "delta": -0.24,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.359,
        "after": 0.38,
        "delta": 0.021,
        "percent_delta": 0.0585,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.605,
        "after": 1.0,
        "delta": 0.395,
        "percent_delta": 0.6529,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.69,
        "after": 3.0,
        "delta": 2.31,
        "percent_delta": 3.3478,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.518,
        "after": 0.5763,
        "delta": 0.0583,
        "percent_delta": 0.1125,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.047,
        "after": 1.0,
        "delta": -0.047,
        "percent_delta": -0.0449,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 8,
      "deboosted_metrics": 2,
      "better_metrics": 8,
      "worse_metrics": 2,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.69,
        "after": 3.0,
        "delta": 2.31,
        "percent_delta": 3.3478,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.473,
        "after": 0.0,
        "delta": -0.473,
        "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.178-
predicted_3B0.000-
predicted_AB3.760-
predicted_AVG0.278-
predicted_BB0.473-
predicted_H1.047-
predicted_HR0.240-
predicted_OBP0.359-
predicted_R0.605-
predicted_RBI0.690-
predicted_SLG0.518-
predicted_SO1.047-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1810.004
predicted_3B0.0000.000
predicted_AB3.7920.032
predicted_AVG0.3110.033
predicted_BB0.409-0.064
predicted_H1.1810.134
predicted_HBP0.056-
predicted_HR0.2710.031
predicted_OBP0.3830.024
predicted_R0.6100.005
predicted_RBI0.7830.093
predicted_SLG0.5740.056
predicted_SO0.955-0.092
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1810.000
predicted_3B0.0000.000
predicted_AB3.7920.000
predicted_AVG0.3130.002
predicted_BB0.4090.000
predicted_H1.1870.006
predicted_HBP0.0560.000
predicted_HR0.2720.001
predicted_OBP0.380-0.003
predicted_R0.6150.005
predicted_RBI0.7900.007
predicted_SLG0.5760.002
predicted_SO0.954-0.001
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.79), rates preserved: AVG=0.313 HR/AB=0.072

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
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
H1.0000.000
HR1.0001.000
R1.0000.000
RBI1.0000.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.181
predicted_3B0.000-0.000
predicted_AB4.0000.208
predicted_AVG0.313-0.000
predicted_BB0.000-0.409
predicted_H1.000-0.187
predicted_HR0.000-0.272
predicted_OBP0.3850.005
predicted_R1.0000.385
predicted_RBI1.0000.210
predicted_SLG0.5840.008
predicted_SO1.0000.046
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB5.0001.000
BB0.000-1.000
CS0.0000.000
H3.0002.000
HBP0.0000.000
HR0.000-1.000
PA5.000-
R1.0000.000
RBI3.0002.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 129
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.00010.0001.0000.0002.0007.0003.0000.0002.0000.50000.50000.85000.50000.10000.35000.00000.1000
last_100.2010-39.00018.0002.0000.0005.00012.0007.0002.0006.0000.46150.50000.89740.46150.12820.30770.05130.1538
season0.60129-485.000135.00023.0000.00031.00089.00078.00061.000135.0000.27840.36560.51750.27830.06390.18350.12580.2783
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1860
predicted_3B0.0010
predicted_AB3.8340
predicted_AVG0.3537
predicted_BB0.3260
predicted_H1.3560
predicted_HBP0.0560
predicted_HR0.3120
predicted_OBP0.4135
predicted_R0.6160
predicted_RBI0.9040
predicted_SLG0.6471
predicted_SO0.8360
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17800.18600.1815model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.76003.83403.7922model_form_blend
predicted_AVG0.27800.35370.3109model_form_blend
predicted_BB0.47300.32600.4090model_form_blend
predicted_H1.04701.35601.1814model_form_blend
predicted_HBP-0.05600.0560form_only
predicted_HR0.24000.31200.2713model_form_blend
predicted_OBP0.35900.41350.3827model_form_blend
predicted_R0.60500.61600.6098model_form_blend
predicted_RBI0.69000.90400.7831model_form_blend
predicted_SLG0.51800.64710.5742model_form_blend
predicted_SO1.04700.83600.9552model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H3
2B1
3B0
HR0
R1
RBI3
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB1
Hitting_R1
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB4
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260826_BAL@STL
game_typefull
mlbID624413
playerID624413
playerNamePete Alonso
pos1B
startedTrue
startingPositionDH
teamBAL
teamID3
game_date2026-08-26
sl_k_percent24.2
sl_bb_percent11.2
sl_woba0.371
sl_xwoba0.392
sl_xba0.284
sl_xslg0.545
sl_sweet_spot_percent36.1
sl_barrel_batted_rate13.8
sl_hard_hit_percent56.8
sl_exit_velocity_avg94.1
sl_launch_angle_avg14.9
sl_whiff_percent27.6
sl_swing_percent45.0
Samuel Basallo (694212) · BATTER · 1B · Team BAL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 318
All-history rows before 20260827: 318
System season_avg: 0.2330
Data season_avg (2026 season-to-date): 0.2463
Diff (system - data): -0.0133
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.1010.0000.000Hitting_2B0.1130.000-0.1130.000
predicted_3B0.0110.0000.000Hitting_3B0.0130.000-0.0130.000
predicted_AB3.3715.0003.000Hitting_AB3.5754.0001.4251.000
predicted_AVG0.2330.2000.333Hitting_AVG0.2460.500-0.046-0.300
predicted_BB0.2700.0000.000Hitting_BB0.3401.000-0.340-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7871.0001.000Hitting_H0.8812.0000.119-1.000
predicted_HR0.1910.0000.000Hitting_HR0.2140.000-0.2140.000
predicted_OBP0.2900.2000.333Hitting_OBP0.3140.600-0.114-0.400
predicted_R0.3931.0000.000Hitting_R0.4561.0000.5440.000
predicted_RBI0.5391.0001.000Hitting_RBI0.5940.0000.4061.000
predicted_SLG0.4400.2000.333Hitting_SLG0.4640.500-0.264-0.300
predicted_SO1.0112.0001.000Hitting_SO1.0752.0000.9250.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_AB: 3.3710 -> 5.0000 (boost 1.6290, better)
Biggest Deboostpredicted_BB: 0.2700 -> 0.0000 (deboost -0.2700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend51405predicted_SO: 1.0110 -> 1.0701 (boost 0.0591, worse)predicted_H: 0.7870 -> 0.7049 (deboost -0.0821, worse)Final model input calibrated 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_scaling81726predicted_H: 0.7084 -> 1.0000 (boost 0.2916, better)predicted_RBI: 0.5114 -> 0.0000 (deboost -0.5114, worse)AB rounded to 3 (raw=3.37), rates preserved: AVG=0.210 HR/AB=0.057
5consistency_constraints10101-predicted_R: 0.3684 -> 0.0000 (deboost -0.3684, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context10101-predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference44031predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "694212",
  "player_name": "Samuel Basallo",
  "position": "1B",
  "team": "BAL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.101,
        "predicted_3B": 0.011,
        "predicted_AB": 3.371,
        "predicted_AVG": 0.233,
        "predicted_BB": 0.27,
        "predicted_H": 0.787,
        "predicted_HR": 0.191,
        "predicted_OBP": 0.29,
        "predicted_R": 0.393,
        "predicted_RBI": 0.539,
        "predicted_SLG": 0.44,
        "predicted_SO": 1.011
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local 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.0093,
        "predicted_AB": 3.3595,
        "predicted_AVG": 0.2095,
        "predicted_BB": 0.2343,
        "predicted_H": 0.7049,
        "predicted_HBP": 0.053,
        "predicted_HR": 0.191,
        "predicted_OBP": 0.2642,
        "predicted_R": 0.3653,
        "predicted_RBI": 0.5071,
        "predicted_SLG": 0.4117,
        "predicted_SO": 1.0701
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.101,
          "after": 0.087,
          "delta": -0.014,
          "percent_delta": -0.1386,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.011,
          "after": 0.0093,
          "delta": -0.0017,
          "percent_delta": -0.1545,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.371,
          "after": 3.3595,
          "delta": -0.0115,
          "percent_delta": -0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.233,
          "after": 0.2095,
          "delta": -0.0235,
          "percent_delta": -0.1009,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.27,
          "after": 0.2343,
          "delta": -0.0357,
          "percent_delta": -0.1322,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.787,
          "after": 0.7049,
          "delta": -0.0821,
          "percent_delta": -0.1043,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.191,
          "after": 0.191,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.29,
          "after": 0.2642,
          "delta": -0.0258,
          "percent_delta": -0.089,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.393,
          "after": 0.3653,
          "delta": -0.0277,
          "percent_delta": -0.0705,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.539,
          "after": 0.5071,
          "delta": -0.0319,
          "percent_delta": -0.0592,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.44,
          "after": 0.4117,
          "delta": -0.0283,
          "percent_delta": -0.0643,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.011,
          "after": 1.0701,
          "delta": 0.0591,
          "percent_delta": 0.0585,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.011,
          "after": 1.0701,
          "delta": 0.0591,
          "percent_delta": 0.0585,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.787,
          "after": 0.7049,
          "delta": -0.0821,
          "percent_delta": -0.1043,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 89
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.087,
        "predicted_3B": 0.0093,
        "predicted_AB": 3.3595,
        "predicted_AVG": 0.2109,
        "predicted_BB": 0.2345,
        "predicted_H": 0.7084,
        "predicted_HBP": 0.053,
        "predicted_HR": 0.1915,
        "predicted_OBP": 0.2624,
        "predicted_R": 0.3684,
        "predicted_RBI": 0.5114,
        "predicted_SLG": 0.4133,
        "predicted_SO": 1.0692
      },
      "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.0093,
          "after": 0.0093,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3595,
          "after": 3.3595,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2095,
          "after": 0.2109,
          "delta": 0.0014,
          "percent_delta": 0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2343,
          "after": 0.2345,
          "delta": 0.0002,
          "percent_delta": 0.0009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7049,
          "after": 0.7084,
          "delta": 0.0035,
          "percent_delta": 0.005,
          "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.191,
          "after": 0.1915,
          "delta": 0.0005,
          "percent_delta": 0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2642,
          "after": 0.2624,
          "delta": -0.0018,
          "percent_delta": -0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3653,
          "after": 0.3684,
          "delta": 0.0031,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5071,
          "after": 0.5114,
          "delta": 0.0043,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4117,
          "after": 0.4133,
          "delta": 0.0016,
          "percent_delta": 0.0039,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0701,
          "after": 1.0692,
          "delta": -0.0009,
          "percent_delta": -0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.37), rates preserved: AVG=0.210 HR/AB=0.057",
      "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.0093,
          "after": 0.0,
          "delta": -0.0093,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3595,
          "after": 3.0,
          "delta": -0.3595,
          "percent_delta": -0.107,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2345,
          "after": 0.0,
          "delta": -0.2345,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7084,
          "after": 1.0,
          "delta": 0.2916,
          "percent_delta": 0.4116,
          "direction": "boost",
          "projection_effect": "better",
          "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.1915,
          "after": 0.0,
          "delta": -0.1915,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5114,
          "after": 0.0,
          "delta": -0.5114,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0692,
          "after": 1.0,
          "delta": -0.0692,
          "percent_delta": -0.0647,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 1,
        "deboosted_metrics": 7,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7084,
          "after": 1.0,
          "delta": 0.2916,
          "percent_delta": 0.4116,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5114,
          "after": 0.0,
          "delta": -0.5114,
          "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.3684,
          "after": 0.0,
          "delta": -0.3684,
          "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.3684,
          "after": 0.0,
          "delta": -0.3684,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.21,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.267,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.412,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2109,
          "after": 0.21,
          "delta": -0.0009,
          "percent_delta": -0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2624,
          "after": 0.267,
          "delta": 0.0046,
          "percent_delta": 0.0175,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4133,
          "after": 0.412,
          "delta": -0.0013,
          "percent_delta": -0.0031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 5.0,
          "delta": 2.0,
          "percent_delta": 0.6667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 5.0,
          "delta": 2.0,
          "percent_delta": 0.6667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2109,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2624,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4133,
        "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.21,
          "after": 0.2109,
          "delta": 0.0009,
          "percent_delta": 0.0042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.267,
          "after": 0.2624,
          "delta": -0.0046,
          "percent_delta": -0.0174,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.412,
          "after": 0.4133,
          "delta": 0.0013,
          "percent_delta": 0.0031,
          "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": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.101,
        "after": 0.0,
        "delta": -0.101,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.011,
        "after": 0.0,
        "delta": -0.011,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.371,
        "after": 5.0,
        "delta": 1.629,
        "percent_delta": 0.4832,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.233,
        "after": 0.2109,
        "delta": -0.0221,
        "percent_delta": -0.0948,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.27,
        "after": 0.0,
        "delta": -0.27,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.787,
        "after": 1.0,
        "delta": 0.213,
        "percent_delta": 0.2706,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.191,
        "after": 0.0,
        "delta": -0.191,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.29,
        "after": 0.2624,
        "delta": -0.0276,
        "percent_delta": -0.0952,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.393,
        "after": 1.0,
        "delta": 0.607,
        "percent_delta": 1.5445,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.539,
        "after": 1.0,
        "delta": 0.461,
        "percent_delta": 0.8553,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.44,
        "after": 0.4133,
        "delta": -0.0267,
        "percent_delta": -0.0607,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.011,
        "after": 2.0,
        "delta": 0.989,
        "percent_delta": 0.9782,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.371,
        "after": 5.0,
        "delta": 1.629,
        "percent_delta": 0.4832,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.27,
        "after": 0.0,
        "delta": -0.27,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.101-
predicted_3B0.011-
predicted_AB3.371-
predicted_AVG0.233-
predicted_BB0.270-
predicted_H0.787-
predicted_HR0.191-
predicted_OBP0.290-
predicted_R0.393-
predicted_RBI0.539-
predicted_SLG0.440-
predicted_SO1.011-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.087-0.014
predicted_3B0.009-0.002
predicted_AB3.360-0.011
predicted_AVG0.209-0.024
predicted_BB0.234-0.036
predicted_H0.705-0.082
predicted_HBP0.053-
predicted_HR0.1910.000
predicted_OBP0.264-0.026
predicted_R0.365-0.028
predicted_RBI0.507-0.032
predicted_SLG0.412-0.028
predicted_SO1.0700.059
3. team_form_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.0090.000
predicted_AB3.3600.000
predicted_AVG0.2110.001
predicted_BB0.2340.000
predicted_H0.7080.004
predicted_HBP0.0530.000
predicted_HR0.1920.001
predicted_OBP0.262-0.002
predicted_R0.3680.003
predicted_RBI0.5110.004
predicted_SLG0.4130.002
predicted_SO1.069-0.001
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.37), rates preserved: AVG=0.210 HR/AB=0.057

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI1.0001.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.087
predicted_3B0.000-0.009
predicted_AB3.000-0.360
predicted_AVG0.210-0.001
predicted_BB0.000-0.234
predicted_H1.0000.292
predicted_HR0.000-0.192
predicted_OBP0.2670.005
predicted_R0.000-0.368
predicted_RBI0.000-0.511
predicted_SLG0.412-0.001
predicted_SO1.000-0.069
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0002.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0001.000
RBI1.0000.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 89
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0001.0000.0000.0001.0002.0001.0000.0007.0000.06250.06250.25000.06250.06250.12500.00000.4375
last_100.2010-32.0003.0000.0000.0002.0003.0002.0001.00014.0000.09380.17140.28120.09380.06250.09380.03120.4375
season0.6089-300.00070.0009.0001.00017.00048.00035.00024.00090.0000.23330.29270.44000.23330.05670.16000.08000.3000
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0680
predicted_3B0.0070
predicted_AB3.3440
predicted_AVG0.1777
predicted_BB0.1860
predicted_H0.5940
predicted_HBP0.0530
predicted_HR0.1910
predicted_OBP0.2293
predicted_R0.3280
predicted_RBI0.4640
predicted_SLG0.3734
predicted_SO1.1500
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.10100.06800.0870model_form_blend
predicted_3B0.01100.00700.0093model_form_blend
predicted_AB3.37103.34403.3595model_form_blend
predicted_AVG0.23300.17770.2095model_form_blend
predicted_BB0.27000.18600.2343model_form_blend
predicted_H0.78700.59400.7049model_form_blend
predicted_HBP-0.05300.0530form_only
predicted_HR0.19100.19100.1910model_form_blend
predicted_OBP0.29000.22930.2642model_form_blend
predicted_R0.39300.32800.3653model_form_blend
predicted_RBI0.53900.46400.5071model_form_blend
predicted_SLG0.44000.37340.4117model_form_blend
predicted_SO1.01101.15001.0701model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB2
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260826_BAL@STL
game_typefull
mlbID694212
playerID694212
playerNameSamuel Basallo
posC
startedTrue
startingPosition1B
teamBAL
teamID3
game_date2026-08-26
sl_k_percent27.0
sl_bb_percent8.0
sl_woba0.314
sl_xwoba0.321
sl_xba0.235
sl_xslg0.447
sl_sweet_spot_percent31.3
sl_barrel_batted_rate13.0
sl_hard_hit_percent43.8
sl_exit_velocity_avg90.4
sl_launch_angle_avg10.1
sl_whiff_percent31.7
sl_swing_percent53.3
Dylan Beavers (687637) · BATTER · LF · Team BAL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 245
All-history rows before 20260827: 245
System season_avg: 0.2490
Data season_avg (2026 season-to-date): 0.2566
Diff (system - data): -0.0076
System opponent_avg: 0.2490

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1940.0001.000Hitting_2B0.2081.000-0.208-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.0694.0003.000Hitting_AB3.3884.0000.6120.000
predicted_AVG0.2490.0000.333Hitting_AVG0.2570.500-0.257-0.500
predicted_BB0.2921.0000.000Hitting_BB0.3391.0000.6610.000
predicted_CS-0.0000.000BaseRunning_CS0.0860.000-0.0860.000
predicted_H0.7640.0001.000Hitting_H0.8692.000-0.869-2.000
predicted_HR0.0830.0000.000Hitting_HR0.0780.000-0.0780.000
predicted_OBP0.3140.2000.333Hitting_OBP0.3300.600-0.130-0.400
predicted_R0.3610.0000.000Hitting_R0.3921.000-0.392-1.000
predicted_RBI0.4030.0001.000Hitting_RBI0.3921.000-0.392-1.000
predicted_SLG0.3940.0000.667Hitting_SLG0.3870.750-0.387-0.750
predicted_SO0.9171.0001.000Hitting_SO0.9470.0000.0531.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_AB: 3.0690 -> 4.0000 (boost 0.9310, better)
Biggest Deboostpredicted_H: 0.7640 -> 0.0000 (deboost -0.7640, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend44040predicted_RBI: 0.4030 -> 0.4887 (boost 0.0857, 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_scaling72516predicted_H: 0.7994 -> 1.0000 (boost 0.2006, better)predicted_RBI: 0.4929 -> 0.0000 (deboost -0.4929, worse)AB rounded to 3 (raw=3.07), rates preserved: AVG=0.260 HR/AB=0.042
5consistency_constraints10101-predicted_R: 0.3931 -> 0.0000 (deboost -0.3931, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation22020predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context31212predicted_SLG: 0.4582 -> 0.4640 (boost 0.0058, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference32121predicted_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
9current_json_final10101-predicted_SLG: 0.4640 -> 0.4582 (deboost -0.0058, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "687637",
  "player_name": "Dylan Beavers",
  "position": "LF",
  "team": "BAL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.194,
        "predicted_3B": 0.0,
        "predicted_AB": 3.069,
        "predicted_AVG": 0.249,
        "predicted_BB": 0.292,
        "predicted_H": 0.764,
        "predicted_HR": 0.083,
        "predicted_OBP": 0.314,
        "predicted_R": 0.361,
        "predicted_RBI": 0.403,
        "predicted_SLG": 0.394,
        "predicted_SO": 0.917
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2116,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.0548,
        "predicted_AVG": 0.2605,
        "predicted_BB": 0.2769,
        "predicted_H": 0.7954,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.129,
        "predicted_OBP": 0.3233,
        "predicted_R": 0.3898,
        "predicted_RBI": 0.4887,
        "predicted_SLG": 0.4574,
        "predicted_SO": 0.9153
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.194,
          "after": 0.2116,
          "delta": 0.0176,
          "percent_delta": 0.0907,
          "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.069,
          "after": 3.0548,
          "delta": -0.0142,
          "percent_delta": -0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.249,
          "after": 0.2605,
          "delta": 0.0115,
          "percent_delta": 0.0462,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.292,
          "after": 0.2769,
          "delta": -0.0151,
          "percent_delta": -0.0517,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.764,
          "after": 0.7954,
          "delta": 0.0314,
          "percent_delta": 0.0411,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.083,
          "after": 0.129,
          "delta": 0.046,
          "percent_delta": 0.5542,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.314,
          "after": 0.3233,
          "delta": 0.0093,
          "percent_delta": 0.0296,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.361,
          "after": 0.3898,
          "delta": 0.0288,
          "percent_delta": 0.0798,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.403,
          "after": 0.4887,
          "delta": 0.0857,
          "percent_delta": 0.2127,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.394,
          "after": 0.4574,
          "delta": 0.0634,
          "percent_delta": 0.1609,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.917,
          "after": 0.9153,
          "delta": -0.0017,
          "percent_delta": -0.0019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.403,
          "after": 0.4887,
          "delta": 0.0857,
          "percent_delta": 0.2127,
          "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": 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.2116,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.0548,
        "predicted_AVG": 0.2617,
        "predicted_BB": 0.2771,
        "predicted_H": 0.7994,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.1293,
        "predicted_OBP": 0.3231,
        "predicted_R": 0.3931,
        "predicted_RBI": 0.4929,
        "predicted_SLG": 0.4582,
        "predicted_SO": 0.9146
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2116,
          "after": 0.2116,
          "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.0548,
          "after": 3.0548,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2605,
          "after": 0.2617,
          "delta": 0.0012,
          "percent_delta": 0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2769,
          "after": 0.2771,
          "delta": 0.0002,
          "percent_delta": 0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7954,
          "after": 0.7994,
          "delta": 0.004,
          "percent_delta": 0.005,
          "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.129,
          "after": 0.1293,
          "delta": 0.0003,
          "percent_delta": 0.0023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3233,
          "after": 0.3231,
          "delta": -0.0002,
          "percent_delta": -0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3898,
          "after": 0.3931,
          "delta": 0.0033,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4887,
          "after": 0.4929,
          "delta": 0.0042,
          "percent_delta": 0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4574,
          "after": 0.4582,
          "delta": 0.0008,
          "percent_delta": 0.0017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.9153,
          "after": 0.9146,
          "delta": -0.0007,
          "percent_delta": -0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.07), rates preserved: AVG=0.260 HR/AB=0.042",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2116,
          "after": 0.0,
          "delta": -0.2116,
          "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.0548,
          "after": 3.0,
          "delta": -0.0548,
          "percent_delta": -0.0179,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2771,
          "after": 0.0,
          "delta": -0.2771,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7994,
          "after": 1.0,
          "delta": 0.2006,
          "percent_delta": 0.2509,
          "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.1293,
          "after": 0.0,
          "delta": -0.1293,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4929,
          "after": 0.0,
          "delta": -0.4929,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9146,
          "after": 1.0,
          "delta": 0.0854,
          "percent_delta": 0.0934,
          "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.7994,
          "after": 1.0,
          "delta": 0.2006,
          "percent_delta": 0.2509,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4929,
          "after": 0.0,
          "delta": -0.4929,
          "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.3931,
          "after": 0.0,
          "delta": -0.3931,
          "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.3931,
          "after": 0.0,
          "delta": -0.3931,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.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": 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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.26,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.327,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.464,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2617,
          "after": 0.26,
          "delta": -0.0017,
          "percent_delta": -0.0065,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.327,
          "delta": 0.0039,
          "percent_delta": 0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4582,
          "after": 0.464,
          "delta": 0.0058,
          "percent_delta": 0.0127,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.4582,
          "after": 0.464,
          "delta": 0.0058,
          "percent_delta": 0.0127,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2617,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.3231,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4582,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.26,
          "after": 0.2617,
          "delta": 0.0017,
          "percent_delta": 0.0065,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 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.327,
          "after": 0.3231,
          "delta": -0.0039,
          "percent_delta": -0.012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.464,
          "after": 0.4582,
          "delta": -0.0058,
          "percent_delta": -0.0125,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.464,
          "after": 0.4582,
          "delta": -0.0058,
          "percent_delta": -0.0125,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.194,
        "after": 0.0,
        "delta": -0.194,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.069,
        "after": 4.0,
        "delta": 0.931,
        "percent_delta": 0.3034,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.249,
        "after": 0.2617,
        "delta": 0.0127,
        "percent_delta": 0.051,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.292,
        "after": 1.0,
        "delta": 0.708,
        "percent_delta": 2.4247,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.764,
        "after": 0.0,
        "delta": -0.764,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.083,
        "after": 0.0,
        "delta": -0.083,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.314,
        "after": 0.3231,
        "delta": 0.0091,
        "percent_delta": 0.029,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.361,
        "after": 0.0,
        "delta": -0.361,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.403,
        "after": 0.0,
        "delta": -0.403,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.394,
        "after": 0.4582,
        "delta": 0.0642,
        "percent_delta": 0.1629,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.917,
        "after": 1.0,
        "delta": 0.083,
        "percent_delta": 0.0905,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.069,
        "after": 4.0,
        "delta": 0.931,
        "percent_delta": 0.3034,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.764,
        "after": 0.0,
        "delta": -0.764,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.194-
predicted_3B0.000-
predicted_AB3.069-
predicted_AVG0.249-
predicted_BB0.292-
predicted_H0.764-
predicted_HR0.083-
predicted_OBP0.314-
predicted_R0.361-
predicted_RBI0.403-
predicted_SLG0.394-
predicted_SO0.917-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2120.018
predicted_3B0.0000.000
predicted_AB3.055-0.014
predicted_AVG0.2610.012
predicted_BB0.277-0.015
predicted_H0.7950.031
predicted_HBP0.017-
predicted_HR0.1290.046
predicted_OBP0.3230.009
predicted_R0.3900.029
predicted_RBI0.4890.086
predicted_SLG0.4570.063
predicted_SO0.915-0.002
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2120.000
predicted_3B0.0000.000
predicted_AB3.0550.000
predicted_AVG0.2620.001
predicted_BB0.2770.000
predicted_H0.7990.004
predicted_HBP0.0170.000
predicted_HR0.1290.000
predicted_OBP0.323-0.000
predicted_R0.3930.003
predicted_RBI0.4930.004
predicted_SLG0.4580.001
predicted_SO0.915-0.001
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.07), rates preserved: AVG=0.260 HR/AB=0.042

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

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

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI1.0001.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.212
predicted_3B0.000-0.000
predicted_AB3.000-0.055
predicted_AVG0.260-0.002
predicted_BB0.000-0.277
predicted_H1.0000.201
predicted_HR0.000-0.129
predicted_OBP0.3270.004
predicted_R0.000-0.393
predicted_RBI0.000-0.493
predicted_SLG0.4640.006
predicted_SO1.0000.085
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.0001.000
BB1.0001.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
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-14.0005.0002.0000.0002.0005.0003.0001.0004.0000.35710.40000.92860.35710.14290.35710.07140.2857
last_100.2010-27.0008.0002.0000.0003.0008.0004.0002.00010.0000.29630.34480.70370.29630.11110.29630.07410.3704
season0.6072-221.00055.00014.0000.0006.00029.00026.00021.00066.0000.24890.31840.39370.24890.02720.13120.09500.2986
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2360
predicted_3B0.0010
predicted_AB3.0350
predicted_AVG0.2765
predicted_BB0.2560
predicted_H0.8390
predicted_HBP0.0170
predicted_HR0.1930
predicted_OBP0.3362
predicted_R0.4300
predicted_RBI0.6080
predicted_SLG0.5457
predicted_SO0.9130
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19400.23600.2116model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.06903.03503.0548model_form_blend
predicted_AVG0.24900.27650.2605model_form_blend
predicted_BB0.29200.25600.2769model_form_blend
predicted_H0.76400.83900.7954model_form_blend
predicted_HBP-0.01700.0170form_only
predicted_HR0.08300.19300.1290model_form_blend
predicted_OBP0.31400.33620.3233model_form_blend
predicted_R0.36100.43000.3898model_form_blend
predicted_RBI0.40300.60800.4887model_form_blend
predicted_SLG0.39400.54570.4574model_form_blend
predicted_SO0.91700.91300.9153model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB3
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260826_BAL@STL
game_typefull
mlbID687637
playerID687637
playerNameDylan Beavers
posRF
startedTrue
startingPositionLF
teamBAL
teamID3
game_date2026-08-26
sl_k_percent25.6
sl_bb_percent10.3
sl_woba0.32
sl_xwoba0.307
sl_xba0.232
sl_xslg0.38
sl_sweet_spot_percent38.2
sl_barrel_batted_rate7.6
sl_hard_hit_percent39.3
sl_exit_velocity_avg88.4
sl_launch_angle_avg18.4
sl_whiff_percent23.9
sl_swing_percent41.5
Leody Taveras (665750) · BATTER · RF · Team BAL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 398
All-history rows before 20260827: 398
System season_avg: 0.2280
Data season_avg (2026 season-to-date): 0.2284
Diff (system - data): -0.0004
System opponent_avg: 0.4000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1190.0000.000Hitting_2B0.1360.000-0.1360.000
predicted_3B0.0550.0000.000Hitting_3B0.0600.000-0.0600.000
predicted_AB3.2664.0003.000Hitting_AB3.4875.0000.513-1.000
predicted_AVG0.2280.2500.333Hitting_AVG0.2280.2000.0220.050
predicted_BB0.3120.0000.000Hitting_BB0.3620.000-0.3620.000
predicted_CS-0.0000.000BaseRunning_CS0.0330.000-0.0330.000
predicted_H0.7431.0001.000Hitting_H0.7961.0000.2040.000
predicted_HR0.0640.0000.000Hitting_HR0.0701.000-0.070-1.000
predicted_OBP0.2950.2500.333Hitting_OBP0.3020.200-0.0520.050
predicted_R0.4591.0001.000Hitting_R0.5001.0000.5000.000
predicted_RBI0.4220.0000.000Hitting_RBI0.4653.000-0.465-3.000
predicted_SLG0.3570.2500.333Hitting_SLG0.3620.800-0.112-0.550
predicted_SO0.8991.0001.000Hitting_SO0.9420.0000.0581.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_AB: 3.2660 -> 4.0000 (boost 0.7340, better)
Biggest Deboostpredicted_RBI: 0.4220 -> 0.0000 (deboost -0.4220, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31212predicted_AB: 3.2660 -> 3.3278 (boost 0.0618, better)predicted_SLG: 0.3570 -> 0.3399 (deboost -0.0171, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_H: 0.7623 -> 1.0000 (boost 0.2377, better)predicted_RBI: 0.4165 -> 0.0000 (deboost -0.4165, worse)AB rounded to 3 (raw=3.33), rates preserved: AVG=0.229 HR/AB=0.017
5consistency_constraints10101-predicted_R: 0.4785 -> 0.0000 (deboost -0.4785, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context21111predicted_OBP: 0.2872 -> 0.2930 (boost 0.0058, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference22020predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final10101-predicted_OBP: 0.2930 -> 0.2872 (deboost -0.0058, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "665750",
  "player_name": "Leody Taveras",
  "position": "RF",
  "team": "BAL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.119,
        "predicted_3B": 0.055,
        "predicted_AB": 3.266,
        "predicted_AVG": 0.228,
        "predicted_BB": 0.312,
        "predicted_H": 0.743,
        "predicted_HR": 0.064,
        "predicted_OBP": 0.295,
        "predicted_R": 0.459,
        "predicted_RBI": 0.422,
        "predicted_SLG": 0.357,
        "predicted_SO": 0.899
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1104,
        "predicted_3B": 0.0456,
        "predicted_AB": 3.3278,
        "predicted_AVG": 0.2282,
        "predicted_BB": 0.2712,
        "predicted_H": 0.7585,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.0563,
        "predicted_OBP": 0.2862,
        "predicted_R": 0.4745,
        "predicted_RBI": 0.413,
        "predicted_SLG": 0.3399,
        "predicted_SO": 0.8758
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.119,
          "after": 0.1104,
          "delta": -0.0086,
          "percent_delta": -0.0723,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.055,
          "after": 0.0456,
          "delta": -0.0094,
          "percent_delta": -0.1709,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.266,
          "after": 3.3278,
          "delta": 0.0618,
          "percent_delta": 0.0189,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.228,
          "after": 0.2282,
          "delta": 0.0002,
          "percent_delta": 0.0009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.312,
          "after": 0.2712,
          "delta": -0.0408,
          "percent_delta": -0.1308,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.743,
          "after": 0.7585,
          "delta": 0.0155,
          "percent_delta": 0.0209,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.064,
          "after": 0.0563,
          "delta": -0.0077,
          "percent_delta": -0.1203,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.295,
          "after": 0.2862,
          "delta": -0.0088,
          "percent_delta": -0.0298,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.459,
          "after": 0.4745,
          "delta": 0.0155,
          "percent_delta": 0.0338,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.422,
          "after": 0.413,
          "delta": -0.009,
          "percent_delta": -0.0213,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.357,
          "after": 0.3399,
          "delta": -0.0171,
          "percent_delta": -0.0479,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.899,
          "after": 0.8758,
          "delta": -0.0232,
          "percent_delta": -0.0258,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.266,
          "after": 3.3278,
          "delta": 0.0618,
          "percent_delta": 0.0189,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.357,
          "after": 0.3399,
          "delta": -0.0171,
          "percent_delta": -0.0479,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 109
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1104,
        "predicted_3B": 0.0456,
        "predicted_AB": 3.3278,
        "predicted_AVG": 0.2291,
        "predicted_BB": 0.2714,
        "predicted_H": 0.7623,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.0564,
        "predicted_OBP": 0.2872,
        "predicted_R": 0.4785,
        "predicted_RBI": 0.4165,
        "predicted_SLG": 0.3405,
        "predicted_SO": 0.8751
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1104,
          "after": 0.1104,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0456,
          "after": 0.0456,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3278,
          "after": 3.3278,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2282,
          "after": 0.2291,
          "delta": 0.0009,
          "percent_delta": 0.0039,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2712,
          "after": 0.2714,
          "delta": 0.0002,
          "percent_delta": 0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7585,
          "after": 0.7623,
          "delta": 0.0038,
          "percent_delta": 0.005,
          "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.0563,
          "after": 0.0564,
          "delta": 0.0001,
          "percent_delta": 0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2862,
          "after": 0.2872,
          "delta": 0.001,
          "percent_delta": 0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4745,
          "after": 0.4785,
          "delta": 0.004,
          "percent_delta": 0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.413,
          "after": 0.4165,
          "delta": 0.0035,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3399,
          "after": 0.3405,
          "delta": 0.0006,
          "percent_delta": 0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.8758,
          "after": 0.8751,
          "delta": -0.0007,
          "percent_delta": -0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.33), rates preserved: AVG=0.229 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.1104,
          "after": 0.0,
          "delta": -0.1104,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0456,
          "after": 0.0,
          "delta": -0.0456,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3278,
          "after": 3.0,
          "delta": -0.3278,
          "percent_delta": -0.0985,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2714,
          "after": 0.0,
          "delta": -0.2714,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7623,
          "after": 1.0,
          "delta": 0.2377,
          "percent_delta": 0.3118,
          "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.0564,
          "after": 0.0,
          "delta": -0.0564,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4165,
          "after": 0.0,
          "delta": -0.4165,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8751,
          "after": 1.0,
          "delta": 0.1249,
          "percent_delta": 0.1427,
          "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.7623,
          "after": 1.0,
          "delta": 0.2377,
          "percent_delta": 0.3118,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4165,
          "after": 0.0,
          "delta": -0.4165,
          "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.4785,
          "after": 0.0,
          "delta": -0.4785,
          "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.4785,
          "after": 0.0,
          "delta": -0.4785,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.229,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.293,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.341,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2291,
          "after": 0.229,
          "delta": -0.0001,
          "percent_delta": -0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2872,
          "after": 0.293,
          "delta": 0.0058,
          "percent_delta": 0.0202,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3405,
          "after": 0.341,
          "delta": 0.0005,
          "percent_delta": 0.0015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2872,
          "after": 0.293,
          "delta": 0.0058,
          "percent_delta": 0.0202,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2291,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2872,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3405,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.229,
          "after": 0.2291,
          "delta": 0.0001,
          "percent_delta": 0.0003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.293,
          "after": 0.2872,
          "delta": -0.0058,
          "percent_delta": -0.0198,
          "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.341,
          "after": 0.3405,
          "delta": -0.0005,
          "percent_delta": -0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.293,
          "after": 0.2872,
          "delta": -0.0058,
          "percent_delta": -0.0198,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.119,
        "after": 0.0,
        "delta": -0.119,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.055,
        "after": 0.0,
        "delta": -0.055,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.266,
        "after": 4.0,
        "delta": 0.734,
        "percent_delta": 0.2247,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.228,
        "after": 0.2291,
        "delta": 0.0011,
        "percent_delta": 0.0048,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.312,
        "after": 0.0,
        "delta": -0.312,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.743,
        "after": 1.0,
        "delta": 0.257,
        "percent_delta": 0.3459,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.064,
        "after": 0.0,
        "delta": -0.064,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.295,
        "after": 0.2872,
        "delta": -0.0078,
        "percent_delta": -0.0264,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.459,
        "after": 1.0,
        "delta": 0.541,
        "percent_delta": 1.1786,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.422,
        "after": 0.0,
        "delta": -0.422,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.357,
        "after": 0.3405,
        "delta": -0.0165,
        "percent_delta": -0.0462,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.899,
        "after": 1.0,
        "delta": 0.101,
        "percent_delta": 0.1123,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.266,
        "after": 4.0,
        "delta": 0.734,
        "percent_delta": 0.2247,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.422,
        "after": 0.0,
        "delta": -0.422,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.119-
predicted_3B0.055-
predicted_AB3.266-
predicted_AVG0.228-
predicted_BB0.312-
predicted_H0.743-
predicted_HR0.064-
predicted_OBP0.295-
predicted_R0.459-
predicted_RBI0.422-
predicted_SLG0.357-
predicted_SO0.899-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.110-0.009
predicted_3B0.046-0.009
predicted_AB3.3280.062
predicted_AVG0.2280.000
predicted_BB0.271-0.041
predicted_H0.7580.015
predicted_HBP0.007-
predicted_HR0.056-0.008
predicted_OBP0.286-0.009
predicted_R0.4740.015
predicted_RBI0.413-0.009
predicted_SLG0.340-0.017
predicted_SO0.876-0.023
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1100.000
predicted_3B0.0460.000
predicted_AB3.3280.000
predicted_AVG0.2290.001
predicted_BB0.2710.000
predicted_H0.7620.004
predicted_HBP0.0070.000
predicted_HR0.0560.000
predicted_OBP0.2870.001
predicted_R0.4780.004
predicted_RBI0.4160.004
predicted_SLG0.3410.001
predicted_SO0.875-0.001
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.33), rates preserved: AVG=0.229 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. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0001.000
RBI0.0000.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.110
predicted_3B0.000-0.046
predicted_AB3.000-0.328
predicted_AVG0.229-0.000
predicted_BB0.000-0.271
predicted_H1.0000.238
predicted_HR0.000-0.056
predicted_OBP0.2930.006
predicted_R0.000-0.478
predicted_RBI0.000-0.416
predicted_SLG0.3410.001
predicted_SO1.0000.125
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-
R1.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: 109
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.0003.0000.0000.0000.0002.0003.0000.0004.0000.16670.16670.16670.16670.00000.11110.00000.2222
last_100.2010-35.00010.0001.0000.0000.0003.0005.0001.0007.0000.28570.30560.31430.28570.00000.08570.02860.2000
season0.60109-356.00081.00013.0006.0007.00046.00050.00034.00098.0000.22750.29590.35670.22750.01970.12920.09550.2753
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0990
predicted_3B0.0330
predicted_AB3.4100
predicted_AVG0.2285
predicted_BB0.2170
predicted_H0.7790
predicted_HBP0.0070
predicted_HR0.0460
predicted_OBP0.2744
predicted_R0.4950
predicted_RBI0.4010
predicted_SLG0.3171
predicted_SO0.8450
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11900.09900.1104model_form_blend
predicted_3B0.05500.03300.0456model_form_blend
predicted_AB3.26603.41003.3278model_form_blend
predicted_AVG0.22800.22850.2282model_form_blend
predicted_BB0.31200.21700.2712model_form_blend
predicted_H0.74300.77900.7585model_form_blend
predicted_HBP-0.00700.0070form_only
predicted_HR0.06400.04600.0563model_form_blend
predicted_OBP0.29500.27440.2862model_form_blend
predicted_R0.45900.49500.4745model_form_blend
predicted_RBI0.42200.40100.4130model_form_blend
predicted_SLG0.35700.31710.3399model_form_blend
predicted_SO0.89900.84500.8758model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.2
Hitting_BB0
Hitting_GIDP1
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI3
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB4
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260826_BAL@STL
game_typefull
mlbID665750
playerID665750
playerNameLeody Taveras
posCF
startedTrue
startingPositionRF
teamBAL
teamID3
game_date2026-08-26
sl_k_percent24.6
sl_bb_percent9.3
sl_woba0.293
sl_xwoba0.279
sl_xba0.216
sl_xslg0.326
sl_sweet_spot_percent28.2
sl_barrel_batted_rate4.3
sl_hard_hit_percent33.5
sl_exit_velocity_avg88.3
sl_launch_angle_avg16.1
sl_whiff_percent24.6
sl_swing_percent47.9
Gunnar Henderson (683002) · BATTER · SS · Team BAL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 576
All-history rows before 20260827: 576
System season_avg: 0.2180
Data season_avg (2026 season-to-date): 0.2178
Diff (system - data): 0.0002
System opponent_avg: 0.2180

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1800.0000.000Hitting_2B0.2050.000-0.2050.000
predicted_3B0.0310.0000.000Hitting_3B0.0400.000-0.0400.000
predicted_AB4.6703.0005.000Hitting_AB4.0735.000-1.073-2.000
predicted_AVG0.2120.3330.200Hitting_AVG0.2180.2000.1160.133
predicted_BB0.4222.0001.000Hitting_BB0.4310.0001.5692.000
predicted_CS-0.0000.000BaseRunning_CS0.0420.000-0.0420.000
predicted_H0.9901.0001.000Hitting_H0.8871.0000.1130.000
predicted_HR0.1400.0000.000Hitting_HR0.1440.000-0.1440.000
predicted_OBP0.3070.6000.333Hitting_OBP0.3040.2000.2960.400
predicted_R0.5861.0001.000Hitting_R0.6221.0000.3780.000
predicted_RBI0.3601.0000.000Hitting_RBI0.4010.0000.5991.000
predicted_SLG0.3730.3330.200Hitting_SLG0.3940.200-0.0610.133
predicted_SO0.9920.0001.000Hitting_SO1.0211.000-1.021-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics3
Deboosted Metrics6
Better Metrics4
Worse Metrics5
Biggest Boostpredicted_BB: 0.4220 -> 2.0000 (boost 1.5780, better)
Biggest Deboostpredicted_AB: 4.6700 -> 3.0000 (deboost -1.6700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend50505-predicted_AB: 4.6700 -> 4.3198 (deboost -0.3502, worse)Final model input calibrated 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.3036 -> 0.2846 (deboost -0.0190, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62424predicted_AB: 4.3198 -> 5.0000 (boost 0.6802, better)predicted_BB: 0.4507 -> 0.0000 (deboost -0.4507, worse)AB rounded to 5 (raw=4.67), rates preserved: AVG=0.194 HR/AB=0.025
5consistency_constraints11010predicted_R: 0.5387 -> 1.0000 (boost 0.4613, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context40404-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference42231predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.3160 -> 0.3417 (boost 0.0257, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "683002",
  "player_name": "Gunnar Henderson",
  "position": "SS",
  "team": "BAL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.18,
        "predicted_3B": 0.031,
        "predicted_AB": 4.67,
        "predicted_AVG": 0.212,
        "predicted_BB": 0.422,
        "predicted_H": 0.99,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.307,
        "predicted_R": 0.586,
        "predicted_RBI": 0.36,
        "predicted_SLG": 0.373,
        "predicted_SO": 0.992
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1656,
        "predicted_3B": 0.0253,
        "predicted_AB": 4.3198,
        "predicted_AVG": 0.2086,
        "predicted_BB": 0.4503,
        "predicted_H": 0.9024,
        "predicted_HBP": 0.04,
        "predicted_HR": 0.1173,
        "predicted_OBP": 0.3036,
        "predicted_R": 0.5342,
        "predicted_RBI": 0.3073,
        "predicted_SLG": 0.3499,
        "predicted_SO": 0.9741
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.18,
          "after": 0.1656,
          "delta": -0.0144,
          "percent_delta": -0.08,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.031,
          "after": 0.0253,
          "delta": -0.0057,
          "percent_delta": -0.1839,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.67,
          "after": 4.3198,
          "delta": -0.3502,
          "percent_delta": -0.075,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.212,
          "after": 0.2086,
          "delta": -0.0034,
          "percent_delta": -0.016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.422,
          "after": 0.4503,
          "delta": 0.0283,
          "percent_delta": 0.0671,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.99,
          "after": 0.9024,
          "delta": -0.0876,
          "percent_delta": -0.0885,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.1173,
          "delta": -0.0227,
          "percent_delta": -0.1621,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.307,
          "after": 0.3036,
          "delta": -0.0034,
          "percent_delta": -0.0111,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.586,
          "after": 0.5342,
          "delta": -0.0518,
          "percent_delta": -0.0884,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.36,
          "after": 0.3073,
          "delta": -0.0527,
          "percent_delta": -0.1464,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.373,
          "after": 0.3499,
          "delta": -0.0231,
          "percent_delta": -0.0619,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.992,
          "after": 0.9741,
          "delta": -0.0179,
          "percent_delta": -0.018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.67,
          "after": 4.3198,
          "delta": -0.3502,
          "percent_delta": -0.075,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 128
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1656,
        "predicted_3B": 0.0253,
        "predicted_AB": 4.3198,
        "predicted_AVG": 0.2099,
        "predicted_BB": 0.4507,
        "predicted_H": 0.9069,
        "predicted_HBP": 0.04,
        "predicted_HR": 0.1176,
        "predicted_OBP": 0.2846,
        "predicted_R": 0.5387,
        "predicted_RBI": 0.3099,
        "predicted_SLG": 0.3417,
        "predicted_SO": 0.9733
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1656,
          "after": 0.1656,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0253,
          "after": 0.0253,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3198,
          "after": 4.3198,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2086,
          "after": 0.2099,
          "delta": 0.0013,
          "percent_delta": 0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4503,
          "after": 0.4507,
          "delta": 0.0004,
          "percent_delta": 0.0009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9024,
          "after": 0.9069,
          "delta": 0.0045,
          "percent_delta": 0.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.04,
          "after": 0.04,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1173,
          "after": 0.1176,
          "delta": 0.0003,
          "percent_delta": 0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3036,
          "after": 0.2846,
          "delta": -0.019,
          "percent_delta": -0.0626,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5342,
          "after": 0.5387,
          "delta": 0.0045,
          "percent_delta": 0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3073,
          "after": 0.3099,
          "delta": 0.0026,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3499,
          "after": 0.3417,
          "delta": -0.0082,
          "percent_delta": -0.0234,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9741,
          "after": 0.9733,
          "delta": -0.0008,
          "percent_delta": -0.0008,
          "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.3036,
          "after": 0.2846,
          "delta": -0.019,
          "percent_delta": -0.0626,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=4.67), rates preserved: AVG=0.194 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.1656,
          "after": 0.0,
          "delta": -0.1656,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0253,
          "after": 0.0,
          "delta": -0.0253,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3198,
          "after": 5.0,
          "delta": 0.6802,
          "percent_delta": 0.1575,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4507,
          "after": 0.0,
          "delta": -0.4507,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9069,
          "after": 1.0,
          "delta": 0.0931,
          "percent_delta": 0.1027,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.04,
          "after": 0.0,
          "delta": -0.04,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1176,
          "after": 0.0,
          "delta": -0.1176,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3099,
          "after": 0.0,
          "delta": -0.3099,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9733,
          "after": 1.0,
          "delta": 0.0267,
          "percent_delta": 0.0274,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.3198,
          "after": 5.0,
          "delta": 0.6802,
          "percent_delta": 0.1575,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4507,
          "after": 0.0,
          "delta": -0.4507,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5387,
          "after": 1.0,
          "delta": 0.4613,
          "percent_delta": 0.8563,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.5387,
          "after": 1.0,
          "delta": 0.4613,
          "percent_delta": 0.8563,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.194,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.271,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.316,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.2099,
          "after": 0.194,
          "delta": -0.0159,
          "percent_delta": -0.0758,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2846,
          "after": 0.271,
          "delta": -0.0136,
          "percent_delta": -0.0478,
          "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.3417,
          "after": 0.316,
          "delta": -0.0257,
          "percent_delta": -0.0752,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 3.0,
          "delta": -2.0,
          "percent_delta": -0.4,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 3.0,
          "delta": -2.0,
          "percent_delta": -0.4,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2099,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2846,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3417,
        "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.194,
          "after": 0.2099,
          "delta": 0.0159,
          "percent_delta": 0.0822,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.271,
          "after": 0.2846,
          "delta": 0.0136,
          "percent_delta": 0.0501,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.316,
          "after": 0.3417,
          "delta": 0.0257,
          "percent_delta": 0.0812,
          "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.316,
          "after": 0.3417,
          "delta": 0.0257,
          "percent_delta": 0.0812,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.18,
        "after": 0.0,
        "delta": -0.18,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.031,
        "after": 0.0,
        "delta": -0.031,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.67,
        "after": 3.0,
        "delta": -1.67,
        "percent_delta": -0.3576,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.212,
        "after": 0.2099,
        "delta": -0.0021,
        "percent_delta": -0.0099,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.422,
        "after": 2.0,
        "delta": 1.578,
        "percent_delta": 3.7393,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.99,
        "after": 1.0,
        "delta": 0.01,
        "percent_delta": 0.0101,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.307,
        "after": 0.2846,
        "delta": -0.0224,
        "percent_delta": -0.073,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.586,
        "after": 1.0,
        "delta": 0.414,
        "percent_delta": 0.7065,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.36,
        "after": 1.0,
        "delta": 0.64,
        "percent_delta": 1.7778,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.373,
        "after": 0.3417,
        "delta": -0.0313,
        "percent_delta": -0.0839,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.992,
        "after": 0.0,
        "delta": -0.992,
        "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_BB",
        "before": 0.422,
        "after": 2.0,
        "delta": 1.578,
        "percent_delta": 3.7393,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.67,
        "after": 3.0,
        "delta": -1.67,
        "percent_delta": -0.3576,
        "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.180-
predicted_3B0.031-
predicted_AB4.670-
predicted_AVG0.212-
predicted_BB0.422-
predicted_H0.990-
predicted_HR0.140-
predicted_OBP0.307-
predicted_R0.586-
predicted_RBI0.360-
predicted_SLG0.373-
predicted_SO0.992-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.166-0.014
predicted_3B0.025-0.006
predicted_AB4.320-0.350
predicted_AVG0.209-0.003
predicted_BB0.4500.028
predicted_H0.902-0.088
predicted_HBP0.040-
predicted_HR0.117-0.023
predicted_OBP0.304-0.003
predicted_R0.534-0.052
predicted_RBI0.307-0.053
predicted_SLG0.350-0.023
predicted_SO0.974-0.018
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1660.000
predicted_3B0.0250.000
predicted_AB4.3200.000
predicted_AVG0.2100.001
predicted_BB0.4510.000
predicted_H0.9070.005
predicted_HBP0.0400.000
predicted_HR0.1180.000
predicted_OBP0.285-0.019
predicted_R0.5390.004
predicted_RBI0.3100.003
predicted_SLG0.342-0.008
predicted_SO0.973-0.001
4. ab_floor_and_scaling

AB rounded to 5 (raw=4.67), rates preserved: AVG=0.194 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. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB1.0001.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI0.0000.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.166
predicted_3B0.000-0.025
predicted_AB5.0000.680
predicted_AVG0.194-0.016
predicted_BB0.000-0.451
predicted_H1.0000.093
predicted_HR0.000-0.118
predicted_OBP0.271-0.014
predicted_R1.0000.461
predicted_RBI0.000-0.310
predicted_SLG0.316-0.026
predicted_SO1.0000.027
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-2.000
BB2.0001.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0000.000
RBI1.0001.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 128
Reference playing time: 4.670
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0003.0000.0000.0000.0000.0001.0003.0005.0000.16670.28570.16670.16670.00000.00000.16670.2778
last_100.2010-37.0007.0002.0000.0000.0000.0004.0006.0008.0000.18920.30230.24320.18920.00000.00000.16220.2162
season0.60128-514.000112.00023.0004.00019.00050.00075.00054.000127.0000.21790.30220.38910.21790.03700.09730.10510.2471
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1470
predicted_3B0.0180
predicted_AB3.8660
predicted_AVG0.2042
predicted_BB0.4870
predicted_H0.7890
predicted_HBP0.0400
predicted_HR0.0880
predicted_OBP0.2992
predicted_R0.4670
predicted_RBI0.2390
predicted_SLG0.3200
predicted_SO0.9510
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18000.14700.1656model_form_blend
predicted_3B0.03100.01800.0253model_form_blend
predicted_AB4.67003.86604.3198model_form_blend
predicted_AVG0.21200.20420.2086model_form_blend
predicted_BB0.42200.48700.4503model_form_blend
predicted_H0.99000.78900.9024model_form_blend
predicted_HBP-0.04000.0400form_only
predicted_HR0.14000.08800.1173model_form_blend
predicted_OBP0.30700.29920.3036model_form_blend
predicted_R0.58600.46700.5342model_form_blend
predicted_RBI0.36000.23900.3073model_form_blend
predicted_SLG0.37300.32000.3499model_form_blend
predicted_SO0.99200.95100.9741model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB3
H1
2B0
3B0
HR0
R1
RBI1
BB2
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.2
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260826_BAL@STL
game_typefull
mlbID683002
playerID683002
playerNameGunnar Henderson
posSS
startedTrue
startingPositionSS
teamBAL
teamID3
game_date2026-08-26
sl_k_percent21.5
sl_bb_percent9.3
sl_woba0.312
sl_xwoba0.319
sl_xba0.245
sl_xslg0.399
sl_sweet_spot_percent31.5
sl_barrel_batted_rate7.2
sl_hard_hit_percent44.2
sl_exit_velocity_avg89.7
sl_launch_angle_avg12.0
sl_whiff_percent23.5
sl_swing_percent47.9
Christian Encarnacion-Strand (687952) · BATTER · 3B · Team BAL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 98
All-history rows before 20260827: 98
System season_avg: 0.2160
Data season_avg (2026 season-to-date): 0.2234
Diff (system - data): -0.0074
System opponent_avg: 0.4000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1380.0000.000Hitting_2B0.1632.000-0.163-2.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.1605.0004.000Hitting_AB3.8375.0001.1630.000
predicted_AVG0.2190.4000.250Hitting_AVG0.2230.8000.177-0.400
predicted_BB0.1720.0000.000Hitting_BB0.2140.000-0.2140.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9102.0001.000Hitting_H0.8574.0001.143-2.000
predicted_HR0.2600.0000.000Hitting_HR0.2350.000-0.2350.000
predicted_OBP0.2360.4000.250Hitting_OBP0.2690.8000.131-0.400
predicted_R0.3101.0000.000Hitting_R0.3271.0000.6730.000
predicted_RBI0.9901.0001.000Hitting_RBI0.8782.0000.122-1.000
predicted_SLG0.4610.4000.250Hitting_SLG0.4491.200-0.049-0.800
predicted_SO1.0001.0001.000Hitting_SO1.1121.000-0.1120.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics8
Boosted Metrics4
Deboosted Metrics4
Better Metrics4
Worse Metrics4
Biggest Boostpredicted_H: 0.9100 -> 2.0000 (boost 1.0900, better)
Biggest Deboostpredicted_HR: 0.2600 -> 0.0000 (deboost -0.2600, 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.1600 -> 3.9162 (deboost -0.2438, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot21111predicted_OBP: 0.2385 -> 0.2476 (boost 0.0091, better)predicted_SLG: 0.4440 -> 0.4330 (deboost -0.0110, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling63333predicted_H: 0.8454 -> 1.0000 (boost 0.1546, better)predicted_HR: 0.2391 -> 0.0000 (deboost -0.2391, worse)AB rounded to 4 (raw=4.16), rates preserved: AVG=0.203 HR/AB=0.057
5consistency_constraints10101-predicted_R: 0.3390 -> 0.0000 (deboost -0.3390, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context30303-predicted_SLG: 0.4330 -> 0.4150 (deboost -0.0180, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference33030predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.4150 -> 0.4330 (boost 0.0180, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "687952",
  "player_name": "Christian Encarnacion-Strand",
  "position": "3B",
  "team": "BAL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.138,
        "predicted_3B": 0.0,
        "predicted_AB": 4.16,
        "predicted_AVG": 0.219,
        "predicted_BB": 0.172,
        "predicted_H": 0.91,
        "predicted_HR": 0.26,
        "predicted_OBP": 0.236,
        "predicted_R": 0.31,
        "predicted_RBI": 0.99,
        "predicted_SLG": 0.461,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1307,
        "predicted_3B": 0.0012,
        "predicted_AB": 3.9162,
        "predicted_AVG": 0.2145,
        "predicted_BB": 0.1651,
        "predicted_H": 0.8412,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.2385,
        "predicted_OBP": 0.2385,
        "predicted_R": 0.3361,
        "predicted_RBI": 0.9012,
        "predicted_SLG": 0.444,
        "predicted_SO": 1.0361
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.138,
          "after": 0.1307,
          "delta": -0.0073,
          "percent_delta": -0.0529,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0012,
          "delta": 0.0012,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.16,
          "after": 3.9162,
          "delta": -0.2438,
          "percent_delta": -0.0586,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.219,
          "after": 0.2145,
          "delta": -0.0045,
          "percent_delta": -0.0205,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.172,
          "after": 0.1651,
          "delta": -0.0069,
          "percent_delta": -0.0401,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.91,
          "after": 0.8412,
          "delta": -0.0688,
          "percent_delta": -0.0756,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.26,
          "after": 0.2385,
          "delta": -0.0215,
          "percent_delta": -0.0827,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.236,
          "after": 0.2385,
          "delta": 0.0025,
          "percent_delta": 0.0106,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.31,
          "after": 0.3361,
          "delta": 0.0261,
          "percent_delta": 0.0842,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.99,
          "after": 0.9012,
          "delta": -0.0888,
          "percent_delta": -0.0897,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.461,
          "after": 0.444,
          "delta": -0.017,
          "percent_delta": -0.0369,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0361,
          "delta": 0.0361,
          "percent_delta": 0.0361,
          "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.16,
          "after": 3.9162,
          "delta": -0.2438,
          "percent_delta": -0.0586,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 29
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1307,
        "predicted_3B": 0.0012,
        "predicted_AB": 3.9162,
        "predicted_AVG": 0.2159,
        "predicted_BB": 0.1652,
        "predicted_H": 0.8454,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.2391,
        "predicted_OBP": 0.2476,
        "predicted_R": 0.339,
        "predicted_RBI": 0.9089,
        "predicted_SLG": 0.433,
        "predicted_SO": 1.0353
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1307,
          "after": 0.1307,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0012,
          "after": 0.0012,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9162,
          "after": 3.9162,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2145,
          "after": 0.2159,
          "delta": 0.0014,
          "percent_delta": 0.0065,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1651,
          "after": 0.1652,
          "delta": 0.0001,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8412,
          "after": 0.8454,
          "delta": 0.0042,
          "percent_delta": 0.005,
          "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.2385,
          "after": 0.2391,
          "delta": 0.0006,
          "percent_delta": 0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2385,
          "after": 0.2476,
          "delta": 0.0091,
          "percent_delta": 0.0382,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3361,
          "after": 0.339,
          "delta": 0.0029,
          "percent_delta": 0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9012,
          "after": 0.9089,
          "delta": 0.0077,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.444,
          "after": 0.433,
          "delta": -0.011,
          "percent_delta": -0.0248,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0361,
          "after": 1.0353,
          "delta": -0.0008,
          "percent_delta": -0.0008,
          "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.2385,
          "after": 0.2476,
          "delta": 0.0091,
          "percent_delta": 0.0382,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.444,
          "after": 0.433,
          "delta": -0.011,
          "percent_delta": -0.0248,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.16), rates preserved: AVG=0.203 HR/AB=0.057",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1307,
          "after": 0.0,
          "delta": -0.1307,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0012,
          "after": 0.0,
          "delta": -0.0012,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9162,
          "after": 4.0,
          "delta": 0.0838,
          "percent_delta": 0.0214,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1652,
          "after": 0.0,
          "delta": -0.1652,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8454,
          "after": 1.0,
          "delta": 0.1546,
          "percent_delta": 0.1829,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_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.2391,
          "after": 0.0,
          "delta": -0.2391,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9089,
          "after": 1.0,
          "delta": 0.0911,
          "percent_delta": 0.1002,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0353,
          "after": 1.0,
          "delta": -0.0353,
          "percent_delta": -0.0341,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.8454,
          "after": 1.0,
          "delta": 0.1546,
          "percent_delta": 0.1829,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.2391,
          "after": 0.0,
          "delta": -0.2391,
          "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.339,
          "after": 0.0,
          "delta": -0.339,
          "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.339,
          "after": 0.0,
          "delta": -0.339,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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": 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": {}
    },
    {
      "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.203,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.24,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.415,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2159,
          "after": 0.203,
          "delta": -0.0129,
          "percent_delta": -0.0597,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2476,
          "after": 0.24,
          "delta": -0.0076,
          "percent_delta": -0.0307,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "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.433,
          "after": 0.415,
          "delta": -0.018,
          "percent_delta": -0.0416,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.433,
          "after": 0.415,
          "delta": -0.018,
          "percent_delta": -0.0416,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2159,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2476,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.433,
        "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": 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.203,
          "after": 0.2159,
          "delta": 0.0129,
          "percent_delta": 0.0634,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.24,
          "after": 0.2476,
          "delta": 0.0076,
          "percent_delta": 0.0317,
          "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.415,
          "after": 0.433,
          "delta": 0.018,
          "percent_delta": 0.0434,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.415,
          "after": 0.433,
          "delta": 0.018,
          "percent_delta": 0.0434,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.138,
        "after": 0.0,
        "delta": -0.138,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.16,
        "after": 5.0,
        "delta": 0.84,
        "percent_delta": 0.2019,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.219,
        "after": 0.2159,
        "delta": -0.0031,
        "percent_delta": -0.0142,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.172,
        "after": 0.0,
        "delta": -0.172,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.91,
        "after": 2.0,
        "delta": 1.09,
        "percent_delta": 1.1978,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.26,
        "after": 0.0,
        "delta": -0.26,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.236,
        "after": 0.2476,
        "delta": 0.0116,
        "percent_delta": 0.0492,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.31,
        "after": 1.0,
        "delta": 0.69,
        "percent_delta": 2.2258,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.99,
        "after": 1.0,
        "delta": 0.01,
        "percent_delta": 0.0101,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SLG",
        "before": 0.461,
        "after": 0.433,
        "delta": -0.028,
        "percent_delta": -0.0607,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 8,
      "boosted_metrics": 4,
      "deboosted_metrics": 4,
      "better_metrics": 4,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.91,
        "after": 2.0,
        "delta": 1.09,
        "percent_delta": 1.1978,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_HR",
        "before": 0.26,
        "after": 0.0,
        "delta": -0.26,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.138-
predicted_3B0.000-
predicted_AB4.160-
predicted_AVG0.219-
predicted_BB0.172-
predicted_H0.910-
predicted_HR0.260-
predicted_OBP0.236-
predicted_R0.310-
predicted_RBI0.990-
predicted_SLG0.461-
predicted_SO1.000-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.131-0.007
predicted_3B0.0010.001
predicted_AB3.916-0.244
predicted_AVG0.214-0.005
predicted_BB0.165-0.007
predicted_H0.841-0.069
predicted_HBP0.024-
predicted_HR0.238-0.022
predicted_OBP0.2380.003
predicted_R0.3360.026
predicted_RBI0.901-0.089
predicted_SLG0.444-0.017
predicted_SO1.0360.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.1310.000
predicted_3B0.0010.000
predicted_AB3.9160.000
predicted_AVG0.2160.001
predicted_BB0.1650.000
predicted_H0.8450.004
predicted_HBP0.0240.000
predicted_HR0.2390.001
predicted_OBP0.2480.009
predicted_R0.3390.003
predicted_RBI0.9090.008
predicted_SLG0.433-0.011
predicted_SO1.035-0.001
4. ab_floor_and_scaling

AB rounded to 4 (raw=4.16), rates preserved: AVG=0.203 HR/AB=0.057

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI1.0000.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.131
predicted_3B0.000-0.001
predicted_AB4.0000.084
predicted_AVG0.203-0.013
predicted_BB0.000-0.165
predicted_H1.0000.155
predicted_HR0.000-0.239
predicted_OBP0.240-0.008
predicted_R0.000-0.339
predicted_RBI1.0000.091
predicted_SLG0.415-0.018
predicted_SO1.000-0.035
8. 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
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA5.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: 29
Reference playing time: 4.160
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0002.0000.0000.0001.0003.0002.0000.0007.0000.11760.11760.29410.11770.05880.17650.00000.4118
last_100.2010-38.0008.0001.0000.0003.00012.0004.0001.00014.0000.21050.22500.47370.21050.07900.31580.02630.3684
season0.6029-97.00021.0004.0000.0006.00023.0009.0005.00029.0000.21650.25960.44330.21650.06190.23710.05150.2990
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1190
predicted_3B0.0030
predicted_AB3.5260
predicted_AVG0.2072
predicted_BB0.1540
predicted_H0.7310
predicted_HBP0.0240
predicted_HR0.2040
predicted_OBP0.2424
predicted_R0.3780
predicted_RBI0.7590
predicted_SLG0.4168
predicted_SO1.0940
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13800.11900.1307model_form_blend
predicted_3B0.00000.00300.0012model_form_blend
predicted_AB4.16003.52603.9162model_form_blend
predicted_AVG0.21900.20720.2145model_form_blend
predicted_BB0.17200.15400.1651model_form_blend
predicted_H0.91000.73100.8412model_form_blend
predicted_HBP-0.02400.0240form_only
predicted_HR0.26000.20400.2385model_form_blend
predicted_OBP0.23600.24240.2385model_form_blend
predicted_R0.31000.37800.3361model_form_blend
predicted_RBI0.99000.75900.9012model_form_blend
predicted_SLG0.46100.41680.4440model_form_blend
predicted_SO1.00001.09401.0361model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B2
Hitting_3B0
Hitting_AB5
Hitting_AVG0.8
Hitting_BB0
Hitting_GIDP0
Hitting_H4
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB6
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-1B
gameID20260826_BAL@STL
game_typefull
mlbID687952
playerID687952
playerNameChristian Encarnacion-Strand
pos3B
startedTrue
startingPosition3B
teamBAL
teamID3
game_date2026-08-26
sl_k_percent27.3
sl_bb_percent5.3
sl_woba0.34
sl_xwoba0.343
sl_xba0.253
sl_xslg0.521
sl_sweet_spot_percent37.5
sl_barrel_batted_rate15.9
sl_hard_hit_percent40.9
sl_exit_velocity_avg92.2
sl_launch_angle_avg18.1
sl_whiff_percent25.6
sl_swing_percent61.2
Jackson Holliday (702616) · BATTER · 2B · Team BAL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 265
All-history rows before 20260827: 265
System season_avg: 0.2320
Data season_avg (2026 season-to-date): 0.2382
Diff (system - data): -0.0062
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.1320.0000.000Hitting_2B0.1550.000-0.1550.000
predicted_3B0.0130.0000.000Hitting_3B0.0150.000-0.0150.000
predicted_AB4.1504.0004.000Hitting_AB3.2795.0000.721-1.000
predicted_AVG0.2320.0000.250Hitting_AVG0.2380.000-0.2380.000
predicted_BB0.3951.0001.000Hitting_BB0.4940.0000.5061.000
predicted_CS-0.0000.000BaseRunning_CS0.0450.000-0.0450.000
predicted_H0.9600.0001.000Hitting_H0.7810.000-0.7810.000
predicted_HR0.0800.0000.000Hitting_HR0.0870.000-0.0870.000
predicted_OBP0.2850.2000.400Hitting_OBP0.3330.000-0.1330.200
predicted_R0.4610.0001.000Hitting_R0.4980.000-0.4980.000
predicted_RBI0.4700.0001.000Hitting_RBI0.3810.000-0.3810.000
predicted_SB-0.0000.000BaseRunning_SB0.0790.000-0.0790.000
predicted_SLG0.3490.0000.250Hitting_SLG0.3740.000-0.3740.000
predicted_SO0.8291.0001.000Hitting_SO0.8490.0000.1511.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics3
Deboosted Metrics7
Better Metrics2
Worse Metrics8
Biggest Boostpredicted_BB: 0.3950 -> 1.0000 (boost 0.6050, better)
Biggest Deboostpredicted_H: 0.9600 -> 0.0000 (deboost -0.9600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend30303-predicted_AB: 4.1500 -> 3.9084 (deboost -0.2416, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot21111predicted_OBP: 0.2858 -> 0.2965 (boost 0.0107, better)predicted_SLG: 0.3440 -> 0.3324 (deboost -0.0116, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_SO: 0.7935 -> 1.0000 (boost 0.2065, worse)predicted_RBI: 0.4456 -> 0.0000 (deboost -0.4456, worse)AB rounded to 4 (raw=4.15), rates preserved: AVG=0.219 HR/AB=0.017
5consistency_constraints11010predicted_R: 0.5141 -> 1.0000 (boost 0.4859, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation22020predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context50505-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference31212predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.3130 -> 0.3324 (boost 0.0194, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "702616",
  "player_name": "Jackson Holliday",
  "position": "2B",
  "team": "BAL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.132,
        "predicted_3B": 0.013,
        "predicted_AB": 4.15,
        "predicted_AVG": 0.232,
        "predicted_BB": 0.395,
        "predicted_H": 0.96,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.285,
        "predicted_R": 0.461,
        "predicted_RBI": 0.47,
        "predicted_SLG": 0.349,
        "predicted_SO": 0.829
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1501,
        "predicted_3B": 0.0117,
        "predicted_AB": 3.9084,
        "predicted_AVG": 0.2318,
        "predicted_BB": 0.355,
        "predicted_H": 0.9044,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.072,
        "predicted_OBP": 0.2858,
        "predicted_R": 0.5098,
        "predicted_RBI": 0.4418,
        "predicted_SLG": 0.344,
        "predicted_SO": 0.7941
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.132,
          "after": 0.1501,
          "delta": 0.0181,
          "percent_delta": 0.1371,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.013,
          "after": 0.0117,
          "delta": -0.0013,
          "percent_delta": -0.1,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.15,
          "after": 3.9084,
          "delta": -0.2416,
          "percent_delta": -0.0582,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.232,
          "after": 0.2318,
          "delta": -0.0002,
          "percent_delta": -0.0009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.395,
          "after": 0.355,
          "delta": -0.04,
          "percent_delta": -0.1013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.96,
          "after": 0.9044,
          "delta": -0.0556,
          "percent_delta": -0.0579,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.072,
          "delta": -0.008,
          "percent_delta": -0.1,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.285,
          "after": 0.2858,
          "delta": 0.0008,
          "percent_delta": 0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.461,
          "after": 0.5098,
          "delta": 0.0488,
          "percent_delta": 0.1059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.47,
          "after": 0.4418,
          "delta": -0.0282,
          "percent_delta": -0.06,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.349,
          "after": 0.344,
          "delta": -0.005,
          "percent_delta": -0.0143,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.829,
          "after": 0.7941,
          "delta": -0.0349,
          "percent_delta": -0.0421,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.15,
          "after": 3.9084,
          "delta": -0.2416,
          "percent_delta": -0.0582,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 76
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1501,
        "predicted_3B": 0.0117,
        "predicted_AB": 3.9084,
        "predicted_AVG": 0.2326,
        "predicted_BB": 0.3553,
        "predicted_H": 0.9089,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.0722,
        "predicted_OBP": 0.2965,
        "predicted_R": 0.5141,
        "predicted_RBI": 0.4456,
        "predicted_SLG": 0.3324,
        "predicted_SO": 0.7935
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1501,
          "after": 0.1501,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0117,
          "after": 0.0117,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9084,
          "after": 3.9084,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2318,
          "after": 0.2326,
          "delta": 0.0008,
          "percent_delta": 0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.355,
          "after": 0.3553,
          "delta": 0.0003,
          "percent_delta": 0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9044,
          "after": 0.9089,
          "delta": 0.0045,
          "percent_delta": 0.005,
          "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.072,
          "after": 0.0722,
          "delta": 0.0002,
          "percent_delta": 0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2858,
          "after": 0.2965,
          "delta": 0.0107,
          "percent_delta": 0.0374,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5098,
          "after": 0.5141,
          "delta": 0.0043,
          "percent_delta": 0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4418,
          "after": 0.4456,
          "delta": 0.0038,
          "percent_delta": 0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.344,
          "after": 0.3324,
          "delta": -0.0116,
          "percent_delta": -0.0337,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7941,
          "after": 0.7935,
          "delta": -0.0006,
          "percent_delta": -0.0008,
          "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.2858,
          "after": 0.2965,
          "delta": 0.0107,
          "percent_delta": 0.0374,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.344,
          "after": 0.3324,
          "delta": -0.0116,
          "percent_delta": -0.0337,
          "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.219 HR/AB=0.017",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1501,
          "after": 0.0,
          "delta": -0.1501,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0117,
          "after": 0.0,
          "delta": -0.0117,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9084,
          "after": 4.0,
          "delta": 0.0916,
          "percent_delta": 0.0234,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3553,
          "after": 0.0,
          "delta": -0.3553,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9089,
          "after": 1.0,
          "delta": 0.0911,
          "percent_delta": 0.1002,
          "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.0722,
          "after": 0.0,
          "delta": -0.0722,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4456,
          "after": 0.0,
          "delta": -0.4456,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7935,
          "after": 1.0,
          "delta": 0.2065,
          "percent_delta": 0.2602,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.7935,
          "after": 1.0,
          "delta": 0.2065,
          "percent_delta": 0.2602,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4456,
          "after": 0.0,
          "delta": -0.4456,
          "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.5141,
          "after": 1.0,
          "delta": 0.4859,
          "percent_delta": 0.9451,
          "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.5141,
          "after": 1.0,
          "delta": 0.4859,
          "percent_delta": 0.9451,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.219,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.286,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.313,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2326,
          "after": 0.219,
          "delta": -0.0136,
          "percent_delta": -0.0585,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2965,
          "after": 0.286,
          "delta": -0.0105,
          "percent_delta": -0.0354,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3324,
          "after": 0.313,
          "delta": -0.0194,
          "percent_delta": -0.0584,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2326,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2965,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3324,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.219,
          "after": 0.2326,
          "delta": 0.0136,
          "percent_delta": 0.0619,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.2965,
          "delta": 0.0105,
          "percent_delta": 0.0367,
          "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.313,
          "after": 0.3324,
          "delta": 0.0194,
          "percent_delta": 0.0618,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.313,
          "after": 0.3324,
          "delta": 0.0194,
          "percent_delta": 0.0618,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.132,
        "after": 0.0,
        "delta": -0.132,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.013,
        "after": 0.0,
        "delta": -0.013,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.15,
        "after": 4.0,
        "delta": -0.15,
        "percent_delta": -0.0361,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.232,
        "after": 0.2326,
        "delta": 0.0006,
        "percent_delta": 0.0026,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.395,
        "after": 1.0,
        "delta": 0.605,
        "percent_delta": 1.5316,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.96,
        "after": 0.0,
        "delta": -0.96,
        "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.285,
        "after": 0.2965,
        "delta": 0.0115,
        "percent_delta": 0.0404,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.461,
        "after": 0.0,
        "delta": -0.461,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.47,
        "after": 0.0,
        "delta": -0.47,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.349,
        "after": 0.3324,
        "delta": -0.0166,
        "percent_delta": -0.0476,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.829,
        "after": 1.0,
        "delta": 0.171,
        "percent_delta": 0.2063,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 2,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.395,
        "after": 1.0,
        "delta": 0.605,
        "percent_delta": 1.5316,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.96,
        "after": 0.0,
        "delta": -0.96,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.132-
predicted_3B0.013-
predicted_AB4.150-
predicted_AVG0.232-
predicted_BB0.395-
predicted_H0.960-
predicted_HR0.080-
predicted_OBP0.285-
predicted_R0.461-
predicted_RBI0.470-
predicted_SLG0.349-
predicted_SO0.829-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.018
predicted_3B0.012-0.001
predicted_AB3.908-0.242
predicted_AVG0.232-0.000
predicted_BB0.355-0.040
predicted_H0.904-0.056
predicted_HBP0.003-
predicted_HR0.072-0.008
predicted_OBP0.2860.001
predicted_R0.5100.049
predicted_RBI0.442-0.028
predicted_SLG0.344-0.005
predicted_SO0.794-0.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.1500.000
predicted_3B0.0120.000
predicted_AB3.9080.000
predicted_AVG0.2330.001
predicted_BB0.3550.000
predicted_H0.9090.005
predicted_HBP0.0030.000
predicted_HR0.0720.000
predicted_OBP0.2960.011
predicted_R0.5140.004
predicted_RBI0.4460.004
predicted_SLG0.332-0.012
predicted_SO0.793-0.001
4. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI1.0001.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.150
predicted_3B0.000-0.012
predicted_AB4.0000.092
predicted_AVG0.219-0.014
predicted_BB0.000-0.355
predicted_H1.0000.091
predicted_HR0.000-0.072
predicted_OBP0.286-0.011
predicted_R1.0000.486
predicted_RBI0.000-0.446
predicted_SLG0.313-0.019
predicted_SO1.0000.207
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
BB1.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 76
Reference playing time: 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-21.0005.0001.0000.0000.0002.0004.0000.0002.0000.23810.23810.28570.23810.00000.09520.00000.0952
last_100.2010-42.0009.0003.0000.0000.0005.0008.0002.0006.0000.21430.24440.28570.21430.00000.11910.04760.1429
season0.6076-237.00055.00010.0001.0006.00027.00035.00030.00063.0000.23210.31370.35860.23210.02530.11390.12660.2658
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1750
predicted_3B0.0100
predicted_AB3.5760
predicted_AVG0.2315
predicted_BB0.3000
predicted_H0.8280
predicted_HBP0.0030
predicted_HR0.0610
predicted_OBP0.2868
predicted_R0.5770
predicted_RBI0.4030
predicted_SLG0.3372
predicted_SO0.7460
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13200.17500.1501model_form_blend
predicted_3B0.01300.01000.0117model_form_blend
predicted_AB4.15003.57603.9084model_form_blend
predicted_AVG0.23200.23150.2318model_form_blend
predicted_BB0.39500.30000.3550model_form_blend
predicted_H0.96000.82800.9044model_form_blend
predicted_HBP-0.00300.0030form_only
predicted_HR0.08000.06100.0720model_form_blend
predicted_OBP0.28500.28680.2858model_form_blend
predicted_R0.46100.57700.5098model_form_blend
predicted_RBI0.47000.40300.4418model_form_blend
predicted_SLG0.34900.33720.3440model_form_blend
predicted_SO0.82900.74600.7941model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_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_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
allPositionsPlayed2B
gameID20260826_BAL@STL
game_typefull
mlbID702616
playerID702616
playerNameJackson Holliday
pos2B
startedTrue
startingPosition2B
teamBAL
teamID3
game_date2026-08-26
sl_k_percent23.0
sl_bb_percent11.2
sl_woba0.294
sl_xwoba0.304
sl_xba0.239
sl_xslg0.361
sl_sweet_spot_percent37.0
sl_barrel_batted_rate6.5
sl_hard_hit_percent34.0
sl_exit_velocity_avg87.0
sl_launch_angle_avg11.7
sl_whiff_percent27.8
sl_swing_percent44.5
Carlos Narváez (665966) · BATTER · C · Team BAL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 43
All-history rows before 20260827: 43
System season_avg: 0.1690
Data season_avg (2026 season-to-date): 0.1000
Diff (system - data): 0.0690
System opponent_avg: 0.3750
System season_avg diverges from 2026 season-to-date by 0.0690. 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.0951.0000.000Hitting_2B0.0230.0000.9771.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.8784.0003.000Hitting_AB2.7912.0001.2092.000
predicted_AVG0.2050.7500.000Hitting_AVG0.1000.0000.6500.750
predicted_BB0.2160.0000.000Hitting_BB0.2090.000-0.2090.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.3003.0000.000Hitting_H0.2790.0002.7213.000
predicted_HR0.0100.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.2280.7500.000Hitting_OBP0.2120.3330.5380.417
predicted_R0.2301.0000.000Hitting_R0.0231.0000.9770.000
predicted_RBI0.0800.0000.000Hitting_RBI0.0000.0000.0000.000
predicted_SLG0.3701.0000.000Hitting_SLG0.1080.0000.8921.000
predicted_SO1.0810.0001.000Hitting_SO0.9302.000-0.930-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectdeboosted
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_H: 0.3000 -> 3.0000 (boost 2.7000, better)
Biggest Deboostpredicted_SO: 1.0810 -> 0.0000 (deboost -1.0810, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend40413-predicted_SLG: 0.3700 -> 0.3113 (deboost -0.0587, worse)Final model input calibrated 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.3113 -> 0.1819 (deboost -0.1294, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling61515predicted_AB: 2.8429 -> 3.0000 (boost 0.1571, better)predicted_H: 0.3493 -> 0.0000 (deboost -0.3493, worse)AB rounded to 3 (raw=2.88), rates preserved: AVG=0.121 HR/AB=0.007
5consistency_constraints10101-predicted_R: 0.2025 -> 0.0000 (deboost -0.2025, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context11010predicted_SLG: 0.1819 -> 0.1870 (boost 0.0051, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference54150predicted_H: 0.0000 -> 3.0000 (boost 3.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
9current_json_final10101-predicted_SLG: 0.1870 -> 0.1819 (deboost -0.0051, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "665966",
  "player_name": "Carlos Narváez",
  "position": "C",
  "team": "BAL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.095,
        "predicted_3B": 0.0,
        "predicted_AB": 2.878,
        "predicted_AVG": 0.205,
        "predicted_BB": 0.216,
        "predicted_H": 0.3,
        "predicted_HR": 0.01,
        "predicted_OBP": 0.228,
        "predicted_R": 0.23,
        "predicted_RBI": 0.08,
        "predicted_SLG": 0.37,
        "predicted_SO": 1.081
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1092,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.8429,
        "predicted_AVG": 0.1813,
        "predicted_BB": 0.1897,
        "predicted_H": 0.3476,
        "predicted_HBP": 0.064,
        "predicted_HR": 0.0192,
        "predicted_OBP": 0.219,
        "predicted_R": 0.2008,
        "predicted_RBI": 0.0921,
        "predicted_SLG": 0.3113,
        "predicted_SO": 1.0255
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.095,
          "after": 0.1092,
          "delta": 0.0142,
          "percent_delta": 0.1495,
          "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.878,
          "after": 2.8429,
          "delta": -0.0351,
          "percent_delta": -0.0122,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.205,
          "after": 0.1813,
          "delta": -0.0237,
          "percent_delta": -0.1156,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.216,
          "after": 0.1897,
          "delta": -0.0263,
          "percent_delta": -0.1218,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.3,
          "after": 0.3476,
          "delta": 0.0476,
          "percent_delta": 0.1587,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.01,
          "after": 0.0192,
          "delta": 0.0092,
          "percent_delta": 0.92,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.228,
          "after": 0.219,
          "delta": -0.009,
          "percent_delta": -0.0395,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.23,
          "after": 0.2008,
          "delta": -0.0292,
          "percent_delta": -0.127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.08,
          "after": 0.0921,
          "delta": 0.0121,
          "percent_delta": 0.1512,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.37,
          "after": 0.3113,
          "delta": -0.0587,
          "percent_delta": -0.1586,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.081,
          "after": 1.0255,
          "delta": -0.0555,
          "percent_delta": -0.0513,
          "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.37,
          "after": 0.3113,
          "delta": -0.0587,
          "percent_delta": -0.1586,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1092,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.8429,
        "predicted_AVG": 0.1229,
        "predicted_BB": 0.1899,
        "predicted_H": 0.3493,
        "predicted_HBP": 0.064,
        "predicted_HR": 0.0192,
        "predicted_OBP": 0.1778,
        "predicted_R": 0.2025,
        "predicted_RBI": 0.0929,
        "predicted_SLG": 0.1819,
        "predicted_SO": 1.0247
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1092,
          "after": 0.1092,
          "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.8429,
          "after": 2.8429,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1813,
          "after": 0.1229,
          "delta": -0.0584,
          "percent_delta": -0.3221,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1897,
          "after": 0.1899,
          "delta": 0.0002,
          "percent_delta": 0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.3476,
          "after": 0.3493,
          "delta": 0.0017,
          "percent_delta": 0.0049,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.064,
          "after": 0.064,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0192,
          "after": 0.0192,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.219,
          "after": 0.1778,
          "delta": -0.0412,
          "percent_delta": -0.1881,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2008,
          "after": 0.2025,
          "delta": 0.0017,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0921,
          "after": 0.0929,
          "delta": 0.0008,
          "percent_delta": 0.0087,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3113,
          "after": 0.1819,
          "delta": -0.1294,
          "percent_delta": -0.4157,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0255,
          "after": 1.0247,
          "delta": -0.0008,
          "percent_delta": -0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3113,
          "after": 0.1819,
          "delta": -0.1294,
          "percent_delta": -0.4157,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.88), rates preserved: AVG=0.121 HR/AB=0.007",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1092,
          "after": 0.0,
          "delta": -0.1092,
          "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.8429,
          "after": 3.0,
          "delta": 0.1571,
          "percent_delta": 0.0553,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1899,
          "after": 0.0,
          "delta": -0.1899,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.3493,
          "after": 0.0,
          "delta": -0.3493,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.064,
          "after": 0.0,
          "delta": -0.064,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0192,
          "after": 0.0,
          "delta": -0.0192,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0929,
          "after": 0.0,
          "delta": -0.0929,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0247,
          "after": 1.0,
          "delta": -0.0247,
          "percent_delta": -0.0241,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.8429,
          "after": 3.0,
          "delta": 0.1571,
          "percent_delta": 0.0553,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.3493,
          "after": 0.0,
          "delta": -0.3493,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.2025,
          "after": 0.0,
          "delta": -0.2025,
          "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.2025,
          "after": 0.0,
          "delta": -0.2025,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": {},
      "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.121,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.182,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.187,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1229,
          "after": 0.121,
          "delta": -0.0019,
          "percent_delta": -0.0155,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.1778,
          "after": 0.182,
          "delta": 0.0042,
          "percent_delta": 0.0236,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.1819,
          "after": 0.187,
          "delta": 0.0051,
          "percent_delta": 0.028,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.1819,
          "after": 0.187,
          "delta": 0.0051,
          "percent_delta": 0.028,
          "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": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 3.0,
          "delta": 3.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 3.0,
          "delta": 3.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.1229,
        "predicted_BB": 0.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.1778,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.1819,
        "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.121,
          "after": 0.1229,
          "delta": 0.0019,
          "percent_delta": 0.0155,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.182,
          "after": 0.1778,
          "delta": -0.0042,
          "percent_delta": -0.0231,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.187,
          "after": 0.1819,
          "delta": -0.0051,
          "percent_delta": -0.0274,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.187,
          "after": 0.1819,
          "delta": -0.0051,
          "percent_delta": -0.0274,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.095,
        "after": 1.0,
        "delta": 0.905,
        "percent_delta": 9.5263,
        "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.878,
        "after": 4.0,
        "delta": 1.122,
        "percent_delta": 0.3899,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.205,
        "after": 0.1229,
        "delta": -0.0821,
        "percent_delta": -0.4005,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.216,
        "after": 0.0,
        "delta": -0.216,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.3,
        "after": 3.0,
        "delta": 2.7,
        "percent_delta": 9.0,
        "direction": "boost",
        "projection_effect": "better",
        "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.228,
        "after": 0.1778,
        "delta": -0.0502,
        "percent_delta": -0.2202,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.23,
        "after": 1.0,
        "delta": 0.77,
        "percent_delta": 3.3478,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.08,
        "after": 0.0,
        "delta": -0.08,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.37,
        "after": 0.1819,
        "delta": -0.1881,
        "percent_delta": -0.5084,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.081,
        "after": 0.0,
        "delta": -1.081,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.3,
        "after": 3.0,
        "delta": 2.7,
        "percent_delta": 9.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.081,
        "after": 0.0,
        "delta": -1.081,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "deboosted"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.095-
predicted_3B0.000-
predicted_AB2.878-
predicted_AVG0.205-
predicted_BB0.216-
predicted_H0.300-
predicted_HR0.010-
predicted_OBP0.228-
predicted_R0.230-
predicted_RBI0.080-
predicted_SLG0.370-
predicted_SO1.081-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1090.014
predicted_3B0.0000.000
predicted_AB2.843-0.035
predicted_AVG0.181-0.024
predicted_BB0.190-0.026
predicted_H0.3480.048
predicted_HBP0.064-
predicted_HR0.0190.009
predicted_OBP0.219-0.009
predicted_R0.201-0.029
predicted_RBI0.0920.012
predicted_SLG0.311-0.059
predicted_SO1.026-0.055
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1090.000
predicted_3B0.0000.000
predicted_AB2.8430.000
predicted_AVG0.123-0.058
predicted_BB0.1900.000
predicted_H0.3490.002
predicted_HBP0.0640.000
predicted_HR0.0190.000
predicted_OBP0.178-0.041
predicted_R0.2030.002
predicted_RBI0.0930.001
predicted_SLG0.182-0.129
predicted_SO1.025-0.001
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.88), rates preserved: AVG=0.121 HR/AB=0.007

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H0.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
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-
H0.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H0.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.000
predicted_AB3.0000.157
predicted_AVG0.121-0.002
predicted_BB0.000-0.190
predicted_H0.000-0.349
predicted_HR0.000-0.019
predicted_OBP0.1820.004
predicted_R0.000-0.203
predicted_RBI0.000-0.093
predicted_SLG0.1870.005
predicted_SO1.000-0.025
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 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-11.0001.0001.0000.0000.0000.0000.0000.0004.0000.09090.09090.18180.09090.00000.00000.00000.3636
last_100.2010-25.0002.0001.0000.0000.0000.0000.0001.0007.0000.08000.14810.12000.08000.00000.00000.04000.2800
season0.6074-213.00036.0007.0000.0003.00010.00017.00016.00080.0000.16900.24370.24410.16900.01410.04690.07510.3756
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1290
predicted_3B0.0010
predicted_AB2.7940
predicted_AVG0.1481
predicted_BB0.1530
predicted_H0.4140
predicted_HBP0.0640
predicted_HR0.0320
predicted_OBP0.2065
predicted_R0.1600
predicted_RBI0.1090
predicted_SLG0.2293
predicted_SO0.9480
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09500.12900.1092model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB2.87802.79402.8429model_form_blend
predicted_AVG0.20500.14810.1813model_form_blend
predicted_BB0.21600.15300.1897model_form_blend
predicted_H0.30000.41400.3476model_form_blend
predicted_HBP-0.06400.0640form_only
predicted_HR0.01000.03200.0192model_form_blend
predicted_OBP0.22800.20650.2190model_form_blend
predicted_R0.23000.16000.2008model_form_blend
predicted_RBI0.08000.10900.0921model_form_blend
predicted_SLG0.37000.22930.3113model_form_blend
predicted_SO1.08100.94801.0255model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP1
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC1
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder9
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260826_BAL@STL
game_typefull
mlbID665966
playerID665966
playerNameCarlos Narváez
posC
startedTrue
startingPositionC
teamBAL
teamID3
game_date2026-08-26
sl_k_percent33.3
sl_bb_percent6.7
sl_woba0.221
sl_xwoba0.263
sl_xba0.193
sl_xslg0.309
sl_sweet_spot_percent37.7
sl_barrel_batted_rate6.8
sl_hard_hit_percent39.0
sl_exit_velocity_avg91.0
sl_launch_angle_avg17.4
sl_whiff_percent33.3
sl_swing_percent52.0
Colton Cowser (681297) · BATTER · CF · Team BAL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 313
All-history rows before 20260827: 313
System season_avg: 0.2210
Data season_avg (2026 season-to-date): 0.2234
Diff (system - data): -0.0024
System opponent_avg: 0.2210

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0490.0000.000Hitting_2B0.0380.000-0.0380.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.5694.0003.000Hitting_AB2.8184.0001.1820.000
predicted_AVG0.2940.0000.333Hitting_AVG0.2230.500-0.223-0.500
predicted_BB0.3240.0000.000Hitting_BB0.4381.000-0.438-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0290.000-0.0290.000
predicted_H0.7200.0001.000Hitting_H0.6292.000-0.629-2.000
predicted_HR0.1500.0000.000Hitting_HR0.1310.000-0.1310.000
predicted_OBP0.3400.0000.333Hitting_OBP0.3280.600-0.328-0.600
predicted_R0.3240.0000.000Hitting_R0.3830.000-0.3830.000
predicted_RBI0.2800.0000.000Hitting_RBI0.3800.000-0.3800.000
predicted_SLG0.5100.0000.333Hitting_SLG0.3760.500-0.376-0.500
predicted_SO0.9123.0001.000Hitting_SO0.9900.0002.0103.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.9120 -> 3.0000 (boost 2.0880, worse)
Biggest Deboostpredicted_H: 0.7200 -> 0.0000 (deboost -0.7200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_AB: 2.5690 -> 2.6524 (boost 0.0834, better)predicted_SLG: 0.5100 -> 0.4878 (deboost -0.0222, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot31212predicted_OBP: 0.3231 -> 0.3359 (boost 0.0128, better)predicted_SLG: 0.4878 -> 0.4690 (deboost -0.0188, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_AB: 2.6524 -> 3.0000 (boost 0.3476, better)predicted_RBI: 0.2986 -> 0.0000 (deboost -0.2986, worse)AB rounded to 3 (raw=2.65), rates preserved: AVG=0.267 HR/AB=0.059
5consistency_constraints10101-predicted_R: 0.3451 -> 0.0000 (deboost -0.3451, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context22020predicted_SLG: 0.4690 -> 0.4770 (boost 0.0080, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference32112predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final20202-predicted_SLG: 0.4770 -> 0.4690 (deboost -0.0080, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "681297",
  "player_name": "Colton Cowser",
  "position": "CF",
  "team": "BAL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.049,
        "predicted_3B": 0.0,
        "predicted_AB": 2.569,
        "predicted_AVG": 0.294,
        "predicted_BB": 0.324,
        "predicted_H": 0.72,
        "predicted_HR": 0.15,
        "predicted_OBP": 0.34,
        "predicted_R": 0.324,
        "predicted_RBI": 0.28,
        "predicted_SLG": 0.51,
        "predicted_SO": 0.912
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0685,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.6524,
        "predicted_AVG": 0.2742,
        "predicted_BB": 0.2749,
        "predicted_H": 0.7048,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.1551,
        "predicted_OBP": 0.3231,
        "predicted_R": 0.3422,
        "predicted_RBI": 0.2961,
        "predicted_SLG": 0.4878,
        "predicted_SO": 0.9209
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.049,
          "after": 0.0685,
          "delta": 0.0195,
          "percent_delta": 0.398,
          "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.569,
          "after": 2.6524,
          "delta": 0.0834,
          "percent_delta": 0.0325,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.294,
          "after": 0.2742,
          "delta": -0.0198,
          "percent_delta": -0.0673,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.324,
          "after": 0.2749,
          "delta": -0.0491,
          "percent_delta": -0.1515,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.72,
          "after": 0.7048,
          "delta": -0.0152,
          "percent_delta": -0.0211,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.15,
          "after": 0.1551,
          "delta": 0.0051,
          "percent_delta": 0.034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.34,
          "after": 0.3231,
          "delta": -0.0169,
          "percent_delta": -0.0497,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.324,
          "after": 0.3422,
          "delta": 0.0182,
          "percent_delta": 0.0562,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.28,
          "after": 0.2961,
          "delta": 0.0161,
          "percent_delta": 0.0575,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.51,
          "after": 0.4878,
          "delta": -0.0222,
          "percent_delta": -0.0435,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.912,
          "after": 0.9209,
          "delta": 0.0089,
          "percent_delta": 0.0098,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.569,
          "after": 2.6524,
          "delta": 0.0834,
          "percent_delta": 0.0325,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.51,
          "after": 0.4878,
          "delta": -0.0222,
          "percent_delta": -0.0435,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 102
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0685,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.6524,
        "predicted_AVG": 0.2671,
        "predicted_BB": 0.2751,
        "predicted_H": 0.7083,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.1555,
        "predicted_OBP": 0.3359,
        "predicted_R": 0.3451,
        "predicted_RBI": 0.2986,
        "predicted_SLG": 0.469,
        "predicted_SO": 0.9202
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0685,
          "after": 0.0685,
          "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.6524,
          "after": 2.6524,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2742,
          "after": 0.2671,
          "delta": -0.0071,
          "percent_delta": -0.0259,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2749,
          "after": 0.2751,
          "delta": 0.0002,
          "percent_delta": 0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7048,
          "after": 0.7083,
          "delta": 0.0035,
          "percent_delta": 0.005,
          "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.1551,
          "after": 0.1555,
          "delta": 0.0004,
          "percent_delta": 0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3231,
          "after": 0.3359,
          "delta": 0.0128,
          "percent_delta": 0.0396,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3422,
          "after": 0.3451,
          "delta": 0.0029,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2961,
          "after": 0.2986,
          "delta": 0.0025,
          "percent_delta": 0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4878,
          "after": 0.469,
          "delta": -0.0188,
          "percent_delta": -0.0385,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9209,
          "after": 0.9202,
          "delta": -0.0007,
          "percent_delta": -0.0008,
          "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.3231,
          "after": 0.3359,
          "delta": 0.0128,
          "percent_delta": 0.0396,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4878,
          "after": 0.469,
          "delta": -0.0188,
          "percent_delta": -0.0385,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.65), rates preserved: AVG=0.267 HR/AB=0.059",
      "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.0685,
          "after": 0.0,
          "delta": -0.0685,
          "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.6524,
          "after": 3.0,
          "delta": 0.3476,
          "percent_delta": 0.1311,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2751,
          "after": 0.0,
          "delta": -0.2751,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7083,
          "after": 1.0,
          "delta": 0.2917,
          "percent_delta": 0.4118,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.008,
          "after": 0.0,
          "delta": -0.008,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1555,
          "after": 0.0,
          "delta": -0.1555,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2986,
          "after": 0.0,
          "delta": -0.2986,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9202,
          "after": 1.0,
          "delta": 0.0798,
          "percent_delta": 0.0867,
          "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.6524,
          "after": 3.0,
          "delta": 0.3476,
          "percent_delta": 0.1311,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.2986,
          "after": 0.0,
          "delta": -0.2986,
          "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.3451,
          "after": 0.0,
          "delta": -0.3451,
          "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.3451,
          "after": 0.0,
          "delta": -0.3451,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": {},
      "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.267,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.341,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.477,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2671,
          "after": 0.267,
          "delta": -0.0001,
          "percent_delta": -0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3359,
          "after": 0.341,
          "delta": 0.0051,
          "percent_delta": 0.0152,
          "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.469,
          "after": 0.477,
          "delta": 0.008,
          "percent_delta": 0.0171,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.469,
          "after": 0.477,
          "delta": 0.008,
          "percent_delta": 0.0171,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2671,
        "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.3359,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.469,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.267,
          "after": 0.2671,
          "delta": 0.0001,
          "percent_delta": 0.0002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.341,
          "after": 0.3359,
          "delta": -0.0051,
          "percent_delta": -0.0149,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.477,
          "after": 0.469,
          "delta": -0.008,
          "percent_delta": -0.0167,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.477,
          "after": 0.469,
          "delta": -0.008,
          "percent_delta": -0.0167,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.049,
        "after": 0.0,
        "delta": -0.049,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.569,
        "after": 4.0,
        "delta": 1.431,
        "percent_delta": 0.557,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.294,
        "after": 0.2671,
        "delta": -0.0269,
        "percent_delta": -0.0915,
        "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.72,
        "after": 0.0,
        "delta": -0.72,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.15,
        "after": 0.0,
        "delta": -0.15,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.34,
        "after": 0.3359,
        "delta": -0.0041,
        "percent_delta": -0.0121,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.324,
        "after": 0.0,
        "delta": -0.324,
        "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.51,
        "after": 0.469,
        "delta": -0.041,
        "percent_delta": -0.0804,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.912,
        "after": 3.0,
        "delta": 2.088,
        "percent_delta": 2.2895,
        "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.912,
        "after": 3.0,
        "delta": 2.088,
        "percent_delta": 2.2895,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.72,
        "after": 0.0,
        "delta": -0.72,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.049-
predicted_3B0.000-
predicted_AB2.569-
predicted_AVG0.294-
predicted_BB0.324-
predicted_H0.720-
predicted_HR0.150-
predicted_OBP0.340-
predicted_R0.324-
predicted_RBI0.280-
predicted_SLG0.510-
predicted_SO0.912-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.0690.020
predicted_3B0.0000.000
predicted_AB2.6520.083
predicted_AVG0.274-0.020
predicted_BB0.275-0.049
predicted_H0.705-0.015
predicted_HBP0.008-
predicted_HR0.1550.005
predicted_OBP0.323-0.017
predicted_R0.3420.018
predicted_RBI0.2960.016
predicted_SLG0.488-0.022
predicted_SO0.9210.009
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0690.000
predicted_3B0.0000.000
predicted_AB2.6520.000
predicted_AVG0.267-0.007
predicted_BB0.2750.000
predicted_H0.7080.004
predicted_HBP0.0080.000
predicted_HR0.1550.000
predicted_OBP0.3360.013
predicted_R0.3450.003
predicted_RBI0.2990.003
predicted_SLG0.469-0.019
predicted_SO0.920-0.001
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.65), rates preserved: AVG=0.267 HR/AB=0.059

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.069
predicted_3B0.000-0.000
predicted_AB3.0000.348
predicted_AVG0.267-0.000
predicted_BB0.000-0.275
predicted_H1.0000.292
predicted_HR0.000-0.155
predicted_OBP0.3410.005
predicted_R0.000-0.345
predicted_RBI0.000-0.299
predicted_SLG0.4770.008
predicted_SO1.0000.080
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 102
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-14.0004.0001.0000.0001.0001.0002.0000.0005.0000.28570.28570.57140.28570.07140.07140.00000.3571
last_100.2010-28.0008.0001.0000.0003.0004.0004.0000.0009.0000.28570.28570.64290.28570.10710.14290.00000.3214
season0.60102-262.00058.0005.0000.00011.00031.00033.00033.00093.0000.22140.30870.36640.22140.04200.11830.12600.3550
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0950
predicted_3B0.0010
predicted_AB2.7660
predicted_AVG0.2472
predicted_BB0.2080
predicted_H0.6840
predicted_HBP0.0080
predicted_HR0.1620
predicted_OBP0.3000
predicted_R0.3670
predicted_RBI0.3180
predicted_SLG0.4576
predicted_SO0.9330
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.04900.09500.0685model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB2.56902.76602.6524model_form_blend
predicted_AVG0.29400.24720.2742model_form_blend
predicted_BB0.32400.20800.2749model_form_blend
predicted_H0.72000.68400.7048model_form_blend
predicted_HBP-0.00800.0080form_only
predicted_HR0.15000.16200.1551model_form_blend
predicted_OBP0.34000.30000.3231model_form_blend
predicted_R0.32400.36700.3422model_form_blend
predicted_RBI0.28000.31800.2961model_form_blend
predicted_SLG0.51000.45760.4878model_form_blend
predicted_SO0.91200.93300.9209model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260826_BAL@STL
game_typefull
mlbID681297
playerID681297
playerNameColton Cowser
posCF
startedTrue
startingPositionCF
teamBAL
teamID3
game_date2026-08-26
sl_k_percent29.7
sl_bb_percent11.7
sl_woba0.308
sl_xwoba0.324
sl_xba0.223
sl_xslg0.425
sl_sweet_spot_percent32.5
sl_barrel_batted_rate10.8
sl_hard_hit_percent40.2
sl_exit_velocity_avg87.8
sl_launch_angle_avg13.6
sl_whiff_percent32.5
sl_swing_percent43.9
Trevor Rogers (669432) · PITCHER · Starter · Team BAL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 24
All-history rows before 20260827: 24

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB3.0003.0003.000Pitching_BB1.5001.0001.5002.000
predicted_ER2.0002.0002.000Pitching_ER2.5423.000-0.542-1.000
predicted_H2.0002.0002.000Pitching_H5.3336.000-3.333-4.000
predicted_IP5.2005.2005.200Pitching_InningsPitched5.3927.000-0.192-1.800
predicted_SO4.0004.0004.000Pitching_SO4.7506.000-0.750-2.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB3.000-
predicted_ER2.000-
predicted_H2.000-
predicted_HR1.000-
predicted_IP5.667-
predicted_SO4.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 24
Reference playing time: 5.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45529.00013.00028.0004.00031.0004.0004.03451.10340.44830.96550.13791.06900.1379
last_100.351059.20018.00053.00012.00060.0005.0002.71511.08940.30170.88830.20111.00560.0838
season0.2024132.20061.000128.00036.000114.00014.0004.13821.23620.45980.96480.27140.85930.1055
Weighted Prediction From Real Data
MetricValue
predicted_BB1.2560
predicted_ER2.4020
predicted_ERA3.7508
predicted_H5.4440
predicted_HR0.6820
predicted_IP5.2000
predicted_SO5.7320
predicted_WHIP1.1625
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB3.00001.25601.9934model_form_blend
predicted_ER2.00002.40202.2320model_form_blend
predicted_ERA-3.75083.7508form_only
predicted_H2.00005.44403.9877model_form_blend
predicted_HR1.00000.68200.8165model_form_blend
predicted_IP5.20005.20005.2000model_form_blend
predicted_SO4.00005.73204.9996model_form_blend
predicted_WHIP-1.16251.1625form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.2
H2
R2
ER2
BB3
SO4
HR1
BF22
Pitches101

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced27
Pitching_ER3
Pitching_ERA4.14
Pitching_Flyouts2
Pitching_Groundouts9
Pitching_H6
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched7.0
Pitching_Pitches103
Pitching_R3
Pitching_SO6
Pitching_Strikes75
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260821_TB@BAL
game_typefull
mlbID669432
playerID669432
playerNameTrevor Rogers
posP
startedTrue
startingPositionP
teamBAL
teamID3
game_date2026-08-21
sl_k_percent20.9
sl_bb_percent6.4
sl_woba0.311
sl_xwoba0.304
sl_sweet_spot_percent31.8
sl_barrel_batted_rate7.2
sl_hard_hit_percent38.0
sl_whiff_percent23.6
sl_swing_percent52.3
sl_avg_best_speed77.664941553
sl_avg_hyper_speed93.91335618
Andrew Kittredge (552640) · PITCHER · Closer · Team BAL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 46
All-history rows before 20260827: 46

Metric-by-Metric Comparison

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER0.000-
predicted_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: 45
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0001.0006.0000.0004.0000.0001.80001.20000.20001.20000.00000.80000.0000
last_100.35108.2003.00010.0001.0005.0000.0003.11541.26920.34621.15390.11540.57690.0000
season0.204539.10015.00043.00010.00033.0005.0003.43221.34750.38141.09320.25420.83900.1271
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1980
predicted_ER0.3700
predicted_ERA3.3312
predicted_H1.0900
predicted_HR0.0720
predicted_IP1.0000
predicted_SO0.8130
predicted_WHIP1.2882
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.19800.6101model_form_blend
predicted_ER0.00000.37000.1799model_form_blend
predicted_ERA-3.33123.3312form_only
predicted_H0.00001.09000.5299model_form_blend
predicted_HR0.00000.07200.0350model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00000.81300.3952model_form_blend
predicted_WHIP-1.28821.2882form_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 date46
Season rows before report date46
Report year2026
Profile rows used45
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
BB1
SO0
HR0
BF4
Pitches23

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER0
Pitching_ERA3.35
Pitching_Flyouts0
Pitching_Groundouts2
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches25
Pitching_R0
Pitching_SO0
Pitching_Strikes15
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder6
allPositionsPlayedP
gameID20260826_BAL@STL
game_typefull
mlbID552640
playerID552640
playerNameAndrew Kittredge
posP
startedFalse
startingPositionP
teamBAL
teamID3
game_date2026-08-26
sl_k_percent18.7
sl_bb_percent6.2
sl_woba0.308
sl_xwoba0.308
sl_sweet_spot_percent35.9
sl_barrel_batted_rate5.5
sl_hard_hit_percent37.9
sl_whiff_percent23.5
sl_swing_percent54.0
sl_avg_best_speed76.995086197
sl_avg_hyper_speed93.951170851
Rico Garcia (670329) · PITCHER · Middle Reliever (High Leverage) · Team BAL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 62
All-history rows before 20260827: 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.3061.000-0.306-1.000
predicted_ER0.0000.0000.000Pitching_ER0.3230.000-0.3230.000
predicted_H1.0001.0001.000Pitching_H0.5160.0000.4841.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8181.1000.182-0.100
predicted_SO2.0002.0002.000Pitching_SO0.9522.0001.0480.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": "670329",
  "player_name": "Rico Garcia",
  "position": "Middle Reliever (High Leverage)",
  "team": "BAL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 60
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0000.0001.0001.0005.0000.0000.00000.40000.00000.20000.20001.00000.0000
last_100.35109.0000.0002.0003.0008.0000.0000.00000.55560.00000.22220.33330.88890.0000
season0.206055.20016.00029.00017.00057.0009.0002.58680.82630.28740.52100.30541.02390.1617
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2990
predicted_ER0.1950
predicted_ERA1.7507
predicted_H0.4890
predicted_HR0.0680
predicted_IP1.0000
predicted_SO0.9600
predicted_WHIP0.7879
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.29900.1553model_form_blend
predicted_ER0.00000.19500.1013model_form_blend
predicted_ERA-1.75071.7507form_only
predicted_H1.00000.48900.7346model_form_blend
predicted_HR0.00000.06800.0353model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00000.96001.4599model_form_blend
predicted_WHIP-0.78790.7879form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H1
R0
ER0
BB0
SO2
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 Faced5
Pitching_ER0
Pitching_ERA3.16
Pitching_Flyouts0
Pitching_Groundouts2
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.1
Pitching_Pitches26
Pitching_R0
Pitching_SO2
Pitching_Strikes15
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260826_BAL@STL
game_typefull
mlbID670329
playerID670329
playerNameRico Garcia
posP
startedFalse
startingPositionP
teamBAL
teamID3
game_date2026-08-26
sl_k_percent26.0
sl_bb_percent8.7
sl_woba0.261
sl_xwoba0.278
sl_sweet_spot_percent24.2
sl_barrel_batted_rate6.0
sl_hard_hit_percent34.2
sl_whiff_percent33.0
sl_swing_percent49.0
sl_avg_best_speed74.808335479
sl_avg_hyper_speed93.155859724
Josh Walker (677020) · PITCHER · Middle Reliever (High Leverage) · Team BAL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 18
All-history rows before 20260827: 18

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3330.000-0.3330.000
predicted_ER1.0001.0001.000Pitching_ER0.2780.0000.7221.000
predicted_H1.0001.0001.000Pitching_H0.9441.0000.0560.000
predicted_IP0.2000.2000.200Pitching_InningsPitched0.7720.200-0.5720.000
predicted_SO2.0002.0002.000Pitching_SO0.9441.0001.0561.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": "677020",
  "player_name": "Josh Walker",
  "position": "Middle Reliever (High Leverage)",
  "team": "BAL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.6667,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.2,
        "predicted_R": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 0.2,
        "delta": -0.4667,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 0.2,
        "delta": -0.4667,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER1.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP0.667-
predicted_SO2.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 17
Reference playing time: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4553.2000.0003.0002.0004.0000.0000.00001.36360.00000.81820.54541.09090.0000
last_100.35108.1001.0007.0004.0008.0001.0001.08001.32000.12000.84000.48000.96000.1200
season0.201717.2005.00016.0006.00016.0002.0002.54721.24530.28300.90570.33960.90570.1132
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2880
predicted_ER0.2320
predicted_ERA3.0048
predicted_H0.6390
predicted_HR0.0780
predicted_IP0.2000
predicted_SO0.6750
predicted_WHIP1.3351
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.28800.1160model_form_blend
predicted_ER1.00000.23200.6907model_form_blend
predicted_ERA-3.00483.0048form_only
predicted_H1.00000.63900.8546model_form_blend
predicted_HR0.00000.07800.0314model_form_blend
predicted_IP0.20000.20000.2000model_form_blend
predicted_SO2.00000.67501.4663model_form_blend
predicted_WHIP-1.33511.3351form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP0.2
H1
R1
ER1
BB0
SO2
HR0
BF3
Pitches11

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA2.45
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches11
Pitching_R0
Pitching_SO1
Pitching_Strikes7
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260826_BAL@STL
game_typefull
mlbID677020
playerID677020
playerNameJosh Walker
posP
startedFalse
startingPositionP
teamBAL
teamID3
game_date2026-08-26
sl_k_percent22.2
sl_bb_percent7.4
sl_woba0.301
sl_xwoba0.268
sl_sweet_spot_percent30.4
sl_barrel_batted_rate5.4
sl_hard_hit_percent41.1
sl_whiff_percent20.3
sl_swing_percent50.5
sl_avg_best_speed81.689120357
sl_avg_hyper_speed93.718594
Yennier Cano (666974) · PITCHER · Setup Man · Team BAL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 56
All-history rows before 20260827: 56

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.1790.000-0.1790.000
predicted_ER0.0000.0000.000Pitching_ER0.2680.000-0.2680.000
predicted_H0.0000.0000.000Pitching_H0.6430.000-0.6430.000
predicted_IP0.2000.2000.200Pitching_InningsPitched0.6120.100-0.4120.100
predicted_SO0.0000.0000.000Pitching_SO0.6790.000-0.6790.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": "666974",
  "player_name": "Yennier Cano",
  "position": "Setup Man",
  "team": "BAL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.6667,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.2,
        "predicted_R": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 0.2,
        "delta": -0.4667,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 0.2,
        "delta": -0.4667,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 54
Reference playing time: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4553.1003.0005.0002.0004.0000.0008.10002.10000.90001.50000.60001.20000.0000
last_100.35108.1003.0006.0002.00010.0000.0003.24000.96000.36000.72000.24001.20000.0000
season0.205442.00011.00030.0009.00038.0001.0002.35710.92860.26190.71430.21430.90480.0238
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2570
predicted_ER0.3680
predicted_ERA4.9734
predicted_H0.6900
predicted_HR0.0380
predicted_IP0.2000
predicted_SO0.7120
predicted_WHIP1.4205
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.25700.1266model_form_blend
predicted_ER0.00000.36800.1813model_form_blend
predicted_ERA-4.97344.9734form_only
predicted_H0.00000.69000.3400model_form_blend
predicted_HR0.00000.03800.0187model_form_blend
predicted_IP0.20000.20000.2000model_form_blend
predicted_SO0.00000.71200.3508model_form_blend
predicted_WHIP-1.42051.4205form_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 date56
Season rows before report date56
Report year2026
Profile rows used54
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP0.2
H0
R0
ER0
BB0
SO0
HR0
BF2
Pitches8

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced1
Pitching_ER0
Pitching_ERA3.21
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.1
Pitching_Pitches5
Pitching_R0
Pitching_SO0
Pitching_Strikes2
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260825_BAL@STL
game_typefull
mlbID666974
playerID666974
playerNameYennier Cano
posP
startedFalse
startingPositionP
teamBAL
teamID3
game_date2026-08-25
sl_k_percent22.3
sl_bb_percent5.0
sl_woba0.241
sl_xwoba0.272
sl_sweet_spot_percent25.0
sl_barrel_batted_rate5.6
sl_hard_hit_percent39.1
sl_whiff_percent27.0
sl_swing_percent45.5
sl_avg_best_speed78.422809516
sl_avg_hyper_speed94.101806129

Home Team: STL

Home Pitcher Deep Analysis

FieldValue
PitcherMichael McGreevy
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.5909
ESPN Rank64
Movement AvailableTrue
Primary Pitch-
Movement Score-0.1549
Avg Velo87.0816
Avg Spin2204.0067
HB Inches0
IVB Inches0
Release Extension0
Pre IP5
Pre ER4
Pre H7
Pre BB3
Pre SO6
Season ERA3.5388
Season WHIP1.2087
Role Avg IP5.4930
Recent Avg IP4.6000
Last Start IP5.1000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "STL",
    "games": 133,
    "wins": 66,
    "losses": 67,
    "win_pct": 0.4962,
    "runs_scored": 586.0,
    "runs_allowed": 600.0,
    "run_differential": -14.0,
    "run_differential_per_game": -0.1053,
    "avg_runs_scored": 4.406,
    "avg_runs_allowed": 4.5113,
    "offense_index": 0.9836,
    "defense_index": 0.993,
    "current_streak": "L4",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.9,
      "avg_runs_allowed": 6.3,
      "run_differential": -14.0
    },
    "available": true,
    "quality_score": -0.0512
  },
  "opponent": {
    "team": "BAL",
    "games": 132,
    "wins": 64,
    "losses": 68,
    "win_pct": 0.4848,
    "runs_scored": 596.0,
    "runs_allowed": 619.0,
    "run_differential": -23.0,
    "run_differential_per_game": -0.1742,
    "avg_runs_scored": 4.5152,
    "avg_runs_allowed": 4.6894,
    "offense_index": 1.0079,
    "defense_index": 0.9553,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 3.5,
      "run_differential": 12.0
    },
    "available": true,
    "quality_score": -0.0343
  },
  "edges": {
    "quality_edge": -0.0169,
    "offense_edge": -0.0164,
    "opponent_offense_edge": 0.0079,
    "defense_strength": -0.007,
    "opponent_defense_weakness": 0.0447,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 0.9988,
    "run_prevention": 1.0028,
    "strikeout": 0.9989
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "700241",
    "profile": {
      "available": true,
      "pitcher_id": "700241",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 511.0,
        "k_percent": 17.0,
        "bb_percent": 6.5,
        "woba": 0.31,
        "xwoba": 0.351,
        "sweet_spot_percent": 32.8,
        "barrel_batted_rate": 9.9,
        "hard_hit_percent": 42.4,
        "avg_best_speed": 78.926,
        "avg_hyper_speed": 94.8424,
        "whiff_percent": 19.4,
        "swing_percent": 44.7
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.6027,
        "command_and_miss": -0.4764,
        "regression_edge": -1.1714,
        "xwoba_edge": -1.1429,
        "barrel_edge": -0.6222,
        "hard_hit_edge": -0.6571,
        "whiff_edge": -0.8286,
        "bb_edge": 0.675,
        "pitch_design_score": -0.1549
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "700241",
        "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": 87.08161246517682,
          "release_spin_rate": 2204.006727677546,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 87.08161246517682,
            "release_spin_rate": 2204.006727677546,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0816,
          "release_spin_rate": 2204.0067,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.1549,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -1.1065,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": -0.5909,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0502,
      "strikeout_factor": 0.9383,
      "walk_factor": 0.946,
      "homer_factor": 1.1103,
      "woba_minus_xwoba": -0.041,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "700241",
        "espn_id": 4424141,
        "player_name": "Michael McGreevy",
        "team": "STL",
        "role": "pitcher",
        "espn_rank": 64,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 64,
          "gp_value": 25.0,
          "gp_rank": 275,
          "gs_value": 25.0,
          "gs_rank": 33,
          "qs_value": 14.0,
          "qs_rank": 15,
          "era_value": 3.5388,
          "era_rank": 26.0,
          "w_value": 5.0,
          "w_rank": 123,
          "l_value": 9.0,
          "l_rank": 19,
          "sv_value": 0.0,
          "sv_rank": 241,
          "hld_value": 0.0,
          "hld_rank": 331,
          "ip_value": 137.1,
          "ip_rank": 43,
          "h_value": 130.0,
          "h_rank": 29,
          "er_value": 54.0,
          "er_rank": 70,
          "hr_value": 18.0,
          "hr_rank": 39,
          "bb_value": 36.0,
          "bb_rank": 90,
          "k_value": 95.0,
          "k_rank": 96,
          "k_per_9_value": 6.225728,
          "k_per_9_rank": 60.0,
          "whip_value": 1.2087,
          "whip_rank": 30.0,
          "war_value": 2.07,
          "war_rank": 1.0
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 3.0,
        "factor": 1.0502,
        "adjusted": 3
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 1.0502,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.946,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 1.1103,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 4.0,
        "factor": 0.9383,
        "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": 54.0,
    "ER": 23,
    "H": 54,
    "BB": 16,
    "SO": 42,
    "HR": 6,
    "ERA": 3.8333333333333335,
    "WHIP": 1.2962962962962963,
    "K9": 7.0,
    "HR9": 1.0,
    "games_pitched": 10,
    "quality_starts": 5,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-20T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "700241",
  "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": 87.08161246517682,
    "release_spin_rate": 2204.006727677546,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 87.08161246517682,
      "release_spin_rate": 2204.006727677546,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0816,
    "release_spin_rate": 2204.0067,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.1549,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.1065,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": 25.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8333,
    "prior_weight": 0.1667
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "700241",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 25,
  "reference_playing_time": 5.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 23.0,
        "ER": 15.0,
        "R": 18.0,
        "H": 28.0,
        "BB": 9.0,
        "SO": 21.0,
        "HR": 3.0,
        "BF": 104.0,
        "Pitches": 448.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 3.0,
        "R": 3.6,
        "H": 5.6,
        "BB": 1.8,
        "SO": 4.2,
        "HR": 0.6,
        "BF": 20.8,
        "Pitches": 89.6
      },
      "rates": {
        "ERA": 5.8696,
        "WHIP": 1.6087,
        "ER_per_IP": 0.65217,
        "H_per_IP": 1.21739,
        "BB_per_IP": 0.3913,
        "SO_per_IP": 0.91304,
        "HR_per_IP": 0.13043
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 54.0,
        "ER": 23.0,
        "R": 27.0,
        "H": 54.0,
        "BB": 16.0,
        "SO": 42.0,
        "HR": 6.0,
        "BF": 225.0,
        "Pitches": 908.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 2.3,
        "R": 2.7,
        "H": 5.4,
        "BB": 1.6,
        "SO": 4.2,
        "HR": 0.6,
        "BF": 22.5,
        "Pitches": 90.8
      },
      "rates": {
        "ERA": 3.8333,
        "WHIP": 1.2963,
        "ER_per_IP": 0.42593,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.2963,
        "SO_per_IP": 0.77778,
        "HR_per_IP": 0.11111
      }
    },
    "season": {
      "games": 25,
      "totals": {
        "IP": 137.1,
        "ER": 54.0,
        "R": 58.0,
        "H": 130.0,
        "BB": 36.0,
        "SO": 95.0,
        "HR": 18.0,
        "BF": 558.0,
        "Pitches": 2225.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 2.16,
        "R": 2.32,
        "H": 5.2,
        "BB": 1.44,
        "SO": 3.8,
        "HR": 0.72,
        "BF": 22.32,
        "Pitches": 89.0
      },
      "rates": {
        "ERA": 3.5388,
        "WHIP": 1.2087,
        "ER_per_IP": 0.3932,
        "H_per_IP": 0.9466,
        "BB_per_IP": 0.26214,
        "SO_per_IP": 0.69175,
        "HR_per_IP": 0.13107
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.0,
    "predicted_ER": 2.603,
    "predicted_H": 5.372,
    "predicted_BB": 1.7,
    "predicted_SO": 4.234,
    "predicted_HR": 0.642,
    "predicted_ERA": 4.66,
    "predicted_WHIP": 1.4066
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4204,
  "form_weight": 0.5796,
  "form_reliability": 0.8333,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 25.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8333,
    "prior_weight": 0.1667
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.0,
      "form": 5.0,
      "final": 5.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 4.0,
      "form": 2.603,
      "final": 3.1903,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 7.0,
      "form": 5.372,
      "final": 6.0565,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 3.0,
      "form": 1.7,
      "final": 2.2466,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 6.0,
      "form": 4.234,
      "final": 4.9765,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.642,
      "final": 0.3721,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.66,
      "final": 4.66,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4066,
      "final": 1.4066,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherGeorge Soriano
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0767
ESPN Rank356
Movement AvailableTrue
Primary Pitch-
Movement Score0.1010
Avg Velo91.6513
Avg Spin2144.3523
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA4.1053
Season WHIP1.2456
Role Avg IP0.9660
Recent Avg IP0.8670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "STL",
    "games": 133,
    "wins": 66,
    "losses": 67,
    "win_pct": 0.4962,
    "runs_scored": 586.0,
    "runs_allowed": 600.0,
    "run_differential": -14.0,
    "run_differential_per_game": -0.1053,
    "avg_runs_scored": 4.406,
    "avg_runs_allowed": 4.5113,
    "offense_index": 0.9836,
    "defense_index": 0.993,
    "current_streak": "L4",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.9,
      "avg_runs_allowed": 6.3,
      "run_differential": -14.0
    },
    "available": true,
    "quality_score": -0.0512
  },
  "opponent": {
    "team": "BAL",
    "games": 132,
    "wins": 64,
    "losses": 68,
    "win_pct": 0.4848,
    "runs_scored": 596.0,
    "runs_allowed": 619.0,
    "run_differential": -23.0,
    "run_differential_per_game": -0.1742,
    "avg_runs_scored": 4.5152,
    "avg_runs_allowed": 4.6894,
    "offense_index": 1.0079,
    "defense_index": 0.9553,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 3.5,
      "run_differential": 12.0
    },
    "available": true,
    "quality_score": -0.0343
  },
  "edges": {
    "quality_edge": -0.0169,
    "offense_edge": -0.0164,
    "opponent_offense_edge": 0.0079,
    "defense_strength": -0.007,
    "opponent_defense_weakness": 0.0447,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 0.9988,
    "run_prevention": 1.0028,
    "strikeout": 0.9989
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "666277",
    "profile": {
      "available": true,
      "pitcher_id": "666277",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 232.0,
        "k_percent": 23.6,
        "bb_percent": 10.7,
        "woba": 0.303,
        "xwoba": 0.321,
        "sweet_spot_percent": 28.7,
        "barrel_batted_rate": 9.6,
        "hard_hit_percent": 41.7,
        "avg_best_speed": 80.559,
        "avg_hyper_speed": 94.5736,
        "whiff_percent": 30.5,
        "swing_percent": 47.9
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.2061,
        "command_and_miss": 0.2929,
        "regression_edge": -0.5143,
        "xwoba_edge": -0.2857,
        "barrel_edge": -0.5556,
        "hard_hit_edge": -0.5571,
        "whiff_edge": 0.7571,
        "bb_edge": -0.375,
        "pitch_design_score": 0.101
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "666277",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 16,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 16,
          "pitch_usage": 0.0,
          "release_speed": 91.65133654744871,
          "release_spin_rate": 2144.3523231060412,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 16,
            "pitch_usage": 0.0,
            "release_speed": 91.65133654744871,
            "release_spin_rate": 2144.3523231060412,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.6513,
          "release_spin_rate": 2144.3523,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.101,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.7214,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": -0.0767,
      "sample_weight": 0.928,
      "run_prevention_factor": 1.0065,
      "strikeout_factor": 1.0366,
      "walk_factor": 1.0278,
      "homer_factor": 1.0699,
      "woba_minus_xwoba": -0.018,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "666277",
        "espn_id": 4917836,
        "player_name": "George Soriano",
        "team": "STL",
        "role": "pitcher",
        "espn_rank": 356,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 356,
          "gp_value": 59.0,
          "gp_rank": 20,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 4.1052,
          "era_rank": null,
          "w_value": 6.0,
          "w_rank": 93,
          "l_value": 3.0,
          "l_rank": 219,
          "sv_value": 2.0,
          "sv_rank": 84,
          "hld_value": 19.0,
          "hld_rank": 15,
          "ip_value": 57.0,
          "ip_rank": 221,
          "h_value": 45.0,
          "h_rank": 250,
          "er_value": 26.0,
          "er_rank": 208,
          "hr_value": 9.0,
          "hr_rank": 163,
          "bb_value": 26.0,
          "bb_rank": 184,
          "k_value": 57.0,
          "k_rank": 220,
          "k_per_9_value": 9.0,
          "k_per_9_rank": 26.0,
          "whip_value": 1.2456,
          "whip_rank": null,
          "war_value": 0.17,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 1.006,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.006,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.0258,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0649,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.034,
        "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": 8,
    "H": 9,
    "BB": 7,
    "SO": 11,
    "HR": 3,
    "ERA": 8.0,
    "WHIP": 1.7777777777777777,
    "K9": 11.0,
    "HR9": 3.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-23T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "666277",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 16,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 16,
    "pitch_usage": 0.0,
    "release_speed": 91.65133654744871,
    "release_spin_rate": 2144.3523231060412,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 16,
      "pitch_usage": 0.0,
      "release_speed": 91.65133654744871,
      "release_spin_rate": 2144.3523231060412,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.6513,
    "release_spin_rate": 2144.3523,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.101,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.7214,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.439,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6959,
    "prior_weight": 0.3041
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "666277",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 59,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 5.0,
        "R": 5.0,
        "H": 3.0,
        "BB": 4.0,
        "SO": 4.0,
        "HR": 1.0,
        "BF": 19.0,
        "Pitches": 82.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 0.6,
        "BB": 0.8,
        "SO": 0.8,
        "HR": 0.2,
        "BF": 3.8,
        "Pitches": 16.4
      },
      "rates": {
        "ERA": 10.3846,
        "WHIP": 1.6154,
        "ER_per_IP": 1.15385,
        "H_per_IP": 0.69231,
        "BB_per_IP": 0.92308,
        "SO_per_IP": 0.92308,
        "HR_per_IP": 0.23077
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.0,
        "ER": 8.0,
        "R": 8.0,
        "H": 9.0,
        "BB": 7.0,
        "SO": 11.0,
        "HR": 3.0,
        "BF": 43.0,
        "Pitches": 188.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.8,
        "R": 0.8,
        "H": 0.9,
        "BB": 0.7,
        "SO": 1.1,
        "HR": 0.3,
        "BF": 4.3,
        "Pitches": 18.8
      },
      "rates": {
        "ERA": 8.0,
        "WHIP": 1.7778,
        "ER_per_IP": 0.88889,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.77778,
        "SO_per_IP": 1.22222,
        "HR_per_IP": 0.33333
      }
    },
    "season": {
      "games": 59,
      "totals": {
        "IP": 57.0,
        "ER": 26.0,
        "R": 27.0,
        "H": 45.0,
        "BB": 26.0,
        "SO": 57.0,
        "HR": 9.0,
        "BF": 242.0,
        "Pitches": 959.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4407,
        "R": 0.4576,
        "H": 0.7627,
        "BB": 0.4407,
        "SO": 0.9661,
        "HR": 0.1525,
        "BF": 4.1017,
        "Pitches": 16.2542
      },
      "rates": {
        "ERA": 4.1053,
        "WHIP": 1.2456,
        "ER_per_IP": 0.45614,
        "H_per_IP": 0.78947,
        "BB_per_IP": 0.45614,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.15789
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.794,
    "predicted_H": 0.867,
    "predicted_BB": 0.654,
    "predicted_SO": 1.013,
    "predicted_HR": 0.22,
    "predicted_ERA": 7.1423,
    "predicted_WHIP": 1.5205
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4785,
  "form_weight": 0.5215,
  "form_reliability": 0.6959,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.439,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6959,
    "prior_weight": 0.3041
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.794,
      "final": 0.4141,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.867,
      "final": 0.4522,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.654,
      "final": 0.3411,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.013,
      "final": 1.0068,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.22,
      "final": 0.1147,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 7.1423,
      "final": 7.1423,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.5205,
      "final": 1.5205,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherJustin Bruihl
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0050
ESPN Rank265
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2800
Avg Velo84.7032
Avg Spin2263.3762
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA3.3402
Season WHIP1.3454
Role Avg IP1.1150
Recent Avg IP1.2670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "STL",
    "games": 133,
    "wins": 66,
    "losses": 67,
    "win_pct": 0.4962,
    "runs_scored": 586.0,
    "runs_allowed": 600.0,
    "run_differential": -14.0,
    "run_differential_per_game": -0.1053,
    "avg_runs_scored": 4.406,
    "avg_runs_allowed": 4.5113,
    "offense_index": 0.9836,
    "defense_index": 0.993,
    "current_streak": "L4",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.9,
      "avg_runs_allowed": 6.3,
      "run_differential": -14.0
    },
    "available": true,
    "quality_score": -0.0512
  },
  "opponent": {
    "team": "BAL",
    "games": 132,
    "wins": 64,
    "losses": 68,
    "win_pct": 0.4848,
    "runs_scored": 596.0,
    "runs_allowed": 619.0,
    "run_differential": -23.0,
    "run_differential_per_game": -0.1742,
    "avg_runs_scored": 4.5152,
    "avg_runs_allowed": 4.6894,
    "offense_index": 1.0079,
    "defense_index": 0.9553,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 3.5,
      "run_differential": 12.0
    },
    "available": true,
    "quality_score": -0.0343
  },
  "edges": {
    "quality_edge": -0.0169,
    "offense_edge": -0.0164,
    "opponent_offense_edge": 0.0079,
    "defense_strength": -0.007,
    "opponent_defense_weakness": 0.0447,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 0.9988,
    "run_prevention": 1.0028,
    "strikeout": 0.9989
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "677865",
    "profile": {
      "available": true,
      "pitcher_id": "677865",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 265.0,
        "k_percent": 14.7,
        "bb_percent": 8.4,
        "woba": 0.308,
        "xwoba": 0.304,
        "sweet_spot_percent": 28.4,
        "barrel_batted_rate": 4.3,
        "hard_hit_percent": 34.6,
        "avg_best_speed": 74.0384,
        "avg_hyper_speed": 93.2513,
        "whiff_percent": 17.2,
        "swing_percent": 45.1
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.3956,
        "command_and_miss": -0.8293,
        "regression_edge": 0.1143,
        "xwoba_edge": 0.2,
        "barrel_edge": 0.6222,
        "hard_hit_edge": 0.4571,
        "whiff_edge": -1.1429,
        "bb_edge": 0.2,
        "pitch_design_score": -0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "677865",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 17,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 17,
          "pitch_usage": 0.0,
          "release_speed": 84.70317822441322,
          "release_spin_rate": 2263.376212668964,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 17,
            "pitch_usage": 0.0,
            "release_speed": 84.70317822441322,
            "release_spin_rate": 2263.376212668964,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.7032,
          "release_spin_rate": 2263.3762,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.005,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0004,
      "strikeout_factor": 0.9126,
      "walk_factor": 0.984,
      "homer_factor": 0.9259,
      "woba_minus_xwoba": 0.004,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "677865",
        "espn_id": 42735,
        "player_name": "Justin Bruihl",
        "team": "STL",
        "role": "pitcher",
        "espn_rank": 265,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 265,
          "gp_value": 59.0,
          "gp_rank": 20,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 3.3402,
          "era_rank": null,
          "w_value": 0.0,
          "w_rank": 507,
          "l_value": 1.0,
          "l_rank": 403,
          "sv_value": 0.0,
          "sv_rank": 241,
          "hld_value": 10.0,
          "hld_rank": 76,
          "ip_value": 64.2,
          "ip_rank": 184,
          "h_value": 64.0,
          "h_rank": 162,
          "er_value": 24.0,
          "er_rank": 227,
          "hr_value": 3.0,
          "hr_rank": 412,
          "bb_value": 24.0,
          "bb_rank": 208,
          "k_value": 42.0,
          "k_rank": 313,
          "k_per_9_value": 5.845361,
          "k_per_9_rank": 45.0,
          "whip_value": 1.3608,
          "whip_rank": null,
          "war_value": 0.41,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0004,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0004,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.984,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9259,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9126,
        "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": 8,
    "BB": 4,
    "SO": 3,
    "HR": 0,
    "ERA": 1.741935483870968,
    "WHIP": 1.1612903225806452,
    "K9": 2.612903225806452,
    "HR9": 0.0,
    "games_pitched": 9,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-23T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "677865",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 17,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 17,
    "pitch_usage": 0.0,
    "release_speed": 84.70317822441322,
    "release_spin_rate": 2263.376212668964,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 17,
      "pitch_usage": 0.0,
      "release_speed": 84.70317822441322,
      "release_spin_rate": 2263.376212668964,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.7032,
    "release_spin_rate": 2263.3762,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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.978,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7219,
    "prior_weight": 0.2781
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "677865",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 58,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 6.0,
        "BB": 3.0,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 26.0,
        "Pitches": 96.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.2,
        "BB": 0.6,
        "SO": 0.2,
        "HR": 0.0,
        "BF": 5.2,
        "Pitches": 19.2
      },
      "rates": {
        "ERA": 2.8421,
        "WHIP": 1.4211,
        "ER_per_IP": 0.31579,
        "H_per_IP": 0.94737,
        "BB_per_IP": 0.47368,
        "SO_per_IP": 0.15789,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 12.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 10.0,
        "BB": 4.0,
        "SO": 3.0,
        "HR": 1.0,
        "BF": 47.0,
        "Pitches": 168.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.3,
        "R": 0.3,
        "H": 1.0,
        "BB": 0.4,
        "SO": 0.3,
        "HR": 0.1,
        "BF": 4.7,
        "Pitches": 16.8
      },
      "rates": {
        "ERA": 2.25,
        "WHIP": 1.1667,
        "ER_per_IP": 0.25,
        "H_per_IP": 0.83333,
        "BB_per_IP": 0.33333,
        "SO_per_IP": 0.25,
        "HR_per_IP": 0.08333
      }
    },
    "season": {
      "games": 58,
      "totals": {
        "IP": 64.2,
        "ER": 24.0,
        "R": 29.0,
        "H": 63.0,
        "BB": 24.0,
        "SO": 42.0,
        "HR": 3.0,
        "BF": 284.0,
        "Pitches": 1075.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4138,
        "R": 0.5,
        "H": 1.0862,
        "BB": 0.4138,
        "SO": 0.7241,
        "HR": 0.0517,
        "BF": 4.8966,
        "Pitches": 18.5345
      },
      "rates": {
        "ERA": 3.3402,
        "WHIP": 1.3454,
        "ER_per_IP": 0.37113,
        "H_per_IP": 0.97423,
        "BB_per_IP": 0.37113,
        "SO_per_IP": 0.64948,
        "HR_per_IP": 0.04639
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.428,
    "predicted_H": 1.109,
    "predicted_BB": 0.47,
    "predicted_SO": 0.562,
    "predicted_HR": 0.082,
    "predicted_ERA": 3.2272,
    "predicted_WHIP": 1.324
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4675,
  "form_weight": 0.5325,
  "form_reliability": 0.7219,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.978,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7219,
    "prior_weight": 0.2781
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.1,
      "final": 1.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.428,
      "final": 0.2279,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.109,
      "final": 0.5905,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.47,
      "final": 0.2503,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.562,
      "final": 0.7668,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.082,
      "final": 0.0437,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.2272,
      "final": 3.2272,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.324,
      "final": 1.324,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherRiley O'Brien
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.1460
ESPN Rank307
Movement AvailableTrue
Primary Pitch-
Movement Score0.1688
Avg Velo92.8620
Avg Spin2254.2954
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H2
Pre BB1
Pre SO1
Season ERA3.9304
Season WHIP1.2152
Role Avg IP0.9750
Recent Avg IP0.8000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "STL",
    "games": 133,
    "wins": 66,
    "losses": 67,
    "win_pct": 0.4962,
    "runs_scored": 586.0,
    "runs_allowed": 600.0,
    "run_differential": -14.0,
    "run_differential_per_game": -0.1053,
    "avg_runs_scored": 4.406,
    "avg_runs_allowed": 4.5113,
    "offense_index": 0.9836,
    "defense_index": 0.993,
    "current_streak": "L4",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.9,
      "avg_runs_allowed": 6.3,
      "run_differential": -14.0
    },
    "available": true,
    "quality_score": -0.0512
  },
  "opponent": {
    "team": "BAL",
    "games": 132,
    "wins": 64,
    "losses": 68,
    "win_pct": 0.4848,
    "runs_scored": 596.0,
    "runs_allowed": 619.0,
    "run_differential": -23.0,
    "run_differential_per_game": -0.1742,
    "avg_runs_scored": 4.5152,
    "avg_runs_allowed": 4.6894,
    "offense_index": 1.0079,
    "defense_index": 0.9553,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 3.5,
      "run_differential": 12.0
    },
    "available": true,
    "quality_score": -0.0343
  },
  "edges": {
    "quality_edge": -0.0169,
    "offense_edge": -0.0164,
    "opponent_offense_edge": 0.0079,
    "defense_strength": -0.007,
    "opponent_defense_weakness": 0.0447,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 0.9988,
    "run_prevention": 1.0028,
    "strikeout": 0.9989
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "676617",
    "profile": {
      "available": true,
      "pitcher_id": "676617",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 209.0,
        "k_percent": 23.5,
        "bb_percent": 10.2,
        "woba": 0.292,
        "xwoba": 0.335,
        "sweet_spot_percent": 33.6,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 39.3,
        "avg_best_speed": 76.5482,
        "avg_hyper_speed": 94.1982,
        "whiff_percent": 26.2,
        "swing_percent": 43.6
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.1614,
        "command_and_miss": 0.0964,
        "regression_edge": -1.2286,
        "xwoba_edge": -0.6857,
        "barrel_edge": -0.0222,
        "hard_hit_edge": -0.2143,
        "whiff_edge": 0.1429,
        "bb_edge": -0.25,
        "pitch_design_score": 0.1688
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "676617",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 12,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 12,
          "pitch_usage": 0.0,
          "release_speed": 92.86200310534556,
          "release_spin_rate": 2254.295418884699,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 12,
            "pitch_usage": 0.0,
            "release_speed": 92.86200310534556,
            "release_spin_rate": 2254.295418884699,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.862,
          "release_spin_rate": 2254.2954,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1688,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.2057,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": -0.146,
      "sample_weight": 0.836,
      "run_prevention_factor": 1.0124,
      "strikeout_factor": 1.0119,
      "walk_factor": 1.0167,
      "homer_factor": 1.0258,
      "woba_minus_xwoba": -0.043,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "676617",
        "espn_id": 41509,
        "player_name": "Riley O'Brien",
        "team": "STL",
        "role": "pitcher",
        "espn_rank": 307,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 307,
          "gp_value": 54.0,
          "gp_rank": 48,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 3.9303,
          "era_rank": null,
          "w_value": 3.0,
          "w_rank": 226,
          "l_value": 5.0,
          "l_rank": 123,
          "sv_value": 33.0,
          "sv_rank": 3,
          "hld_value": 1.0,
          "hld_rank": 252,
          "ip_value": 52.2,
          "ip_rank": 253,
          "h_value": 41.0,
          "h_rank": 288,
          "er_value": 23.0,
          "er_rank": 242,
          "hr_value": 3.0,
          "hr_rank": 412,
          "bb_value": 23.0,
          "bb_rank": 221,
          "k_value": 53.0,
          "k_rank": 239,
          "k_per_9_value": 9.056962,
          "k_per_9_rank": 25.0,
          "whip_value": 1.2151,
          "whip_rank": null,
          "war_value": 0.27,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 1.0104,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0104,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.014,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0216,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0099,
        "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": 6,
    "H": 7,
    "BB": 5,
    "SO": 7,
    "HR": 1,
    "ERA": 6.0,
    "WHIP": 1.3333333333333333,
    "K9": 7.0,
    "HR9": 1.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-23T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "676617",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 12,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 12,
    "pitch_usage": 0.0,
    "release_speed": 92.86200310534556,
    "release_spin_rate": 2254.295418884699,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 12,
      "pitch_usage": 0.0,
      "release_speed": 92.86200310534556,
      "release_spin_rate": 2254.295418884699,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.862,
    "release_spin_rate": 2254.2954,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1688,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.2057,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.57,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6789,
    "prior_weight": 0.3211
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "676617",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 54,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.0,
        "ER": 6.0,
        "R": 6.0,
        "H": 6.0,
        "BB": 3.0,
        "SO": 4.0,
        "HR": 1.0,
        "BF": 21.0,
        "Pitches": 95.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 1.2,
        "R": 1.2,
        "H": 1.2,
        "BB": 0.6,
        "SO": 0.8,
        "HR": 0.2,
        "BF": 4.2,
        "Pitches": 19.0
      },
      "rates": {
        "ERA": 13.5,
        "WHIP": 2.25,
        "ER_per_IP": 1.5,
        "H_per_IP": 1.5,
        "BB_per_IP": 0.75,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.25
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.0,
        "ER": 6.0,
        "R": 6.0,
        "H": 7.0,
        "BB": 5.0,
        "SO": 7.0,
        "HR": 1.0,
        "BF": 38.0,
        "Pitches": 165.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 0.7,
        "BB": 0.5,
        "SO": 0.7,
        "HR": 0.1,
        "BF": 3.8,
        "Pitches": 16.5
      },
      "rates": {
        "ERA": 6.0,
        "WHIP": 1.3333,
        "ER_per_IP": 0.66667,
        "H_per_IP": 0.77778,
        "BB_per_IP": 0.55556,
        "SO_per_IP": 0.77778,
        "HR_per_IP": 0.11111
      }
    },
    "season": {
      "games": 54,
      "totals": {
        "IP": 52.2,
        "ER": 23.0,
        "R": 25.0,
        "H": 41.0,
        "BB": 23.0,
        "SO": 53.0,
        "HR": 3.0,
        "BF": 226.0,
        "Pitches": 894.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4259,
        "R": 0.463,
        "H": 0.7593,
        "BB": 0.4259,
        "SO": 0.9815,
        "HR": 0.0556,
        "BF": 4.1852,
        "Pitches": 16.5556
      },
      "rates": {
        "ERA": 3.9304,
        "WHIP": 1.2152,
        "ER_per_IP": 0.43671,
        "H_per_IP": 0.77848,
        "BB_per_IP": 0.43671,
        "SO_per_IP": 1.00633,
        "HR_per_IP": 0.05696
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.752,
    "predicted_H": 0.954,
    "predicted_BB": 0.484,
    "predicted_SO": 0.836,
    "predicted_HR": 0.142,
    "predicted_ERA": 7.5307,
    "predicted_WHIP": 1.6003
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4857,
  "form_weight": 0.5143,
  "form_reliability": 0.6789,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.57,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6789,
    "prior_weight": 0.3211
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.752,
      "final": 0.8724,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.954,
      "final": 1.462,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.484,
      "final": 0.7346,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.836,
      "final": 0.9156,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.142,
      "final": 0.073,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 7.5307,
      "final": 7.5307,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.6003,
      "final": 1.6003,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherRyne Stanek
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0544
ESPN Rank671
Movement AvailableTrue
Primary Pitch-
Movement Score0.2507
Avg Velo94.3255
Avg Spin2149.4371
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H2
Pre BB0
Pre SO1
Season ERA4.4118
Season WHIP1.3922
Role Avg IP0.9110
Recent Avg IP0.9330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "STL",
    "games": 133,
    "wins": 66,
    "losses": 67,
    "win_pct": 0.4962,
    "runs_scored": 586.0,
    "runs_allowed": 600.0,
    "run_differential": -14.0,
    "run_differential_per_game": -0.1053,
    "avg_runs_scored": 4.406,
    "avg_runs_allowed": 4.5113,
    "offense_index": 0.9836,
    "defense_index": 0.993,
    "current_streak": "L4",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.9,
      "avg_runs_allowed": 6.3,
      "run_differential": -14.0
    },
    "available": true,
    "quality_score": -0.0512
  },
  "opponent": {
    "team": "BAL",
    "games": 132,
    "wins": 64,
    "losses": 68,
    "win_pct": 0.4848,
    "runs_scored": 596.0,
    "runs_allowed": 619.0,
    "run_differential": -23.0,
    "run_differential_per_game": -0.1742,
    "avg_runs_scored": 4.5152,
    "avg_runs_allowed": 4.6894,
    "offense_index": 1.0079,
    "defense_index": 0.9553,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 3.5,
      "run_differential": 12.0
    },
    "available": true,
    "quality_score": -0.0343
  },
  "edges": {
    "quality_edge": -0.0169,
    "offense_edge": -0.0164,
    "opponent_offense_edge": 0.0079,
    "defense_strength": -0.007,
    "opponent_defense_weakness": 0.0447,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 0.9988,
    "run_prevention": 1.0028,
    "strikeout": 0.9989
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "592773",
    "profile": {
      "available": true,
      "pitcher_id": "592773",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 213.0,
        "k_percent": 23.5,
        "bb_percent": 12.2,
        "woba": 0.336,
        "xwoba": 0.322,
        "sweet_spot_percent": 32.1,
        "barrel_batted_rate": 8.6,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 78.7393,
        "avg_hyper_speed": 94.4361,
        "whiff_percent": 28.5,
        "swing_percent": 48.7
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.2731,
        "command_and_miss": 0.1114,
        "regression_edge": 0.4,
        "xwoba_edge": -0.3143,
        "barrel_edge": -0.3333,
        "hard_hit_edge": -0.0143,
        "whiff_edge": 0.4714,
        "bb_edge": -0.75,
        "pitch_design_score": 0.2507
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "592773",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 10,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 10,
          "pitch_usage": 0.0,
          "release_speed": 94.32549831893388,
          "release_spin_rate": 2149.4370551331526,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 10,
            "pitch_usage": 0.0,
            "release_speed": 94.32549831893388,
            "release_spin_rate": 2149.4370551331526,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 94.3255,
          "release_spin_rate": 2149.4371,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.2507,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.7911,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": -0.0544,
      "sample_weight": 0.852,
      "run_prevention_factor": 1.0046,
      "strikeout_factor": 1.0234,
      "walk_factor": 1.0511,
      "homer_factor": 1.0312,
      "woba_minus_xwoba": 0.014,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "592773",
        "espn_id": 33301,
        "player_name": "Ryne Stanek",
        "team": "STL",
        "role": "pitcher",
        "espn_rank": 671,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 671,
          "gp_value": 57.0,
          "gp_rank": 28,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 4.5882,
          "era_rank": null,
          "w_value": 2.0,
          "w_rank": 293,
          "l_value": 2.0,
          "l_rank": 301,
          "sv_value": 1.0,
          "sv_rank": 128,
          "hld_value": 24.0,
          "hld_rank": 6,
          "ip_value": 51.0,
          "ip_rank": 267,
          "h_value": 46.0,
          "h_rank": 242,
          "er_value": 26.0,
          "er_rank": 208,
          "hr_value": 9.0,
          "hr_rank": 163,
          "bb_value": 27.0,
          "bb_rank": 172,
          "k_value": 52.0,
          "k_rank": 250,
          "k_per_9_value": 9.176471,
          "k_per_9_rank": 25.0,
          "whip_value": 1.4313,
          "whip_rank": null,
          "war_value": -0.25,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 1.0039,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0039,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0435,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0266,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0199,
        "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": 6,
    "H": 10,
    "BB": 2,
    "SO": 7,
    "HR": 3,
    "ERA": 6.230769230769231,
    "WHIP": 1.3846153846153848,
    "K9": 7.26923076923077,
    "HR9": 3.1153846153846154,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-23T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "592773",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 10,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 10,
    "pitch_usage": 0.0,
    "release_speed": 94.32549831893388,
    "release_spin_rate": 2149.4370551331526,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 10,
      "pitch_usage": 0.0,
      "release_speed": 94.32549831893388,
      "release_spin_rate": 2149.4370551331526,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 94.3255,
    "release_spin_rate": 2149.4371,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.2507,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.7911,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.235,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6718,
    "prior_weight": 0.3282
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "592773",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 56,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.2,
        "ER": 3.0,
        "R": 3.0,
        "H": 5.0,
        "BB": 0.0,
        "SO": 3.0,
        "HR": 1.0,
        "BF": 18.0,
        "Pitches": 66.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 1.0,
        "BB": 0.0,
        "SO": 0.6,
        "HR": 0.2,
        "BF": 3.6,
        "Pitches": 13.2
      },
      "rates": {
        "ERA": 5.7857,
        "WHIP": 1.0714,
        "ER_per_IP": 0.64286,
        "H_per_IP": 1.07143,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.64286,
        "HR_per_IP": 0.21429
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.2,
        "ER": 6.0,
        "R": 6.0,
        "H": 10.0,
        "BB": 2.0,
        "SO": 7.0,
        "HR": 3.0,
        "BF": 36.0,
        "Pitches": 130.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 1.0,
        "BB": 0.2,
        "SO": 0.7,
        "HR": 0.3,
        "BF": 3.6,
        "Pitches": 13.0
      },
      "rates": {
        "ERA": 6.2308,
        "WHIP": 1.3846,
        "ER_per_IP": 0.69231,
        "H_per_IP": 1.15385,
        "BB_per_IP": 0.23077,
        "SO_per_IP": 0.80769,
        "HR_per_IP": 0.34615
      }
    },
    "season": {
      "games": 56,
      "totals": {
        "IP": 51.0,
        "ER": 25.0,
        "R": 27.0,
        "H": 45.0,
        "BB": 26.0,
        "SO": 52.0,
        "HR": 9.0,
        "BF": 219.0,
        "Pitches": 896.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4464,
        "R": 0.4821,
        "H": 0.8036,
        "BB": 0.4643,
        "SO": 0.9286,
        "HR": 0.1607,
        "BF": 3.9107,
        "Pitches": 16.0
      },
      "rates": {
        "ERA": 4.4118,
        "WHIP": 1.3922,
        "ER_per_IP": 0.4902,
        "H_per_IP": 0.88235,
        "BB_per_IP": 0.5098,
        "SO_per_IP": 1.01961,
        "HR_per_IP": 0.17647
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.587,
    "predicted_H": 1.034,
    "predicted_BB": 0.243,
    "predicted_SO": 0.832,
    "predicted_HR": 0.218,
    "predicted_ERA": 5.2859,
    "predicted_WHIP": 1.2771
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4887,
  "form_weight": 0.5113,
  "form_reliability": 0.6718,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.235,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6718,
    "prior_weight": 0.3282
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.587,
      "final": 0.7888,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 1.034,
      "final": 1.506,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.243,
      "final": 0.1243,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.832,
      "final": 0.9141,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.218,
      "final": 0.1115,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.2859,
      "final": 5.2859,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2771,
      "final": 1.2771,
      "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."
}
Jordan Walker (691023) · BATTER · RF · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 534
All-history rows before 20260827: 534
System season_avg: 0.2860
Data season_avg (2026 season-to-date): 0.3011
Diff (system - data): -0.0151
System opponent_avg: 0.2860
System season_avg diverges from 2026 season-to-date by -0.0151. 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.2140.0000.000Hitting_2B0.2531.000-0.253-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.3803.0004.000Hitting_AB3.9744.000-0.974-1.000
predicted_AVG0.2230.0000.250Hitting_AVG0.3010.250-0.301-0.250
predicted_BB0.3331.0000.000Hitting_BB0.3481.0000.6520.000
predicted_CS-0.0000.000BaseRunning_CS0.0430.000-0.0430.000
predicted_H0.9800.0001.000Hitting_H1.1971.000-1.197-1.000
predicted_HR0.2500.0001.000Hitting_HR0.2120.000-0.2120.000
predicted_OBP0.3230.2500.250Hitting_OBP0.3600.400-0.110-0.150
predicted_R0.6350.0001.000Hitting_R0.6761.000-0.676-1.000
predicted_RBI0.7600.0001.000Hitting_RBI0.7811.000-0.781-1.000
predicted_SLG0.4700.0001.000Hitting_SLG0.5250.500-0.525-0.500
predicted_SO1.0321.0001.000Hitting_SO1.0541.000-0.0540.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics3
Deboosted Metrics7
Better Metrics3
Worse Metrics7
Biggest Boostpredicted_BB: 0.3330 -> 1.0000 (boost 0.6670, better)
Biggest Deboostpredicted_AB: 4.3800 -> 3.0000 (deboost -1.3800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend76161predicted_H: 0.9800 -> 1.0391 (boost 0.0591, better)predicted_AB: 4.3800 -> 4.1892 (deboost -0.1908, worse)Final model input calibrated 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.3285 -> 0.2995 (deboost -0.0290, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling51414predicted_RBI: 0.8119 -> 1.0000 (boost 0.1881, better)predicted_BB: 0.3100 -> 0.0000 (deboost -0.3100, worse)AB rounded to 4 (raw=4.38), rates preserved: AVG=0.237 HR/AB=0.059
5consistency_constraints11010predicted_R: 0.6877 -> 1.0000 (boost 0.3123, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context40404-predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference51414predicted_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
9current_json_final33030predicted_SLG: 0.4680 -> 0.4815 (boost 0.0135, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "691023",
  "player_name": "Jordan Walker",
  "position": "RF",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.214,
        "predicted_3B": 0.0,
        "predicted_AB": 4.38,
        "predicted_AVG": 0.223,
        "predicted_BB": 0.333,
        "predicted_H": 0.98,
        "predicted_HR": 0.25,
        "predicted_OBP": 0.323,
        "predicted_R": 0.635,
        "predicted_RBI": 0.76,
        "predicted_SLG": 0.47,
        "predicted_SO": 1.032
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2027,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.1892,
        "predicted_AVG": 0.2492,
        "predicted_BB": 0.3104,
        "predicted_H": 1.0391,
        "predicted_HBP": 0.038,
        "predicted_HR": 0.2583,
        "predicted_OBP": 0.3285,
        "predicted_R": 0.6902,
        "predicted_RBI": 0.8148,
        "predicted_SLG": 0.4988,
        "predicted_SO": 1.0146
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.214,
          "after": 0.2027,
          "delta": -0.0113,
          "percent_delta": -0.0528,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0004,
          "delta": 0.0004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.38,
          "after": 4.1892,
          "delta": -0.1908,
          "percent_delta": -0.0436,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.223,
          "after": 0.2492,
          "delta": 0.0262,
          "percent_delta": 0.1175,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.333,
          "after": 0.3104,
          "delta": -0.0226,
          "percent_delta": -0.0679,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.98,
          "after": 1.0391,
          "delta": 0.0591,
          "percent_delta": 0.0603,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.25,
          "after": 0.2583,
          "delta": 0.0083,
          "percent_delta": 0.0332,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.323,
          "after": 0.3285,
          "delta": 0.0055,
          "percent_delta": 0.017,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.635,
          "after": 0.6902,
          "delta": 0.0552,
          "percent_delta": 0.0869,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.76,
          "after": 0.8148,
          "delta": 0.0548,
          "percent_delta": 0.0721,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.47,
          "after": 0.4988,
          "delta": 0.0288,
          "percent_delta": 0.0613,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.032,
          "after": 1.0146,
          "delta": -0.0174,
          "percent_delta": -0.0169,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 6,
        "deboosted_metrics": 1,
        "better_metrics": 6,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.98,
          "after": 1.0391,
          "delta": 0.0591,
          "percent_delta": 0.0603,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.38,
          "after": 4.1892,
          "delta": -0.1908,
          "percent_delta": -0.0436,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.2027,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.1892,
        "predicted_AVG": 0.2476,
        "predicted_BB": 0.31,
        "predicted_H": 1.0373,
        "predicted_HBP": 0.038,
        "predicted_HR": 0.2587,
        "predicted_OBP": 0.2995,
        "predicted_R": 0.6877,
        "predicted_RBI": 0.8119,
        "predicted_SLG": 0.4815,
        "predicted_SO": 1.0158
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2027,
          "after": 0.2027,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1892,
          "after": 4.1892,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2492,
          "after": 0.2476,
          "delta": -0.0016,
          "percent_delta": -0.0064,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3104,
          "after": 0.31,
          "delta": -0.0004,
          "percent_delta": -0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0391,
          "after": 1.0373,
          "delta": -0.0018,
          "percent_delta": -0.0017,
          "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.2583,
          "after": 0.2587,
          "delta": 0.0004,
          "percent_delta": 0.0015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3285,
          "after": 0.2995,
          "delta": -0.029,
          "percent_delta": -0.0883,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6902,
          "after": 0.6877,
          "delta": -0.0025,
          "percent_delta": -0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8148,
          "after": 0.8119,
          "delta": -0.0029,
          "percent_delta": -0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4988,
          "after": 0.4815,
          "delta": -0.0173,
          "percent_delta": -0.0347,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0146,
          "after": 1.0158,
          "delta": 0.0012,
          "percent_delta": 0.0012,
          "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.3285,
          "after": 0.2995,
          "delta": -0.029,
          "percent_delta": -0.0883,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.38), rates preserved: AVG=0.237 HR/AB=0.059",
      "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.2027,
          "after": 0.0,
          "delta": -0.2027,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1892,
          "after": 4.0,
          "delta": -0.1892,
          "percent_delta": -0.0452,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.31,
          "after": 0.0,
          "delta": -0.31,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0373,
          "after": 1.0,
          "delta": -0.0373,
          "percent_delta": -0.036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.038,
          "after": 0.0,
          "delta": -0.038,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2587,
          "after": 0.0,
          "delta": -0.2587,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8119,
          "after": 1.0,
          "delta": 0.1881,
          "percent_delta": 0.2317,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0158,
          "after": 1.0,
          "delta": -0.0158,
          "percent_delta": -0.0156,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.8119,
          "after": 1.0,
          "delta": 0.1881,
          "percent_delta": 0.2317,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.31,
          "after": 0.0,
          "delta": -0.31,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6877,
          "after": 1.0,
          "delta": 0.3123,
          "percent_delta": 0.4541,
          "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.6877,
          "after": 1.0,
          "delta": 0.3123,
          "percent_delta": 0.4541,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "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.237,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.293,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.468,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2476,
          "after": 0.237,
          "delta": -0.0106,
          "percent_delta": -0.0428,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2995,
          "after": 0.293,
          "delta": -0.0065,
          "percent_delta": -0.0217,
          "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.4815,
          "after": 0.468,
          "delta": -0.0135,
          "percent_delta": -0.028,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2476,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2995,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4815,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.237,
          "after": 0.2476,
          "delta": 0.0106,
          "percent_delta": 0.0448,
          "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.293,
          "after": 0.2995,
          "delta": 0.0065,
          "percent_delta": 0.0221,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.468,
          "after": 0.4815,
          "delta": 0.0135,
          "percent_delta": 0.0288,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.468,
          "after": 0.4815,
          "delta": 0.0135,
          "percent_delta": 0.0288,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.214,
        "after": 0.0,
        "delta": -0.214,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.38,
        "after": 3.0,
        "delta": -1.38,
        "percent_delta": -0.3151,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.223,
        "after": 0.2476,
        "delta": 0.0246,
        "percent_delta": 0.1103,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.333,
        "after": 1.0,
        "delta": 0.667,
        "percent_delta": 2.003,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.98,
        "after": 0.0,
        "delta": -0.98,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.25,
        "after": 0.0,
        "delta": -0.25,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.323,
        "after": 0.2995,
        "delta": -0.0235,
        "percent_delta": -0.0728,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.635,
        "after": 0.0,
        "delta": -0.635,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.76,
        "after": 0.0,
        "delta": -0.76,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.47,
        "after": 0.4815,
        "delta": 0.0115,
        "percent_delta": 0.0245,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.032,
        "after": 1.0,
        "delta": -0.032,
        "percent_delta": -0.031,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.333,
        "after": 1.0,
        "delta": 0.667,
        "percent_delta": 2.003,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.38,
        "after": 3.0,
        "delta": -1.38,
        "percent_delta": -0.3151,
        "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.214-
predicted_3B0.000-
predicted_AB4.380-
predicted_AVG0.223-
predicted_BB0.333-
predicted_H0.980-
predicted_HR0.250-
predicted_OBP0.323-
predicted_R0.635-
predicted_RBI0.760-
predicted_SLG0.470-
predicted_SO1.032-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.203-0.011
predicted_3B0.0000.000
predicted_AB4.189-0.191
predicted_AVG0.2490.026
predicted_BB0.310-0.023
predicted_H1.0390.059
predicted_HBP0.038-
predicted_HR0.2580.008
predicted_OBP0.3290.006
predicted_R0.6900.055
predicted_RBI0.8150.055
predicted_SLG0.4990.029
predicted_SO1.015-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.2030.000
predicted_3B0.0000.000
predicted_AB4.1890.000
predicted_AVG0.248-0.002
predicted_BB0.310-0.000
predicted_H1.037-0.002
predicted_HBP0.0380.000
predicted_HR0.2590.000
predicted_OBP0.299-0.029
predicted_R0.688-0.003
predicted_RBI0.812-0.003
predicted_SLG0.481-0.017
predicted_SO1.0160.001
4. ab_floor_and_scaling

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

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
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR1.0001.000
R1.0000.000
RBI1.0000.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.203
predicted_3B0.000-0.000
predicted_AB4.000-0.189
predicted_AVG0.237-0.011
predicted_BB0.000-0.310
predicted_H1.000-0.037
predicted_HR0.000-0.259
predicted_OBP0.293-0.007
predicted_R1.0000.312
predicted_RBI1.0000.188
predicted_SLG0.468-0.013
predicted_SO1.000-0.016
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 126
Reference playing time: 4.380
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0005.0000.0000.0002.0006.0005.0001.0005.0000.25000.28570.55000.25000.10000.30000.05000.2500
last_100.2010-41.00013.0003.0000.0004.00012.00010.0002.0009.0000.31710.36360.68290.31710.09760.29270.04880.2195
season0.60126-489.000140.00027.0000.00025.00091.00080.00042.000130.0000.28630.34570.49490.28630.05110.18610.08590.2658
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1880
predicted_3B0.0010
predicted_AB3.9410
predicted_AVG0.2832
predicted_BB0.2810
predicted_H1.1160
predicted_HBP0.0380
predicted_HR0.2690
predicted_OBP0.3356
predicted_R0.7620
predicted_RBI0.8860
predicted_SLG0.5363
predicted_SO0.9920
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21400.18800.2027model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.38003.94104.1892model_form_blend
predicted_AVG0.22300.28320.2492model_form_blend
predicted_BB0.33300.28100.3104model_form_blend
predicted_H0.98001.11601.0391model_form_blend
predicted_HBP-0.03800.0380form_only
predicted_HR0.25000.26900.2583model_form_blend
predicted_OBP0.32300.33560.3285model_form_blend
predicted_R0.63500.76200.6902model_form_blend
predicted_RBI0.76000.88600.8148model_form_blend
predicted_SLG0.47000.53630.4988model_form_blend
predicted_SO1.03200.99201.0146model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260826_BAL@STL
game_typefull
mlbID691023
playerID691023
playerNameJordan Walker
posRF
startedTrue
startingPositionRF
teamSTL
teamID26
game_date2026-08-26
sl_k_percent24.3
sl_bb_percent7.5
sl_woba0.363
sl_xwoba0.352
sl_xba0.273
sl_xslg0.483
sl_sweet_spot_percent33.9
sl_barrel_batted_rate13.5
sl_hard_hit_percent48.2
sl_exit_velocity_avg92.4
sl_launch_angle_avg12.5
sl_whiff_percent30.8
sl_swing_percent52.3
Iván Herrera (671056) · BATTER · DH · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 571
All-history rows before 20260827: 571
System season_avg: 0.2390
Data season_avg (2026 season-to-date): 0.2482
Diff (system - data): -0.0092
System opponent_avg: 0.3670

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1780.0000.000Hitting_2B0.1840.000-0.1840.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.2803.0004.000Hitting_AB3.8184.000-0.818-1.000
predicted_AVG0.2050.3330.250Hitting_AVG0.2480.7500.085-0.417
predicted_BB0.4571.0001.000Hitting_BB0.4691.0000.5310.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8801.0001.000Hitting_H0.9473.0000.053-2.000
predicted_HR0.0900.0000.000Hitting_HR0.1160.000-0.1160.000
predicted_OBP0.3300.5000.400Hitting_OBP0.3630.8000.137-0.300
predicted_R0.5971.0001.000Hitting_R0.6501.0000.3500.000
predicted_RBI0.3400.0000.000Hitting_RBI0.4330.000-0.4330.000
predicted_SLG0.3350.3330.250Hitting_SLG0.3870.750-0.054-0.417
predicted_SO0.8370.0001.000Hitting_SO0.8231.000-0.823-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_BB: 0.4570 -> 1.0000 (boost 0.5430, better)
Biggest Deboostpredicted_AB: 4.2800 -> 3.0000 (deboost -1.2800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42213predicted_SO: 0.8370 -> 0.9481 (boost 0.1111, worse)predicted_AB: 4.2800 -> 4.0461 (deboost -0.2339, worse)Final model input calibrated 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.3333 -> 0.2956 (deboost -0.0377, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_H: 0.8541 -> 1.0000 (boost 0.1459, better)predicted_BB: 0.4851 -> 0.0000 (deboost -0.4851, worse)AB rounded to 4 (raw=4.28), rates preserved: AVG=0.200 HR/AB=0.020
5consistency_constraints11010predicted_R: 0.5849 -> 1.0000 (boost 0.4151, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context40404-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference31221predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_AVG: 0.2000 -> 0.2111 (boost 0.0111, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "671056",
  "player_name": "Iván Herrera",
  "position": "DH",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.178,
        "predicted_3B": 0.0,
        "predicted_AB": 4.28,
        "predicted_AVG": 0.205,
        "predicted_BB": 0.457,
        "predicted_H": 0.88,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.33,
        "predicted_R": 0.597,
        "predicted_RBI": 0.34,
        "predicted_SLG": 0.335,
        "predicted_SO": 0.837
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local 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.0004,
        "predicted_AB": 4.0461,
        "predicted_AVG": 0.2116,
        "predicted_BB": 0.4857,
        "predicted_H": 0.8556,
        "predicted_HBP": 0.16,
        "predicted_HR": 0.087,
        "predicted_OBP": 0.3333,
        "predicted_R": 0.587,
        "predicted_RBI": 0.3169,
        "predicted_SLG": 0.327,
        "predicted_SO": 0.9481
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.178,
          "after": 0.1484,
          "delta": -0.0296,
          "percent_delta": -0.1663,
          "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.28,
          "after": 4.0461,
          "delta": -0.2339,
          "percent_delta": -0.0546,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.205,
          "after": 0.2116,
          "delta": 0.0066,
          "percent_delta": 0.0322,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.457,
          "after": 0.4857,
          "delta": 0.0287,
          "percent_delta": 0.0628,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.88,
          "after": 0.8556,
          "delta": -0.0244,
          "percent_delta": -0.0277,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.087,
          "delta": -0.003,
          "percent_delta": -0.0333,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.33,
          "after": 0.3333,
          "delta": 0.0033,
          "percent_delta": 0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.597,
          "after": 0.587,
          "delta": -0.01,
          "percent_delta": -0.0168,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.34,
          "after": 0.3169,
          "delta": -0.0231,
          "percent_delta": -0.0679,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.335,
          "after": 0.327,
          "delta": -0.008,
          "percent_delta": -0.0239,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.837,
          "after": 0.9481,
          "delta": 0.1111,
          "percent_delta": 0.1327,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.837,
          "after": 0.9481,
          "delta": 0.1111,
          "percent_delta": 0.1327,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.28,
          "after": 4.0461,
          "delta": -0.2339,
          "percent_delta": -0.0546,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 129
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1484,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.0461,
        "predicted_AVG": 0.2111,
        "predicted_BB": 0.4851,
        "predicted_H": 0.8541,
        "predicted_HBP": 0.16,
        "predicted_HR": 0.0871,
        "predicted_OBP": 0.2956,
        "predicted_R": 0.5849,
        "predicted_RBI": 0.3158,
        "predicted_SLG": 0.3126,
        "predicted_SO": 0.9492
      },
      "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.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0461,
          "after": 4.0461,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2116,
          "after": 0.2111,
          "delta": -0.0005,
          "percent_delta": -0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4857,
          "after": 0.4851,
          "delta": -0.0006,
          "percent_delta": -0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8556,
          "after": 0.8541,
          "delta": -0.0015,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.16,
          "after": 0.16,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.087,
          "after": 0.0871,
          "delta": 0.0001,
          "percent_delta": 0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3333,
          "after": 0.2956,
          "delta": -0.0377,
          "percent_delta": -0.1131,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.587,
          "after": 0.5849,
          "delta": -0.0021,
          "percent_delta": -0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3169,
          "after": 0.3158,
          "delta": -0.0011,
          "percent_delta": -0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.327,
          "after": 0.3126,
          "delta": -0.0144,
          "percent_delta": -0.044,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9481,
          "after": 0.9492,
          "delta": 0.0011,
          "percent_delta": 0.0012,
          "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.3333,
          "after": 0.2956,
          "delta": -0.0377,
          "percent_delta": -0.1131,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.28), rates preserved: AVG=0.200 HR/AB=0.020",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1484,
          "after": 0.0,
          "delta": -0.1484,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0461,
          "after": 4.0,
          "delta": -0.0461,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4851,
          "after": 0.0,
          "delta": -0.4851,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8541,
          "after": 1.0,
          "delta": 0.1459,
          "percent_delta": 0.1708,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.16,
          "after": 0.0,
          "delta": -0.16,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0871,
          "after": 0.0,
          "delta": -0.0871,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3158,
          "after": 0.0,
          "delta": -0.3158,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9492,
          "after": 1.0,
          "delta": 0.0508,
          "percent_delta": 0.0535,
          "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.8541,
          "after": 1.0,
          "delta": 0.1459,
          "percent_delta": 0.1708,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4851,
          "after": 0.0,
          "delta": -0.4851,
          "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.5849,
          "after": 1.0,
          "delta": 0.4151,
          "percent_delta": 0.7097,
          "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.5849,
          "after": 1.0,
          "delta": 0.4151,
          "percent_delta": 0.7097,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.287,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.303,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2111,
          "after": 0.2,
          "delta": -0.0111,
          "percent_delta": -0.0526,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2956,
          "after": 0.287,
          "delta": -0.0086,
          "percent_delta": -0.0291,
          "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.3126,
          "after": 0.303,
          "delta": -0.0096,
          "percent_delta": -0.0307,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2111,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2956,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3126,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2,
          "after": 0.2111,
          "delta": 0.0111,
          "percent_delta": 0.0555,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.287,
          "after": 0.2956,
          "delta": 0.0086,
          "percent_delta": 0.0298,
          "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.303,
          "after": 0.3126,
          "delta": 0.0096,
          "percent_delta": 0.0317,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2,
          "after": 0.2111,
          "delta": 0.0111,
          "percent_delta": 0.0555,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.178,
        "after": 0.0,
        "delta": -0.178,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.28,
        "after": 3.0,
        "delta": -1.28,
        "percent_delta": -0.2991,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "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.457,
        "after": 1.0,
        "delta": 0.543,
        "percent_delta": 1.1882,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.88,
        "after": 1.0,
        "delta": 0.12,
        "percent_delta": 0.1364,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.33,
        "after": 0.2956,
        "delta": -0.0344,
        "percent_delta": -0.1042,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.597,
        "after": 1.0,
        "delta": 0.403,
        "percent_delta": 0.675,
        "direction": "boost",
        "projection_effect": "better",
        "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.335,
        "after": 0.3126,
        "delta": -0.0224,
        "percent_delta": -0.0669,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.837,
        "after": 0.0,
        "delta": -0.837,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.457,
        "after": 1.0,
        "delta": 0.543,
        "percent_delta": 1.1882,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.28,
        "after": 3.0,
        "delta": -1.28,
        "percent_delta": -0.2991,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.178-
predicted_3B0.000-
predicted_AB4.280-
predicted_AVG0.205-
predicted_BB0.457-
predicted_H0.880-
predicted_HR0.090-
predicted_OBP0.330-
predicted_R0.597-
predicted_RBI0.340-
predicted_SLG0.335-
predicted_SO0.837-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.148-0.030
predicted_3B0.0000.000
predicted_AB4.046-0.234
predicted_AVG0.2120.007
predicted_BB0.4860.029
predicted_H0.856-0.024
predicted_HBP0.160-
predicted_HR0.087-0.003
predicted_OBP0.3330.003
predicted_R0.587-0.010
predicted_RBI0.317-0.023
predicted_SLG0.327-0.008
predicted_SO0.9480.111
3. team_form_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_AB4.0460.000
predicted_AVG0.211-0.001
predicted_BB0.485-0.001
predicted_H0.854-0.002
predicted_HBP0.1600.000
predicted_HR0.0870.000
predicted_OBP0.296-0.038
predicted_R0.585-0.002
predicted_RBI0.316-0.001
predicted_SLG0.313-0.014
predicted_SO0.9490.001
4. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI0.0000.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.148
predicted_3B0.000-0.000
predicted_AB4.000-0.046
predicted_AVG0.200-0.011
predicted_BB0.000-0.485
predicted_H1.0000.146
predicted_HR0.000-0.087
predicted_OBP0.287-0.009
predicted_R1.0000.415
predicted_RBI0.000-0.316
predicted_SLG0.303-0.010
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
AB3.000-1.000
BB1.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 129
Reference playing time: 4.280
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0004.0000.0000.0000.0000.0003.0003.0008.0000.21050.31820.21050.21050.00000.00000.15790.4210
last_100.2010-36.0006.0000.0000.0001.0002.0005.0007.00014.0000.16670.32610.25000.16670.02780.05560.19440.3889
season0.60129-486.000116.00023.0000.00013.00051.00077.00059.000108.0000.23870.35070.36630.23870.02670.10490.12140.2222
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1100
predicted_3B0.0010
predicted_AB3.7430
predicted_AVG0.2201
predicted_BB0.5230
predicted_H0.8240
predicted_HBP0.1600
predicted_HR0.0830
predicted_OBP0.3376
predicted_R0.5740
predicted_RBI0.2870
predicted_SLG0.3166
predicted_SO1.0920
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17800.11000.1484model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.28003.74304.0461model_form_blend
predicted_AVG0.20500.22010.2116model_form_blend
predicted_BB0.45700.52300.4857model_form_blend
predicted_H0.88000.82400.8556model_form_blend
predicted_HBP-0.16000.1600form_only
predicted_HR0.09000.08300.0870model_form_blend
predicted_OBP0.33000.33760.3333model_form_blend
predicted_R0.59700.57400.5870model_form_blend
predicted_RBI0.34000.28700.3169model_form_blend
predicted_SLG0.33500.31660.3270model_form_blend
predicted_SO0.83701.09200.9481model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.75
Hitting_BB1
Hitting_GIDP0
Hitting_H3
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB3
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260826_BAL@STL
game_typefull
mlbID671056
playerID671056
playerNameIván Herrera
posDH
startedTrue
startingPositionDH
teamSTL
teamID26
game_date2026-08-26
sl_k_percent18.1
sl_bb_percent10.9
sl_woba0.33
sl_xwoba0.33
sl_xba0.247
sl_xslg0.372
sl_sweet_spot_percent30.2
sl_barrel_batted_rate5.4
sl_hard_hit_percent40.4
sl_exit_velocity_avg89.2
sl_launch_angle_avg9.8
sl_whiff_percent20.4
sl_swing_percent44.5
Alec Burleson (676475) · BATTER · 1B · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 542
All-history rows before 20260827: 542
System season_avg: 0.2900
Data season_avg (2026 season-to-date): 0.2921
Diff (system - data): -0.0021
System opponent_avg: 0.2900

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2500.0001.000Hitting_2B0.2770.000-0.2770.000
predicted_3B0.0080.0000.000Hitting_3B0.0110.000-0.0110.000
predicted_AB3.8204.0004.000Hitting_AB3.9805.0000.020-1.000
predicted_AVG0.3000.0000.250Hitting_AVG0.2920.200-0.292-0.200
predicted_BB0.3440.0000.000Hitting_BB0.3710.000-0.3710.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.0900.0001.000Hitting_H1.1621.000-1.162-1.000
predicted_HR0.1200.0000.000Hitting_HR0.1790.000-0.1790.000
predicted_OBP0.3670.0000.250Hitting_OBP0.3550.200-0.355-0.200
predicted_R0.5860.0001.000Hitting_R0.6381.000-0.638-1.000
predicted_RBI0.7600.0001.000Hitting_RBI0.7662.000-0.766-2.000
predicted_SLG0.4550.0000.500Hitting_SLG0.5020.200-0.502-0.200
predicted_SO0.7111.0001.000Hitting_SO0.7311.0000.2690.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.7110 -> 1.0000 (boost 0.2890, 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_blend32121predicted_SLG: 0.4550 -> 0.4650 (boost 0.0100, better)predicted_AB: 3.8200 -> 3.7587 (deboost -0.0613, worse)Final model input calibrated 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.3688 -> 0.3494 (deboost -0.0194, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling83526predicted_SO: 0.7132 -> 1.0000 (boost 0.2868, worse)predicted_BB: 0.2980 -> 0.0000 (deboost -0.2980, worse)AB rounded to 4 (raw=3.82), rates preserved: AVG=0.293 HR/AB=0.033
5consistency_constraints11010predicted_R: 0.6181 -> 1.0000 (boost 0.3819, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context20202-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference30303-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final11010predicted_SLG: 0.4540 -> 0.4611 (boost 0.0071, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "676475",
  "player_name": "Alec Burleson",
  "position": "1B",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.25,
        "predicted_3B": 0.008,
        "predicted_AB": 3.82,
        "predicted_AVG": 0.3,
        "predicted_BB": 0.344,
        "predicted_H": 1.09,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.367,
        "predicted_R": 0.586,
        "predicted_RBI": 0.76,
        "predicted_SLG": 0.455,
        "predicted_SO": 0.711
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2213,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.7587,
        "predicted_AVG": 0.3069,
        "predicted_BB": 0.2984,
        "predicted_H": 1.1213,
        "predicted_HBP": 0.09,
        "predicted_HR": 0.1261,
        "predicted_OBP": 0.3688,
        "predicted_R": 0.6203,
        "predicted_RBI": 0.7709,
        "predicted_SLG": 0.465,
        "predicted_SO": 0.7123
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.25,
          "after": 0.2213,
          "delta": -0.0287,
          "percent_delta": -0.1148,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.008,
          "after": 0.0067,
          "delta": -0.0013,
          "percent_delta": -0.1625,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.82,
          "after": 3.7587,
          "delta": -0.0613,
          "percent_delta": -0.016,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3,
          "after": 0.3069,
          "delta": 0.0069,
          "percent_delta": 0.023,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.344,
          "after": 0.2984,
          "delta": -0.0456,
          "percent_delta": -0.1326,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.09,
          "after": 1.1213,
          "delta": 0.0313,
          "percent_delta": 0.0287,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1261,
          "delta": 0.0061,
          "percent_delta": 0.0508,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.367,
          "after": 0.3688,
          "delta": 0.0018,
          "percent_delta": 0.0049,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.586,
          "after": 0.6203,
          "delta": 0.0343,
          "percent_delta": 0.0585,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.76,
          "after": 0.7709,
          "delta": 0.0109,
          "percent_delta": 0.0143,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.455,
          "after": 0.465,
          "delta": 0.01,
          "percent_delta": 0.022,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.711,
          "after": 0.7123,
          "delta": 0.0013,
          "percent_delta": 0.0018,
          "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.455,
          "after": 0.465,
          "delta": 0.01,
          "percent_delta": 0.022,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.82,
          "after": 3.7587,
          "delta": -0.0613,
          "percent_delta": -0.016,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 128
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2213,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.7587,
        "predicted_AVG": 0.2978,
        "predicted_BB": 0.298,
        "predicted_H": 1.1194,
        "predicted_HBP": 0.09,
        "predicted_HR": 0.1263,
        "predicted_OBP": 0.3494,
        "predicted_R": 0.6181,
        "predicted_RBI": 0.7681,
        "predicted_SLG": 0.4611,
        "predicted_SO": 0.7132
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2213,
          "after": 0.2213,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0067,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7587,
          "after": 3.7587,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3069,
          "after": 0.2978,
          "delta": -0.0091,
          "percent_delta": -0.0297,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2984,
          "after": 0.298,
          "delta": -0.0004,
          "percent_delta": -0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1213,
          "after": 1.1194,
          "delta": -0.0019,
          "percent_delta": -0.0017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.09,
          "after": 0.09,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1261,
          "after": 0.1263,
          "delta": 0.0002,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3688,
          "after": 0.3494,
          "delta": -0.0194,
          "percent_delta": -0.0526,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6203,
          "after": 0.6181,
          "delta": -0.0022,
          "percent_delta": -0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7709,
          "after": 0.7681,
          "delta": -0.0028,
          "percent_delta": -0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.465,
          "after": 0.4611,
          "delta": -0.0039,
          "percent_delta": -0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.7123,
          "after": 0.7132,
          "delta": 0.0009,
          "percent_delta": 0.0013,
          "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.3688,
          "after": 0.3494,
          "delta": -0.0194,
          "percent_delta": -0.0526,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.82), rates preserved: AVG=0.293 HR/AB=0.033",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2213,
          "after": 0.0,
          "delta": -0.2213,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0,
          "delta": -0.0067,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7587,
          "after": 4.0,
          "delta": 0.2413,
          "percent_delta": 0.0642,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.298,
          "after": 0.0,
          "delta": -0.298,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1194,
          "after": 1.0,
          "delta": -0.1194,
          "percent_delta": -0.1067,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.09,
          "after": 0.0,
          "delta": -0.09,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1263,
          "after": 0.0,
          "delta": -0.1263,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7681,
          "after": 1.0,
          "delta": 0.2319,
          "percent_delta": 0.3019,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7132,
          "after": 1.0,
          "delta": 0.2868,
          "percent_delta": 0.4021,
          "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.7132,
          "after": 1.0,
          "delta": 0.2868,
          "percent_delta": 0.4021,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.298,
          "after": 0.0,
          "delta": -0.298,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6181,
          "after": 1.0,
          "delta": 0.3819,
          "percent_delta": 0.6179,
          "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.6181,
          "after": 1.0,
          "delta": 0.3819,
          "percent_delta": 0.6179,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "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_SO",
          "before": 1.0,
          "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_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": 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.293,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.349,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.454,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2978,
          "after": 0.293,
          "delta": -0.0048,
          "percent_delta": -0.0161,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3494,
          "after": 0.349,
          "delta": -0.0004,
          "percent_delta": -0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4611,
          "after": 0.454,
          "delta": -0.0071,
          "percent_delta": -0.0154,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2978,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3494,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4611,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.293,
          "after": 0.2978,
          "delta": 0.0048,
          "percent_delta": 0.0164,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.349,
          "after": 0.3494,
          "delta": 0.0004,
          "percent_delta": 0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.454,
          "after": 0.4611,
          "delta": 0.0071,
          "percent_delta": 0.0156,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.454,
          "after": 0.4611,
          "delta": 0.0071,
          "percent_delta": 0.0156,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.25,
        "after": 0.0,
        "delta": -0.25,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.008,
        "after": 0.0,
        "delta": -0.008,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.82,
        "after": 4.0,
        "delta": 0.18,
        "percent_delta": 0.0471,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.3,
        "after": 0.2978,
        "delta": -0.0022,
        "percent_delta": -0.0073,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.344,
        "after": 0.0,
        "delta": -0.344,
        "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.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.367,
        "after": 0.3494,
        "delta": -0.0176,
        "percent_delta": -0.048,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.586,
        "after": 0.0,
        "delta": -0.586,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.76,
        "after": 0.0,
        "delta": -0.76,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.455,
        "after": 0.4611,
        "delta": 0.0061,
        "percent_delta": 0.0134,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.711,
        "after": 1.0,
        "delta": 0.289,
        "percent_delta": 0.4065,
        "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.711,
        "after": 1.0,
        "delta": 0.289,
        "percent_delta": 0.4065,
        "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.250-
predicted_3B0.008-
predicted_AB3.820-
predicted_AVG0.300-
predicted_BB0.344-
predicted_H1.090-
predicted_HR0.120-
predicted_OBP0.367-
predicted_R0.586-
predicted_RBI0.760-
predicted_SLG0.455-
predicted_SO0.711-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.221-0.029
predicted_3B0.007-0.001
predicted_AB3.759-0.061
predicted_AVG0.3070.007
predicted_BB0.298-0.046
predicted_H1.1210.031
predicted_HBP0.090-
predicted_HR0.1260.006
predicted_OBP0.3690.002
predicted_R0.6200.034
predicted_RBI0.7710.011
predicted_SLG0.4650.010
predicted_SO0.7120.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.2210.000
predicted_3B0.0070.000
predicted_AB3.7590.000
predicted_AVG0.298-0.009
predicted_BB0.298-0.000
predicted_H1.119-0.002
predicted_HBP0.0900.000
predicted_HR0.1260.000
predicted_OBP0.349-0.019
predicted_R0.618-0.002
predicted_RBI0.768-0.003
predicted_SLG0.461-0.004
predicted_SO0.7130.001
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.82), rates preserved: AVG=0.293 HR/AB=0.033

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
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI1.0000.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.221
predicted_3B0.000-0.007
predicted_AB4.0000.241
predicted_AVG0.293-0.005
predicted_BB0.000-0.298
predicted_H1.000-0.119
predicted_HR0.000-0.126
predicted_OBP0.349-0.000
predicted_R1.0000.382
predicted_RBI1.0000.232
predicted_SLG0.454-0.007
predicted_SO1.0000.287
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 128
Reference playing time: 3.820
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0006.0000.0000.0000.0004.0003.0000.0003.0000.37500.41180.37500.37500.00000.25000.00000.1875
last_100.2010-37.00013.0002.0000.0002.00010.00010.0002.0008.0000.35140.40000.56760.35130.05410.27030.05410.2162
season0.60128-489.000142.00032.0001.00021.00093.00075.00044.00091.0000.29040.35420.48880.29040.04290.19020.09000.1861
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1840
predicted_3B0.0050
predicted_AB3.6790
predicted_AVG0.3158
predicted_BB0.2390
predicted_H1.1620
predicted_HBP0.0900
predicted_HR0.1340
predicted_OBP0.3712
predicted_R0.6650
predicted_RBI0.7850
predicted_SLG0.4779
predicted_SO0.7140
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.25000.18400.2213model_form_blend
predicted_3B0.00800.00500.0067model_form_blend
predicted_AB3.82003.67903.7587model_form_blend
predicted_AVG0.30000.31580.3069model_form_blend
predicted_BB0.34400.23900.2984model_form_blend
predicted_H1.09001.16201.1213model_form_blend
predicted_HBP-0.09000.0900form_only
predicted_HR0.12000.13400.1261model_form_blend
predicted_OBP0.36700.37120.3688model_form_blend
predicted_R0.58600.66500.6203model_form_blend
predicted_RBI0.76000.78500.7709model_form_blend
predicted_SLG0.45500.47790.4650model_form_blend
predicted_SO0.71100.71400.7123model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.2
Hitting_BB0
Hitting_GIDP1
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260826_BAL@STL
game_typefull
mlbID676475
playerID676475
playerNameAlec Burleson
pos1B
startedTrue
startingPosition1B
teamSTL
teamID26
game_date2026-08-26
sl_k_percent16.6
sl_bb_percent8.3
sl_woba0.359
sl_xwoba0.38
sl_xba0.296
sl_xslg0.529
sl_sweet_spot_percent34.6
sl_barrel_batted_rate11.0
sl_hard_hit_percent50.0
sl_exit_velocity_avg92.1
sl_launch_angle_avg12.5
sl_whiff_percent21.8
sl_swing_percent52.9
José Fermín (665877) · BATTER · 2B · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 278
All-history rows before 20260827: 278
System season_avg: 0.2500
Data season_avg (2026 season-to-date): 0.2564
Diff (system - data): -0.0064
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.1570.0000.000Hitting_2B0.1830.000-0.1830.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.7873.0003.000Hitting_AB3.0865.000-0.086-2.000
predicted_AVG0.2500.3330.333Hitting_AVG0.2560.0000.0770.333
predicted_BB0.2810.0000.000Hitting_BB0.3670.000-0.3670.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6971.0001.000Hitting_H0.7910.0000.2091.000
predicted_HR0.0671.0000.000Hitting_HR0.0610.0000.9391.000
predicted_OBP0.3190.2500.333Hitting_OBP0.3340.000-0.0840.250
predicted_R0.2471.0000.000Hitting_R0.2950.0000.7051.000
predicted_RBI0.3713.0001.000Hitting_RBI0.4061.0002.5942.000
predicted_SB-0.0000.000BaseRunning_SB0.0900.000-0.0900.000
predicted_SLG0.3791.3330.333Hitting_SLG0.3750.0000.9581.333
predicted_SO0.3711.0000.000Hitting_SO0.4101.0000.5900.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics9
Boosted Metrics7
Deboosted Metrics2
Better Metrics6
Worse Metrics3
Biggest Boostpredicted_RBI: 0.3710 -> 3.0000 (boost 2.6290, better)
Biggest Deboostpredicted_BB: 0.2810 -> 0.0000 (deboost -0.2810, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend33030predicted_AB: 2.7870 -> 2.8991 (boost 0.1121, 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_scaling72534predicted_H: 0.7357 -> 1.0000 (boost 0.2643, better)predicted_RBI: 0.4343 -> 0.0000 (deboost -0.4343, worse)AB rounded to 3 (raw=2.90), rates preserved: AVG=0.254 HR/AB=0.028
5consistency_constraints10101-predicted_R: 0.2621 -> 0.0000 (deboost -0.2621, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context32121predicted_SLG: 0.3976 -> 0.4050 (boost 0.0074, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference55031predicted_RBI: 0.0000 -> 3.0000 (boost 3.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final20202-predicted_SLG: 0.4050 -> 0.3976 (deboost -0.0074, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "665877",
  "player_name": "José Fermín",
  "position": "2B",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.157,
        "predicted_3B": 0.0,
        "predicted_AB": 2.787,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.281,
        "predicted_H": 0.697,
        "predicted_HR": 0.067,
        "predicted_OBP": 0.319,
        "predicted_R": 0.247,
        "predicted_RBI": 0.371,
        "predicted_SLG": 0.379,
        "predicted_SO": 0.371
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.173,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.8991,
        "predicted_AVG": 0.254,
        "predicted_BB": 0.2654,
        "predicted_H": 0.737,
        "predicted_HBP": 0.009,
        "predicted_HR": 0.0809,
        "predicted_OBP": 0.3171,
        "predicted_R": 0.263,
        "predicted_RBI": 0.4359,
        "predicted_SLG": 0.3972,
        "predicted_SO": 0.3933
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.157,
          "after": 0.173,
          "delta": 0.016,
          "percent_delta": 0.1019,
          "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.787,
          "after": 2.8991,
          "delta": 0.1121,
          "percent_delta": 0.0402,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.254,
          "delta": 0.004,
          "percent_delta": 0.016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.281,
          "after": 0.2654,
          "delta": -0.0156,
          "percent_delta": -0.0555,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.697,
          "after": 0.737,
          "delta": 0.04,
          "percent_delta": 0.0574,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.067,
          "after": 0.0809,
          "delta": 0.0139,
          "percent_delta": 0.2075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.319,
          "after": 0.3171,
          "delta": -0.0019,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.247,
          "after": 0.263,
          "delta": 0.016,
          "percent_delta": 0.0648,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.371,
          "after": 0.4359,
          "delta": 0.0649,
          "percent_delta": 0.1749,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.379,
          "after": 0.3972,
          "delta": 0.0182,
          "percent_delta": 0.048,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.371,
          "after": 0.3933,
          "delta": 0.0223,
          "percent_delta": 0.0601,
          "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": 2.787,
          "after": 2.8991,
          "delta": 0.1121,
          "percent_delta": 0.0402,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 89
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.173,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.8991,
        "predicted_AVG": 0.2538,
        "predicted_BB": 0.2651,
        "predicted_H": 0.7357,
        "predicted_HBP": 0.009,
        "predicted_HR": 0.081,
        "predicted_OBP": 0.3163,
        "predicted_R": 0.2621,
        "predicted_RBI": 0.4343,
        "predicted_SLG": 0.3976,
        "predicted_SO": 0.3938
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.173,
          "after": 0.173,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.8991,
          "after": 2.8991,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.254,
          "after": 0.2538,
          "delta": -0.0002,
          "percent_delta": -0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2654,
          "after": 0.2651,
          "delta": -0.0003,
          "percent_delta": -0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.737,
          "after": 0.7357,
          "delta": -0.0013,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.009,
          "after": 0.009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0809,
          "after": 0.081,
          "delta": 0.0001,
          "percent_delta": 0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3171,
          "after": 0.3163,
          "delta": -0.0008,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.263,
          "after": 0.2621,
          "delta": -0.0009,
          "percent_delta": -0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4359,
          "after": 0.4343,
          "delta": -0.0016,
          "percent_delta": -0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3972,
          "after": 0.3976,
          "delta": 0.0004,
          "percent_delta": 0.001,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.3933,
          "after": 0.3938,
          "delta": 0.0005,
          "percent_delta": 0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.254 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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.173,
          "after": 0.0,
          "delta": -0.173,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.8991,
          "after": 3.0,
          "delta": 0.1009,
          "percent_delta": 0.0348,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2651,
          "after": 0.0,
          "delta": -0.2651,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7357,
          "after": 1.0,
          "delta": 0.2643,
          "percent_delta": 0.3592,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.009,
          "after": 0.0,
          "delta": -0.009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.081,
          "after": 0.0,
          "delta": -0.081,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4343,
          "after": 0.0,
          "delta": -0.4343,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.3938,
          "after": 0.0,
          "delta": -0.3938,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7357,
          "after": 1.0,
          "delta": 0.2643,
          "percent_delta": 0.3592,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4343,
          "after": 0.0,
          "delta": -0.4343,
          "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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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.2621,
          "after": 0.0,
          "delta": -0.2621,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.2621,
          "after": 0.0,
          "delta": -0.2621,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_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_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.254,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.322,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.405,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2538,
          "after": 0.254,
          "delta": 0.0002,
          "percent_delta": 0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3163,
          "after": 0.322,
          "delta": 0.0057,
          "percent_delta": 0.018,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3976,
          "after": 0.405,
          "delta": 0.0074,
          "percent_delta": 0.0186,
          "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.3976,
          "after": 0.405,
          "delta": 0.0074,
          "percent_delta": 0.0186,
          "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": "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": 3.0,
        "predicted_SB": 0.0,
        "predicted_SF": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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": 3.0,
          "delta": 3.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "higher",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 3.0,
          "delta": 3.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2538,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3163,
        "predicted_R": 1.0,
        "predicted_RBI": 3.0,
        "predicted_SB": 0.0,
        "predicted_SF": 1.0,
        "predicted_SLG": 0.3976,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.254,
          "after": 0.2538,
          "delta": -0.0002,
          "percent_delta": -0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "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.322,
          "after": 0.3163,
          "delta": -0.0057,
          "percent_delta": -0.0177,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.405,
          "after": 0.3976,
          "delta": -0.0074,
          "percent_delta": -0.0183,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.405,
          "after": 0.3976,
          "delta": -0.0074,
          "percent_delta": -0.0183,
          "direction": "deboost",
          "projection_effect": "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": 2.787,
        "after": 3.0,
        "delta": 0.213,
        "percent_delta": 0.0764,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.25,
        "after": 0.2538,
        "delta": 0.0038,
        "percent_delta": 0.0152,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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.697,
        "after": 1.0,
        "delta": 0.303,
        "percent_delta": 0.4347,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.067,
        "after": 1.0,
        "delta": 0.933,
        "percent_delta": 13.9254,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.319,
        "after": 0.3163,
        "delta": -0.0027,
        "percent_delta": -0.0085,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.247,
        "after": 1.0,
        "delta": 0.753,
        "percent_delta": 3.0486,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.371,
        "after": 3.0,
        "delta": 2.629,
        "percent_delta": 7.0863,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.379,
        "after": 0.3976,
        "delta": 0.0186,
        "percent_delta": 0.0491,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.371,
        "after": 1.0,
        "delta": 0.629,
        "percent_delta": 1.6954,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 7,
      "deboosted_metrics": 2,
      "better_metrics": 6,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.371,
        "after": 3.0,
        "delta": 2.629,
        "percent_delta": 7.0863,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.281,
        "after": 0.0,
        "delta": -0.281,
        "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.157-
predicted_3B0.000-
predicted_AB2.787-
predicted_AVG0.250-
predicted_BB0.281-
predicted_H0.697-
predicted_HR0.067-
predicted_OBP0.319-
predicted_R0.247-
predicted_RBI0.371-
predicted_SLG0.379-
predicted_SO0.371-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1730.016
predicted_3B0.0000.000
predicted_AB2.8990.112
predicted_AVG0.2540.004
predicted_BB0.265-0.016
predicted_H0.7370.040
predicted_HBP0.009-
predicted_HR0.0810.014
predicted_OBP0.317-0.002
predicted_R0.2630.016
predicted_RBI0.4360.065
predicted_SLG0.3970.018
predicted_SO0.3930.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.1730.000
predicted_3B0.0000.000
predicted_AB2.8990.000
predicted_AVG0.254-0.000
predicted_BB0.265-0.000
predicted_H0.736-0.001
predicted_HBP0.0090.000
predicted_HR0.0810.000
predicted_OBP0.316-0.001
predicted_R0.262-0.001
predicted_RBI0.434-0.002
predicted_SLG0.3980.000
predicted_SO0.3940.001
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.90), rates preserved: AVG=0.254 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-
SO0.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-
SO0.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI1.0001.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.173
predicted_3B0.000-0.000
predicted_AB3.0000.101
predicted_AVG0.2540.000
predicted_BB0.000-0.265
predicted_H1.0000.264
predicted_HR0.000-0.081
predicted_OBP0.3220.006
predicted_R0.000-0.262
predicted_RBI0.000-0.434
predicted_SLG0.4050.007
predicted_SO0.000-0.394
8. 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
PA4.000-
R1.0001.000
RBI3.0002.000
SB0.0000.000
SF1.0001.000
SO1.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 89
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0005.0001.0000.0001.0005.0002.0000.0002.0000.27780.27780.50000.27780.05560.27780.00000.1111
last_100.2010-29.0008.0003.0000.0001.0006.0002.0003.0004.0000.27590.34380.48280.27590.03450.20690.10350.1379
season0.6089-248.00062.00014.0000.0006.00033.00022.00025.00033.0000.25000.31880.37900.25000.02420.13310.10080.1331
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1950
predicted_3B0.0010
predicted_AB3.0530
predicted_AVG0.2595
predicted_BB0.2440
predicted_H0.7920
predicted_HBP0.0090
predicted_HR0.1000
predicted_OBP0.3146
predicted_R0.2850
predicted_RBI0.5250
predicted_SLG0.4223
predicted_SO0.4240
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15700.19500.1730model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB2.78703.05302.8991model_form_blend
predicted_AVG0.25000.25950.2540model_form_blend
predicted_BB0.28100.24400.2654model_form_blend
predicted_H0.69700.79200.7370model_form_blend
predicted_HBP-0.00900.0090form_only
predicted_HR0.06700.10000.0809model_form_blend
predicted_OBP0.31900.31460.3171model_form_blend
predicted_R0.24700.28500.2630model_form_blend
predicted_RBI0.37100.52500.4359model_form_blend
predicted_SLG0.37900.42230.3972model_form_blend
predicted_SO0.37100.42400.3933model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H1
2B0
3B0
HR1
R1
RBI3
BB0
SO1
SF1
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B-LF
gameID20260826_BAL@STL
game_typefull
mlbID665877
playerID665877
playerNameJosé Fermín
posLF
startedTrue
startingPosition2B
teamSTL
teamID26
game_date2026-08-26
sl_k_percent13.3
sl_bb_percent8.4
sl_woba0.295
sl_xwoba0.294
sl_xba0.249
sl_xslg0.34
sl_sweet_spot_percent33.6
sl_barrel_batted_rate2.5
sl_hard_hit_percent31.5
sl_exit_velocity_avg86.3
sl_launch_angle_avg16.9
sl_whiff_percent14.0
sl_swing_percent39.3
JJ Wetherholt (802139) · BATTER · SS · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 557
All-history rows before 20260827: 557
System season_avg: 0.2460
Data season_avg (2026 season-to-date): 0.2484
Diff (system - data): -0.0024
System opponent_avg: 0.2460

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1140.0000.000Hitting_2B0.1240.000-0.1240.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.9404.0004.000Hitting_AB3.9894.0000.0110.000
predicted_AVG0.2710.0000.250Hitting_AVG0.2480.250-0.248-0.250
predicted_BB0.4960.0001.000Hitting_BB0.5371.000-0.537-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0090.000-0.0090.000
predicted_H1.0700.0001.000Hitting_H0.9911.000-0.991-1.000
predicted_HR0.1400.0000.000Hitting_HR0.1420.000-0.1420.000
predicted_OBP0.3420.0000.400Hitting_OBP0.3540.400-0.354-0.400
predicted_R0.6910.0001.000Hitting_R0.7111.000-0.711-1.000
predicted_RBI0.4800.0001.000Hitting_RBI0.4060.000-0.4060.000
predicted_SLG0.4230.0000.250Hitting_SLG0.3860.250-0.386-0.250
predicted_SO0.7401.0001.000Hitting_SO0.7340.0000.2661.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.7400 -> 1.0000 (boost 0.2600, 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_blend31203predicted_SO: 0.7400 -> 0.8009 (boost 0.0609, worse)predicted_BB: 0.4960 -> 0.4268 (deboost -0.0692, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot10101-predicted_SLG: 0.4130 -> 0.4038 (deboost -0.0092, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling71607predicted_SO: 0.8019 -> 1.0000 (boost 0.1981, worse)predicted_RBI: 0.4331 -> 0.0000 (deboost -0.4331, worse)AB rounded to 4 (raw=3.96), rates preserved: AVG=0.268 HR/AB=0.036
5consistency_constraints11010predicted_R: 0.7336 -> 1.0000 (boost 0.2664, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation22020predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context31212predicted_SLG: 0.4038 -> 0.4120 (boost 0.0082, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference20202-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final10101-predicted_SLG: 0.4120 -> 0.4038 (deboost -0.0082, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "802139",
  "player_name": "JJ Wetherholt",
  "position": "SS",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.114,
        "predicted_3B": 0.0,
        "predicted_AB": 3.94,
        "predicted_AVG": 0.271,
        "predicted_BB": 0.496,
        "predicted_H": 1.07,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.342,
        "predicted_R": 0.691,
        "predicted_RBI": 0.48,
        "predicted_SLG": 0.423,
        "predicted_SO": 0.74
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1127,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.96,
        "predicted_AVG": 0.268,
        "predicted_BB": 0.4268,
        "predicted_H": 1.0626,
        "predicted_HBP": 0.146,
        "predicted_HR": 0.1413,
        "predicted_OBP": 0.3423,
        "predicted_R": 0.7363,
        "predicted_RBI": 0.4347,
        "predicted_SLG": 0.413,
        "predicted_SO": 0.8009
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.114,
          "after": 0.1127,
          "delta": -0.0013,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0004,
          "delta": 0.0004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.94,
          "after": 3.96,
          "delta": 0.02,
          "percent_delta": 0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.271,
          "after": 0.268,
          "delta": -0.003,
          "percent_delta": -0.0111,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.496,
          "after": 0.4268,
          "delta": -0.0692,
          "percent_delta": -0.1395,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.07,
          "after": 1.0626,
          "delta": -0.0074,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.1413,
          "delta": 0.0013,
          "percent_delta": 0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.342,
          "after": 0.3423,
          "delta": 0.0003,
          "percent_delta": 0.0009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.691,
          "after": 0.7363,
          "delta": 0.0453,
          "percent_delta": 0.0656,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.48,
          "after": 0.4347,
          "delta": -0.0453,
          "percent_delta": -0.0944,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.423,
          "after": 0.413,
          "delta": -0.01,
          "percent_delta": -0.0236,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.74,
          "after": 0.8009,
          "delta": 0.0609,
          "percent_delta": 0.0823,
          "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.74,
          "after": 0.8009,
          "delta": 0.0609,
          "percent_delta": 0.0823,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.496,
          "after": 0.4268,
          "delta": -0.0692,
          "percent_delta": -0.1395,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1127,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.96,
        "predicted_AVG": 0.2679,
        "predicted_BB": 0.4263,
        "predicted_H": 1.0608,
        "predicted_HBP": 0.146,
        "predicted_HR": 0.1415,
        "predicted_OBP": 0.339,
        "predicted_R": 0.7336,
        "predicted_RBI": 0.4331,
        "predicted_SLG": 0.4038,
        "predicted_SO": 0.8019
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1127,
          "after": 0.1127,
          "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.96,
          "after": 3.96,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.268,
          "after": 0.2679,
          "delta": -0.0001,
          "percent_delta": -0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4268,
          "after": 0.4263,
          "delta": -0.0005,
          "percent_delta": -0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0626,
          "after": 1.0608,
          "delta": -0.0018,
          "percent_delta": -0.0017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.146,
          "after": 0.146,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1413,
          "after": 0.1415,
          "delta": 0.0002,
          "percent_delta": 0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3423,
          "after": 0.339,
          "delta": -0.0033,
          "percent_delta": -0.0096,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.7363,
          "after": 0.7336,
          "delta": -0.0027,
          "percent_delta": -0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4347,
          "after": 0.4331,
          "delta": -0.0016,
          "percent_delta": -0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.413,
          "after": 0.4038,
          "delta": -0.0092,
          "percent_delta": -0.0223,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8009,
          "after": 0.8019,
          "delta": 0.001,
          "percent_delta": 0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.413,
          "after": 0.4038,
          "delta": -0.0092,
          "percent_delta": -0.0223,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.96), rates preserved: AVG=0.268 HR/AB=0.036",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1127,
          "after": 0.0,
          "delta": -0.1127,
          "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.96,
          "after": 4.0,
          "delta": 0.04,
          "percent_delta": 0.0101,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4263,
          "after": 0.0,
          "delta": -0.4263,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0608,
          "after": 1.0,
          "delta": -0.0608,
          "percent_delta": -0.0573,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.146,
          "after": 0.0,
          "delta": -0.146,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "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.4331,
          "after": 0.0,
          "delta": -0.4331,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8019,
          "after": 1.0,
          "delta": 0.1981,
          "percent_delta": 0.247,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.8019,
          "after": 1.0,
          "delta": 0.1981,
          "percent_delta": 0.247,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4331,
          "after": 0.0,
          "delta": -0.4331,
          "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.7336,
          "after": 1.0,
          "delta": 0.2664,
          "percent_delta": 0.3631,
          "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.7336,
          "after": 1.0,
          "delta": 0.2664,
          "percent_delta": 0.3631,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.268,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.344,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.412,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2679,
          "after": 0.268,
          "delta": 0.0001,
          "percent_delta": 0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.339,
          "after": 0.344,
          "delta": 0.005,
          "percent_delta": 0.0147,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4038,
          "after": 0.412,
          "delta": 0.0082,
          "percent_delta": 0.0203,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.4038,
          "after": 0.412,
          "delta": 0.0082,
          "percent_delta": 0.0203,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2679,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.339,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4038,
        "predicted_SO": 1.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.268,
          "after": 0.2679,
          "delta": -0.0001,
          "percent_delta": -0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.344,
          "after": 0.339,
          "delta": -0.005,
          "percent_delta": -0.0144,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.412,
          "after": 0.4038,
          "delta": -0.0082,
          "percent_delta": -0.02,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.412,
          "after": 0.4038,
          "delta": -0.0082,
          "percent_delta": -0.02,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.114,
        "after": 0.0,
        "delta": -0.114,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.94,
        "after": 4.0,
        "delta": 0.06,
        "percent_delta": 0.0152,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.271,
        "after": 0.2679,
        "delta": -0.0031,
        "percent_delta": -0.0114,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.496,
        "after": 0.0,
        "delta": -0.496,
        "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.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.342,
        "after": 0.339,
        "delta": -0.003,
        "percent_delta": -0.0088,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.691,
        "after": 0.0,
        "delta": -0.691,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.48,
        "after": 0.0,
        "delta": -0.48,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.423,
        "after": 0.4038,
        "delta": -0.0192,
        "percent_delta": -0.0454,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.74,
        "after": 1.0,
        "delta": 0.26,
        "percent_delta": 0.3514,
        "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.74,
        "after": 1.0,
        "delta": 0.26,
        "percent_delta": 0.3514,
        "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.114-
predicted_3B0.000-
predicted_AB3.940-
predicted_AVG0.271-
predicted_BB0.496-
predicted_H1.070-
predicted_HR0.140-
predicted_OBP0.342-
predicted_R0.691-
predicted_RBI0.480-
predicted_SLG0.423-
predicted_SO0.740-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.113-0.001
predicted_3B0.0000.000
predicted_AB3.9600.020
predicted_AVG0.268-0.003
predicted_BB0.427-0.069
predicted_H1.063-0.007
predicted_HBP0.146-
predicted_HR0.1410.001
predicted_OBP0.3420.000
predicted_R0.7360.045
predicted_RBI0.435-0.045
predicted_SLG0.413-0.010
predicted_SO0.8010.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.1130.000
predicted_3B0.0000.000
predicted_AB3.9600.000
predicted_AVG0.268-0.000
predicted_BB0.426-0.001
predicted_H1.061-0.002
predicted_HBP0.1460.000
predicted_HR0.1410.000
predicted_OBP0.339-0.003
predicted_R0.734-0.003
predicted_RBI0.433-0.002
predicted_SLG0.404-0.009
predicted_SO0.8020.001
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.96), rates preserved: AVG=0.268 HR/AB=0.036

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI1.0001.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.113
predicted_3B0.000-0.000
predicted_AB4.0000.040
predicted_AVG0.2680.000
predicted_BB0.000-0.426
predicted_H1.000-0.061
predicted_HR0.000-0.141
predicted_OBP0.3440.005
predicted_R1.0000.266
predicted_RBI0.000-0.433
predicted_SLG0.4120.008
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.0000.000
BB0.000-1.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 123
Reference playing time: 3.940
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.0006.0000.0000.0001.0002.0005.0000.0006.0000.30000.33330.45000.30000.05000.10000.00000.3000
last_100.2010-42.00012.0002.0000.0001.0003.00010.0002.00010.0000.28570.34780.40480.28570.02380.07140.04760.2381
season0.60123-483.000119.00014.0000.00017.00047.00085.00061.00091.0000.24640.34760.38100.24640.03520.09730.12630.1884
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1110
predicted_3B0.0010
predicted_AB3.9860
predicted_AVG0.2641
predicted_BB0.3370
predicted_H1.0530
predicted_HBP0.1460
predicted_HR0.1430
predicted_OBP0.3428
predicted_R0.7950
predicted_RBI0.3760
predicted_SLG0.4000
predicted_SO0.8800
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11400.11100.1127model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.94003.98603.9600model_form_blend
predicted_AVG0.27100.26410.2680model_form_blend
predicted_BB0.49600.33700.4268model_form_blend
predicted_H1.07001.05301.0626model_form_blend
predicted_HBP-0.14600.1460form_only
predicted_HR0.14000.14300.1413model_form_blend
predicted_OBP0.34200.34280.3423model_form_blend
predicted_R0.69100.79500.7363model_form_blend
predicted_RBI0.48000.37600.4347model_form_blend
predicted_SLG0.42300.40000.4130model_form_blend
predicted_SO0.74000.88000.8009model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260826_BAL@STL
game_typefull
mlbID802139
playerID802139
playerNameJJ Wetherholt
posSS
startedTrue
startingPositionSS
teamSTL
teamID26
game_date2026-08-26
sl_k_percent16.2
sl_bb_percent10.8
sl_woba0.322
sl_xwoba0.351
sl_xba0.256
sl_xslg0.438
sl_sweet_spot_percent35.4
sl_barrel_batted_rate7.6
sl_hard_hit_percent44.8
sl_exit_velocity_avg89.9
sl_launch_angle_avg11.6
sl_whiff_percent20.1
sl_swing_percent41.8
Bryan Torres (663494) · BATTER · LF · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 136
All-history rows before 20260827: 136
System season_avg: 0.2320
Data season_avg (2026 season-to-date): 0.2412
Diff (system - data): -0.0092
System opponent_avg: 0.2320

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0220.0000.000Hitting_2B0.0150.000-0.0150.000
predicted_3B0.0450.0000.000Hitting_3B0.0510.000-0.0510.000
predicted_AB2.5004.0003.000Hitting_AB2.7133.0001.2871.000
predicted_AVG0.2320.0000.333Hitting_AVG0.2411.000-0.241-1.000
predicted_BB0.2010.0000.000Hitting_BB0.2790.000-0.2790.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.5800.0001.000Hitting_H0.6543.000-0.654-3.000
predicted_HR0.0670.0000.000Hitting_HR0.0660.000-0.0660.000
predicted_OBP0.2890.0000.333Hitting_OBP0.3121.000-0.312-1.000
predicted_R0.2230.0000.000Hitting_R0.2721.000-0.272-1.000
predicted_RBI0.3350.0000.000Hitting_RBI0.3010.000-0.3010.000
predicted_SLG0.3570.0000.333Hitting_SLG0.3581.000-0.358-1.000
predicted_SO0.5363.0001.000Hitting_SO0.5740.0002.4263.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics8
Boosted Metrics2
Deboosted Metrics6
Better Metrics1
Worse Metrics7
Biggest Boostpredicted_SO: 0.5360 -> 3.0000 (boost 2.4640, worse)
Biggest Deboostpredicted_H: 0.5800 -> 0.0000 (deboost -0.5800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32121predicted_AB: 2.5000 -> 2.5530 (boost 0.0530, better)predicted_SLG: 0.3570 -> 0.3488 (deboost -0.0082, worse)Final model input calibrated 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.2894 (deboost -0.0071, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_SO: 0.5434 -> 1.0000 (boost 0.4566, worse)predicted_RBI: 0.3456 -> 0.0000 (deboost -0.3456, worse)AB rounded to 3 (raw=2.55), rates preserved: AVG=0.237 HR/AB=0.024
5consistency_constraints10101-predicted_R: 0.2058 -> 0.0000 (deboost -0.2058, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context11010predicted_OBP: 0.2894 -> 0.2950 (boost 0.0056, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference32112predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final10101-predicted_OBP: 0.2950 -> 0.2894 (deboost -0.0056, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "663494",
  "player_name": "Bryan Torres",
  "position": "LF",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.022,
        "predicted_3B": 0.045,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.232,
        "predicted_BB": 0.201,
        "predicted_H": 0.58,
        "predicted_HR": 0.067,
        "predicted_OBP": 0.289,
        "predicted_R": 0.223,
        "predicted_RBI": 0.335,
        "predicted_SLG": 0.357,
        "predicted_SO": 0.536
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0275,
        "predicted_3B": 0.0371,
        "predicted_AB": 2.553,
        "predicted_AVG": 0.2369,
        "predicted_BB": 0.19,
        "predicted_H": 0.6051,
        "predicted_HBP": 0.072,
        "predicted_HR": 0.0611,
        "predicted_OBP": 0.2965,
        "predicted_R": 0.2065,
        "predicted_RBI": 0.3468,
        "predicted_SLG": 0.3488,
        "predicted_SO": 0.5427
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.022,
          "after": 0.0275,
          "delta": 0.0055,
          "percent_delta": 0.25,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.045,
          "after": 0.0371,
          "delta": -0.0079,
          "percent_delta": -0.1756,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.553,
          "delta": 0.053,
          "percent_delta": 0.0212,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.232,
          "after": 0.2369,
          "delta": 0.0049,
          "percent_delta": 0.0211,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.201,
          "after": 0.19,
          "delta": -0.011,
          "percent_delta": -0.0547,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.58,
          "after": 0.6051,
          "delta": 0.0251,
          "percent_delta": 0.0433,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.067,
          "after": 0.0611,
          "delta": -0.0059,
          "percent_delta": -0.0881,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.289,
          "after": 0.2965,
          "delta": 0.0075,
          "percent_delta": 0.026,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.223,
          "after": 0.2065,
          "delta": -0.0165,
          "percent_delta": -0.074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.335,
          "after": 0.3468,
          "delta": 0.0118,
          "percent_delta": 0.0352,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.357,
          "after": 0.3488,
          "delta": -0.0082,
          "percent_delta": -0.023,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.536,
          "after": 0.5427,
          "delta": 0.0067,
          "percent_delta": 0.0125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.553,
          "delta": 0.053,
          "percent_delta": 0.0212,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.357,
          "after": 0.3488,
          "delta": -0.0082,
          "percent_delta": -0.023,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 47
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0275,
        "predicted_3B": 0.0371,
        "predicted_AB": 2.553,
        "predicted_AVG": 0.2366,
        "predicted_BB": 0.1898,
        "predicted_H": 0.6041,
        "predicted_HBP": 0.072,
        "predicted_HR": 0.0612,
        "predicted_OBP": 0.2894,
        "predicted_R": 0.2058,
        "predicted_RBI": 0.3456,
        "predicted_SLG": 0.3484,
        "predicted_SO": 0.5434
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0275,
          "after": 0.0275,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0371,
          "after": 0.0371,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.553,
          "after": 2.553,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2369,
          "after": 0.2366,
          "delta": -0.0003,
          "percent_delta": -0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.19,
          "after": 0.1898,
          "delta": -0.0002,
          "percent_delta": -0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6051,
          "after": 0.6041,
          "delta": -0.001,
          "percent_delta": -0.0017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.072,
          "after": 0.072,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0611,
          "after": 0.0612,
          "delta": 0.0001,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2965,
          "after": 0.2894,
          "delta": -0.0071,
          "percent_delta": -0.0239,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2065,
          "after": 0.2058,
          "delta": -0.0007,
          "percent_delta": -0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3468,
          "after": 0.3456,
          "delta": -0.0012,
          "percent_delta": -0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3488,
          "after": 0.3484,
          "delta": -0.0004,
          "percent_delta": -0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.5427,
          "after": 0.5434,
          "delta": 0.0007,
          "percent_delta": 0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2894,
          "delta": -0.0071,
          "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 3 (raw=2.55), rates preserved: AVG=0.237 HR/AB=0.024",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0275,
          "after": 0.0,
          "delta": -0.0275,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0371,
          "after": 0.0,
          "delta": -0.0371,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.553,
          "after": 3.0,
          "delta": 0.447,
          "percent_delta": 0.1751,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1898,
          "after": 0.0,
          "delta": -0.1898,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6041,
          "after": 1.0,
          "delta": 0.3959,
          "percent_delta": 0.6554,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.072,
          "after": 0.0,
          "delta": -0.072,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0612,
          "after": 0.0,
          "delta": -0.0612,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3456,
          "after": 0.0,
          "delta": -0.3456,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5434,
          "after": 1.0,
          "delta": 0.4566,
          "percent_delta": 0.8403,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.5434,
          "after": 1.0,
          "delta": 0.4566,
          "percent_delta": 0.8403,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3456,
          "after": 0.0,
          "delta": -0.3456,
          "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.2058,
          "after": 0.0,
          "delta": -0.2058,
          "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.2058,
          "after": 0.0,
          "delta": -0.2058,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": {},
      "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.237,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.295,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.348,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2366,
          "after": 0.237,
          "delta": 0.0004,
          "percent_delta": 0.0017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2894,
          "after": 0.295,
          "delta": 0.0056,
          "percent_delta": 0.0194,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3484,
          "after": 0.348,
          "delta": -0.0004,
          "percent_delta": -0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2894,
          "after": 0.295,
          "delta": 0.0056,
          "percent_delta": 0.0194,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2366,
        "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.2894,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3484,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.237,
          "after": 0.2366,
          "delta": -0.0004,
          "percent_delta": -0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.295,
          "after": 0.2894,
          "delta": -0.0056,
          "percent_delta": -0.0189,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.348,
          "after": 0.3484,
          "delta": 0.0004,
          "percent_delta": 0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.295,
          "after": 0.2894,
          "delta": -0.0056,
          "percent_delta": -0.0189,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.022,
        "after": 0.0,
        "delta": -0.022,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_3B",
        "before": 0.045,
        "after": 0.0,
        "delta": -0.045,
        "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.232,
        "after": 0.2366,
        "delta": 0.0046,
        "percent_delta": 0.0198,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.201,
        "after": 0.0,
        "delta": -0.201,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.58,
        "after": 0.0,
        "delta": -0.58,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.067,
        "after": 0.0,
        "delta": -0.067,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.289,
        "after": 0.2894,
        "delta": 0.0004,
        "percent_delta": 0.0014,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.223,
        "after": 0.0,
        "delta": -0.223,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.335,
        "after": 0.0,
        "delta": -0.335,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.357,
        "after": 0.3484,
        "delta": -0.0086,
        "percent_delta": -0.0241,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.536,
        "after": 3.0,
        "delta": 2.464,
        "percent_delta": 4.597,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 8,
      "boosted_metrics": 2,
      "deboosted_metrics": 6,
      "better_metrics": 1,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.536,
        "after": 3.0,
        "delta": 2.464,
        "percent_delta": 4.597,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.58,
        "after": 0.0,
        "delta": -0.58,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.022-
predicted_3B0.045-
predicted_AB2.500-
predicted_AVG0.232-
predicted_BB0.201-
predicted_H0.580-
predicted_HR0.067-
predicted_OBP0.289-
predicted_R0.223-
predicted_RBI0.335-
predicted_SLG0.357-
predicted_SO0.536-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.0280.006
predicted_3B0.037-0.008
predicted_AB2.5530.053
predicted_AVG0.2370.005
predicted_BB0.190-0.011
predicted_H0.6050.025
predicted_HBP0.072-
predicted_HR0.061-0.006
predicted_OBP0.2960.008
predicted_R0.206-0.017
predicted_RBI0.3470.012
predicted_SLG0.349-0.008
predicted_SO0.5430.007
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0280.000
predicted_3B0.0370.000
predicted_AB2.5530.000
predicted_AVG0.237-0.000
predicted_BB0.190-0.000
predicted_H0.604-0.001
predicted_HBP0.0720.000
predicted_HR0.0610.000
predicted_OBP0.289-0.007
predicted_R0.206-0.001
predicted_RBI0.346-0.001
predicted_SLG0.348-0.000
predicted_SO0.5430.001
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.55), rates preserved: AVG=0.237 HR/AB=0.024

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

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

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

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.028
predicted_3B0.000-0.037
predicted_AB3.0000.447
predicted_AVG0.2370.000
predicted_BB0.000-0.190
predicted_H1.0000.396
predicted_HR0.000-0.061
predicted_OBP0.2950.006
predicted_R0.000-0.206
predicted_RBI0.000-0.346
predicted_SLG0.348-0.000
predicted_SO1.0000.457
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
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO3.0002.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 47
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-11.0003.0000.0000.0000.0002.0000.0000.0002.0000.27270.33330.27270.27270.00000.18180.00000.1818
last_100.2010-24.0006.0000.0000.0000.0003.0000.0002.0005.0000.25000.33330.25000.25000.00000.12500.08330.2083
season0.6047-112.00026.0001.0002.0003.00015.00010.0009.00024.0000.23210.29270.35710.23210.02680.13390.08040.2143
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0360
predicted_3B0.0250
predicted_AB2.6350
predicted_AVG0.2446
predicted_BB0.1730
predicted_H0.6440
predicted_HBP0.0720
predicted_HR0.0520
predicted_OBP0.3082
predicted_R0.1810
predicted_RBI0.3650
predicted_SLG0.3362
predicted_SO0.5530
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.02200.03600.0275model_form_blend
predicted_3B0.04500.02500.0371model_form_blend
predicted_AB2.50002.63502.5530model_form_blend
predicted_AVG0.23200.24460.2369model_form_blend
predicted_BB0.20100.17300.1900model_form_blend
predicted_H0.58000.64400.6051model_form_blend
predicted_HBP-0.07200.0720form_only
predicted_HR0.06700.05200.0611model_form_blend
predicted_OBP0.28900.30820.2965model_form_blend
predicted_R0.22300.18100.2065model_form_blend
predicted_RBI0.33500.36500.3468model_form_blend
predicted_SLG0.35700.33620.3488model_form_blend
predicted_SO0.53600.55300.5427model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG1.0
Hitting_BB0
Hitting_GIDP0
Hitting_H3
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB3
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260826_BAL@STL
game_typefull
mlbID663494
playerID663494
playerNameBryan Torres
posOF
startedTrue
startingPositionLF
teamSTL
teamID26
game_date2026-08-26
sl_k_percent19.3
sl_bb_percent7.9
sl_woba0.318
sl_xwoba0.299
sl_xba0.247
sl_xslg0.367
sl_sweet_spot_percent36.6
sl_barrel_batted_rate4.0
sl_hard_hit_percent27.7
sl_exit_velocity_avg87.1
sl_launch_angle_avg8.5
sl_whiff_percent20.7
sl_swing_percent46.2
Nolan Gorman (669357) · BATTER · 3B · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 229
All-history rows before 20260827: 229
System season_avg: 0.1940
Data season_avg (2026 season-to-date): 0.2113
Diff (system - data): -0.0173
System opponent_avg: 0.1940
System season_avg diverges from 2026 season-to-date by -0.0173. 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.0650.0000.000Hitting_2B0.0700.000-0.0700.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.2423.0003.000Hitting_AB3.5553.000-0.5550.000
predicted_AVG0.1390.0000.333Hitting_AVG0.2110.333-0.211-0.333
predicted_BB0.3871.0001.000Hitting_BB0.4190.0000.5811.000
predicted_CS-0.0000.000BaseRunning_CS0.0170.000-0.0170.000
predicted_H0.4000.0001.000Hitting_H0.7511.000-0.751-1.000
predicted_HR0.0800.0000.000Hitting_HR0.1221.000-0.122-1.000
predicted_OBP0.2290.2500.500Hitting_OBP0.2900.333-0.040-0.083
predicted_R0.3060.0000.000Hitting_R0.3491.000-0.349-1.000
predicted_RBI0.2500.0000.000Hitting_RBI0.4931.000-0.493-1.000
predicted_SLG0.2650.0000.333Hitting_SLG0.3341.333-0.334-1.333
predicted_SO1.2261.0001.000Hitting_SO1.2750.000-0.2751.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.3870 -> 1.0000 (boost 0.6130, better)
Biggest Deboostpredicted_H: 0.4000 -> 0.0000 (deboost -0.4000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21102predicted_SO: 1.2260 -> 1.3104 (boost 0.0844, worse)predicted_SLG: 0.2650 -> 0.2552 (deboost -0.0098, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_SLG: 0.2552 -> 0.2272 (deboost -0.0280, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling70716-predicted_H: 0.4139 -> 0.0000 (deboost -0.4139, worse)AB rounded to 3 (raw=3.24), rates preserved: AVG=0.128 HR/AB=0.026
5consistency_constraints10101-predicted_R: 0.2962 -> 0.0000 (deboost -0.2962, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation22020predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context20202-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference11010predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669357",
  "player_name": "Nolan Gorman",
  "position": "3B",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.065,
        "predicted_3B": 0.0,
        "predicted_AB": 3.242,
        "predicted_AVG": 0.139,
        "predicted_BB": 0.387,
        "predicted_H": 0.4,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.229,
        "predicted_R": 0.306,
        "predicted_RBI": 0.25,
        "predicted_SLG": 0.265,
        "predicted_SO": 1.226
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0592,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.2041,
        "predicted_AVG": 0.1386,
        "predicted_BB": 0.3774,
        "predicted_H": 0.4146,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.0846,
        "predicted_OBP": 0.2281,
        "predicted_R": 0.2973,
        "predicted_RBI": 0.2633,
        "predicted_SLG": 0.2552,
        "predicted_SO": 1.3104
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.065,
          "after": 0.0592,
          "delta": -0.0058,
          "percent_delta": -0.0892,
          "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.242,
          "after": 3.2041,
          "delta": -0.0379,
          "percent_delta": -0.0117,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.139,
          "after": 0.1386,
          "delta": -0.0004,
          "percent_delta": -0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.387,
          "after": 0.3774,
          "delta": -0.0096,
          "percent_delta": -0.0248,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4,
          "after": 0.4146,
          "delta": 0.0146,
          "percent_delta": 0.0365,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.0846,
          "delta": 0.0046,
          "percent_delta": 0.0575,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.229,
          "after": 0.2281,
          "delta": -0.0009,
          "percent_delta": -0.0039,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.306,
          "after": 0.2973,
          "delta": -0.0087,
          "percent_delta": -0.0284,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.25,
          "after": 0.2633,
          "delta": 0.0133,
          "percent_delta": 0.0532,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.265,
          "after": 0.2552,
          "delta": -0.0098,
          "percent_delta": -0.037,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.226,
          "after": 1.3104,
          "delta": 0.0844,
          "percent_delta": 0.0688,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.226,
          "after": 1.3104,
          "delta": 0.0844,
          "percent_delta": 0.0688,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.265,
          "after": 0.2552,
          "delta": -0.0098,
          "percent_delta": -0.037,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 62
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0592,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.2041,
        "predicted_AVG": 0.1292,
        "predicted_BB": 0.3769,
        "predicted_H": 0.4139,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.0847,
        "predicted_OBP": 0.2208,
        "predicted_R": 0.2962,
        "predicted_RBI": 0.2624,
        "predicted_SLG": 0.2272,
        "predicted_SO": 1.312
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0592,
          "after": 0.0592,
          "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.2041,
          "after": 3.2041,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1386,
          "after": 0.1292,
          "delta": -0.0094,
          "percent_delta": -0.0678,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3774,
          "after": 0.3769,
          "delta": -0.0005,
          "percent_delta": -0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4146,
          "after": 0.4139,
          "delta": -0.0007,
          "percent_delta": -0.0017,
          "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.0846,
          "after": 0.0847,
          "delta": 0.0001,
          "percent_delta": 0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2281,
          "after": 0.2208,
          "delta": -0.0073,
          "percent_delta": -0.032,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2973,
          "after": 0.2962,
          "delta": -0.0011,
          "percent_delta": -0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2633,
          "after": 0.2624,
          "delta": -0.0009,
          "percent_delta": -0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2552,
          "after": 0.2272,
          "delta": -0.028,
          "percent_delta": -0.1097,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3104,
          "after": 1.312,
          "delta": 0.0016,
          "percent_delta": 0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2552,
          "after": 0.2272,
          "delta": -0.028,
          "percent_delta": -0.1097,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.24), rates preserved: AVG=0.128 HR/AB=0.026",
      "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.0592,
          "after": 0.0,
          "delta": -0.0592,
          "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.2041,
          "after": 3.0,
          "delta": -0.2041,
          "percent_delta": -0.0637,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3769,
          "after": 0.0,
          "delta": -0.3769,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.4139,
          "after": 0.0,
          "delta": -0.4139,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.003,
          "after": 0.0,
          "delta": -0.003,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0847,
          "after": 0.0,
          "delta": -0.0847,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2624,
          "after": 0.0,
          "delta": -0.2624,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.312,
          "after": 1.0,
          "delta": -0.312,
          "percent_delta": -0.2378,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 0,
        "deboosted_metrics": 7,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.4139,
          "after": 0.0,
          "delta": -0.4139,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.2962,
          "after": 0.0,
          "delta": -0.2962,
          "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.2962,
          "after": 0.0,
          "delta": -0.2962,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.128,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.224,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.232,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1292,
          "after": 0.128,
          "delta": -0.0012,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2208,
          "after": 0.224,
          "delta": 0.0032,
          "percent_delta": 0.0145,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2272,
          "after": 0.232,
          "delta": 0.0048,
          "percent_delta": 0.0211,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "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": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.1292,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2208,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2272,
        "predicted_SO": 1.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.128,
          "after": 0.1292,
          "delta": 0.0012,
          "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": 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.224,
          "after": 0.2208,
          "delta": -0.0032,
          "percent_delta": -0.0141,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.232,
          "after": 0.2272,
          "delta": -0.0048,
          "percent_delta": -0.0205,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "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": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.065,
        "after": 0.0,
        "delta": -0.065,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.242,
        "after": 3.0,
        "delta": -0.242,
        "percent_delta": -0.0746,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.139,
        "after": 0.1292,
        "delta": -0.0098,
        "percent_delta": -0.0705,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.387,
        "after": 1.0,
        "delta": 0.613,
        "percent_delta": 1.584,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.4,
        "after": 0.0,
        "delta": -0.4,
        "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.229,
        "after": 0.2208,
        "delta": -0.0082,
        "percent_delta": -0.0358,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.306,
        "after": 0.0,
        "delta": -0.306,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.25,
        "after": 0.0,
        "delta": -0.25,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.265,
        "after": 0.2272,
        "delta": -0.0378,
        "percent_delta": -0.1426,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.226,
        "after": 1.0,
        "delta": -0.226,
        "percent_delta": -0.1843,
        "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.387,
        "after": 1.0,
        "delta": 0.613,
        "percent_delta": 1.584,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.4,
        "after": 0.0,
        "delta": -0.4,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.065-
predicted_3B0.000-
predicted_AB3.242-
predicted_AVG0.139-
predicted_BB0.387-
predicted_H0.400-
predicted_HR0.080-
predicted_OBP0.229-
predicted_R0.306-
predicted_RBI0.250-
predicted_SLG0.265-
predicted_SO1.226-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.059-0.006
predicted_3B0.0000.000
predicted_AB3.204-0.038
predicted_AVG0.139-0.000
predicted_BB0.377-0.010
predicted_H0.4150.015
predicted_HBP0.003-
predicted_HR0.0850.005
predicted_OBP0.228-0.001
predicted_R0.297-0.009
predicted_RBI0.2630.013
predicted_SLG0.255-0.010
predicted_SO1.3100.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.0590.000
predicted_3B0.0000.000
predicted_AB3.2040.000
predicted_AVG0.129-0.009
predicted_BB0.377-0.001
predicted_H0.414-0.001
predicted_HBP0.0030.000
predicted_HR0.0850.000
predicted_OBP0.221-0.007
predicted_R0.296-0.001
predicted_RBI0.262-0.001
predicted_SLG0.227-0.028
predicted_SO1.3120.002
4. ab_floor_and_scaling

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

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-
H0.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0001.000
H1.0001.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.059
predicted_3B0.000-0.000
predicted_AB3.000-0.204
predicted_AVG0.128-0.001
predicted_BB0.000-0.377
predicted_H0.000-0.414
predicted_HR0.000-0.085
predicted_OBP0.2240.003
predicted_R0.000-0.296
predicted_RBI0.000-0.262
predicted_SLG0.2320.005
predicted_SO1.000-0.312
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 62
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.0000.0000.0000.0000.0000.0001.0002.0009.0000.00000.12500.00000.00000.00000.00000.14290.6429
last_100.2010-28.0001.0000.0000.0001.0001.0002.0003.00018.0000.03570.12900.14290.03570.03570.03570.10710.6429
season0.6062-201.00039.0004.0000.0007.00026.00019.00024.00076.0000.19400.27630.31840.19400.03480.12930.11940.3781
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0510
predicted_3B0.0010
predicted_AB3.1510
predicted_AVG0.1380
predicted_BB0.3640
predicted_H0.4350
predicted_HBP0.0030
predicted_HR0.0910
predicted_OBP0.2269
predicted_R0.2850
predicted_RBI0.2820
predicted_SLG0.2415
predicted_SO1.4290
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.06500.05100.0592model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.24203.15103.2041model_form_blend
predicted_AVG0.13900.13800.1386model_form_blend
predicted_BB0.38700.36400.3774model_form_blend
predicted_H0.40000.43500.4146model_form_blend
predicted_HBP-0.00300.0030form_only
predicted_HR0.08000.09100.0846model_form_blend
predicted_OBP0.22900.22690.2281model_form_blend
predicted_R0.30600.28500.2973model_form_blend
predicted_RBI0.25000.28200.2633model_form_blend
predicted_SLG0.26500.24150.2552model_form_blend
predicted_SO1.22601.42901.3104model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB4
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260826_BAL@STL
game_typefull
mlbID669357
playerID669357
playerNameNolan Gorman
pos3B
startedTrue
startingPosition3B
teamSTL
teamID26
game_date2026-08-26
sl_k_percent32.3
sl_bb_percent10.5
sl_woba0.262
sl_xwoba0.279
sl_xba0.195
sl_xslg0.36
sl_sweet_spot_percent35.2
sl_barrel_batted_rate9.9
sl_hard_hit_percent43.7
sl_exit_velocity_avg89.4
sl_launch_angle_avg22.5
sl_whiff_percent38.2
sl_swing_percent49.8
Nathan Church (701675) · BATTER · CF · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 363
All-history rows before 20260827: 363
System season_avg: 0.2450
Data season_avg (2026 season-to-date): 0.2452
Diff (system - data): -0.0002
System opponent_avg: 0.2450

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1001.0000.000Hitting_2B0.1161.0000.8840.000
predicted_3B0.0201.0000.000Hitting_3B0.0080.0000.9921.000
predicted_AB3.3004.0003.000Hitting_AB3.4384.0000.5620.000
predicted_AVG0.2740.5000.333Hitting_AVG0.2450.2500.2550.250
predicted_BB0.1900.0000.000Hitting_BB0.2091.000-0.209-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0470.000-0.0470.000
predicted_H0.8702.0001.000Hitting_H0.8431.0001.1571.000
predicted_HR0.1000.0000.000Hitting_HR0.1100.000-0.1100.000
predicted_OBP0.3260.5000.333Hitting_OBP0.2880.4000.2120.100
predicted_R0.4201.0000.000Hitting_R0.4461.0000.5540.000
predicted_RBI0.3700.0000.000Hitting_RBI0.4742.000-0.474-2.000
predicted_SLG0.4581.2500.333Hitting_SLG0.3800.5000.8700.750
predicted_SO0.6700.0001.000Hitting_SO0.6861.000-0.686-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics6
Worse Metrics5
Biggest Boostpredicted_H: 0.8700 -> 2.0000 (boost 1.1300, better)
Biggest Deboostpredicted_SO: 0.6700 -> 0.0000 (deboost -0.6700, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11010predicted_AVG: 0.2740 -> 0.2825 (boost 0.0085, 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.4628 -> 0.4279 (deboost -0.0349, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_SO: 0.6264 -> 1.0000 (boost 0.3736, worse)predicted_RBI: 0.4104 -> 0.0000 (deboost -0.4104, worse)AB rounded to 3 (raw=3.32), rates preserved: AVG=0.276 HR/AB=0.033
5consistency_constraints10101-predicted_R: 0.4585 -> 0.0000 (deboost -0.4585, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context11010predicted_OBP: 0.3113 -> 0.3170 (boost 0.0057, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference65160predicted_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_final10101-predicted_OBP: 0.3170 -> 0.3113 (deboost -0.0057, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "701675",
  "player_name": "Nathan Church",
  "position": "CF",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.1,
        "predicted_3B": 0.02,
        "predicted_AB": 3.3,
        "predicted_AVG": 0.274,
        "predicted_BB": 0.19,
        "predicted_H": 0.87,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.326,
        "predicted_R": 0.42,
        "predicted_RBI": 0.37,
        "predicted_SLG": 0.458,
        "predicted_SO": 0.67
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.094,
        "predicted_3B": 0.0409,
        "predicted_AB": 3.3248,
        "predicted_AVG": 0.2825,
        "predicted_BB": 0.1699,
        "predicted_H": 0.9196,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.1094,
        "predicted_OBP": 0.3248,
        "predicted_R": 0.4602,
        "predicted_RBI": 0.4119,
        "predicted_SLG": 0.4628,
        "predicted_SO": 0.6256
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1,
          "after": 0.094,
          "delta": -0.006,
          "percent_delta": -0.06,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.02,
          "after": 0.0409,
          "delta": 0.0209,
          "percent_delta": 1.045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3,
          "after": 3.3248,
          "delta": 0.0248,
          "percent_delta": 0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.274,
          "after": 0.2825,
          "delta": 0.0085,
          "percent_delta": 0.031,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.19,
          "after": 0.1699,
          "delta": -0.0201,
          "percent_delta": -0.1058,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.87,
          "after": 0.9196,
          "delta": 0.0496,
          "percent_delta": 0.057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.1094,
          "delta": 0.0094,
          "percent_delta": 0.094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.326,
          "after": 0.3248,
          "delta": -0.0012,
          "percent_delta": -0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.42,
          "after": 0.4602,
          "delta": 0.0402,
          "percent_delta": 0.0957,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.37,
          "after": 0.4119,
          "delta": 0.0419,
          "percent_delta": 0.1132,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.458,
          "after": 0.4628,
          "delta": 0.0048,
          "percent_delta": 0.0105,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.67,
          "after": 0.6256,
          "delta": -0.0444,
          "percent_delta": -0.0663,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.274,
          "after": 0.2825,
          "delta": 0.0085,
          "percent_delta": 0.031,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 100
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.094,
        "predicted_3B": 0.0409,
        "predicted_AB": 3.3248,
        "predicted_AVG": 0.2761,
        "predicted_BB": 0.1697,
        "predicted_H": 0.918,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.1096,
        "predicted_OBP": 0.3113,
        "predicted_R": 0.4585,
        "predicted_RBI": 0.4104,
        "predicted_SLG": 0.4279,
        "predicted_SO": 0.6264
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.094,
          "after": 0.094,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0409,
          "after": 0.0409,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3248,
          "after": 3.3248,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2825,
          "after": 0.2761,
          "delta": -0.0064,
          "percent_delta": -0.0227,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1699,
          "after": 0.1697,
          "delta": -0.0002,
          "percent_delta": -0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9196,
          "after": 0.918,
          "delta": -0.0016,
          "percent_delta": -0.0017,
          "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.1094,
          "after": 0.1096,
          "delta": 0.0002,
          "percent_delta": 0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3248,
          "after": 0.3113,
          "delta": -0.0135,
          "percent_delta": -0.0416,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4602,
          "after": 0.4585,
          "delta": -0.0017,
          "percent_delta": -0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4119,
          "after": 0.4104,
          "delta": -0.0015,
          "percent_delta": -0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4628,
          "after": 0.4279,
          "delta": -0.0349,
          "percent_delta": -0.0754,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6256,
          "after": 0.6264,
          "delta": 0.0008,
          "percent_delta": 0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.4628,
          "after": 0.4279,
          "delta": -0.0349,
          "percent_delta": -0.0754,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.32), rates preserved: AVG=0.276 HR/AB=0.033",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.094,
          "after": 0.0,
          "delta": -0.094,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0409,
          "after": 0.0,
          "delta": -0.0409,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3248,
          "after": 3.0,
          "delta": -0.3248,
          "percent_delta": -0.0977,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1697,
          "after": 0.0,
          "delta": -0.1697,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.918,
          "after": 1.0,
          "delta": 0.082,
          "percent_delta": 0.0893,
          "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.1096,
          "after": 0.0,
          "delta": -0.1096,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4104,
          "after": 0.0,
          "delta": -0.4104,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6264,
          "after": 1.0,
          "delta": 0.3736,
          "percent_delta": 0.5964,
          "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.6264,
          "after": 1.0,
          "delta": 0.3736,
          "percent_delta": 0.5964,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4104,
          "after": 0.0,
          "delta": -0.4104,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.4585,
          "after": 0.0,
          "delta": -0.4585,
          "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.4585,
          "after": 0.0,
          "delta": -0.4585,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": {},
      "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.276,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.317,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.428,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2761,
          "after": 0.276,
          "delta": -0.0001,
          "percent_delta": -0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3113,
          "after": 0.317,
          "delta": 0.0057,
          "percent_delta": 0.0183,
          "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.4279,
          "after": 0.428,
          "delta": 0.0001,
          "percent_delta": 0.0002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.3113,
          "after": 0.317,
          "delta": 0.0057,
          "percent_delta": 0.0183,
          "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": 1.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 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": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 1.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2761,
        "predicted_BB": 0.0,
        "predicted_CF": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3113,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4279,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.276,
          "after": 0.2761,
          "delta": 0.0001,
          "percent_delta": 0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.317,
          "after": 0.3113,
          "delta": -0.0057,
          "percent_delta": -0.0181,
          "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.428,
          "after": 0.4279,
          "delta": -0.0001,
          "percent_delta": -0.0003,
          "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_OBP",
          "before": 0.317,
          "after": 0.3113,
          "delta": -0.0057,
          "percent_delta": -0.0181,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.1,
        "after": 1.0,
        "delta": 0.9,
        "percent_delta": 9.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.02,
        "after": 1.0,
        "delta": 0.98,
        "percent_delta": 49.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.3,
        "after": 4.0,
        "delta": 0.7,
        "percent_delta": 0.2121,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.274,
        "after": 0.2761,
        "delta": 0.0021,
        "percent_delta": 0.0077,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.19,
        "after": 0.0,
        "delta": -0.19,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.87,
        "after": 2.0,
        "delta": 1.13,
        "percent_delta": 1.2989,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.326,
        "after": 0.3113,
        "delta": -0.0147,
        "percent_delta": -0.0451,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.42,
        "after": 1.0,
        "delta": 0.58,
        "percent_delta": 1.381,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.37,
        "after": 0.0,
        "delta": -0.37,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.458,
        "after": 0.4279,
        "delta": -0.0301,
        "percent_delta": -0.0657,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.67,
        "after": 0.0,
        "delta": -0.67,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 6,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.87,
        "after": 2.0,
        "delta": 1.13,
        "percent_delta": 1.2989,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.67,
        "after": 0.0,
        "delta": -0.67,
        "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.100-
predicted_3B0.020-
predicted_AB3.300-
predicted_AVG0.274-
predicted_BB0.190-
predicted_H0.870-
predicted_HR0.100-
predicted_OBP0.326-
predicted_R0.420-
predicted_RBI0.370-
predicted_SLG0.458-
predicted_SO0.670-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.094-0.006
predicted_3B0.0410.021
predicted_AB3.3250.025
predicted_AVG0.2820.008
predicted_BB0.170-0.020
predicted_H0.9200.050
predicted_HBP0.013-
predicted_HR0.1090.009
predicted_OBP0.325-0.001
predicted_R0.4600.040
predicted_RBI0.4120.042
predicted_SLG0.4630.005
predicted_SO0.626-0.044
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0940.000
predicted_3B0.0410.000
predicted_AB3.3250.000
predicted_AVG0.276-0.006
predicted_BB0.170-0.000
predicted_H0.918-0.002
predicted_HBP0.0130.000
predicted_HR0.1100.000
predicted_OBP0.311-0.013
predicted_R0.459-0.002
predicted_RBI0.410-0.002
predicted_SLG0.428-0.035
predicted_SO0.6260.001
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.32), rates preserved: AVG=0.276 HR/AB=0.033

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.094
predicted_3B0.000-0.041
predicted_AB3.000-0.325
predicted_AVG0.276-0.000
predicted_BB0.000-0.170
predicted_H1.0000.082
predicted_HR0.000-0.110
predicted_OBP0.3170.006
predicted_R0.000-0.459
predicted_RBI0.000-0.410
predicted_SLG0.4280.000
predicted_SO1.0000.374
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 100
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.0007.0000.0001.0001.0003.0004.0000.0002.0000.43750.43750.75000.43750.06250.18750.00000.1250
last_100.2010-35.00011.0001.0001.0001.0005.0005.0001.0003.0000.31430.32430.48570.31430.02860.14290.02860.0857
season0.60100-330.00081.00010.0002.00010.00041.00042.00019.00067.0000.24550.28730.37880.24550.03030.12420.05760.2030
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0860
predicted_3B0.0690
predicted_AB3.3580
predicted_AVG0.2938
predicted_BB0.1430
predicted_H0.9860
predicted_HBP0.0130
predicted_HR0.1220
predicted_OBP0.3232
predicted_R0.5140
predicted_RBI0.4680
predicted_SLG0.4692
predicted_SO0.5660
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.10000.08600.0940model_form_blend
predicted_3B0.02000.06900.0409model_form_blend
predicted_AB3.30003.35803.3248model_form_blend
predicted_AVG0.27400.29380.2825model_form_blend
predicted_BB0.19000.14300.1699model_form_blend
predicted_H0.87000.98600.9196model_form_blend
predicted_HBP-0.01300.0130form_only
predicted_HR0.10000.12200.1094model_form_blend
predicted_OBP0.32600.32320.3248model_form_blend
predicted_R0.42000.51400.4602model_form_blend
predicted_RBI0.37000.46800.4119model_form_blend
predicted_SLG0.45800.46920.4628model_form_blend
predicted_SO0.67000.56600.6256model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
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_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260826_BAL@STL
game_typefull
mlbID701675
playerID701675
playerNameNathan Church
posCF
startedTrue
startingPositionCF
teamSTL
teamID26
game_date2026-08-26
sl_k_percent18.3
sl_bb_percent5.5
sl_woba0.285
sl_xwoba0.283
sl_xba0.238
sl_xslg0.359
sl_sweet_spot_percent33.2
sl_barrel_batted_rate6.2
sl_hard_hit_percent30.1
sl_exit_velocity_avg85.8
sl_launch_angle_avg14.1
sl_whiff_percent21.1
sl_swing_percent56.4
Jimmy Crooks (699625) · BATTER · C · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 137
All-history rows before 20260827: 137
System season_avg: 0.1760
Data season_avg (2026 season-to-date): 0.1715
Diff (system - data): 0.0045
System opponent_avg: 0.1760

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1090.0000.000Hitting_2B0.1390.000-0.1390.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.7172.0003.000Hitting_AB3.0222.000-1.0220.000
predicted_AVG0.1780.0000.000Hitting_AVG0.1710.000-0.1710.000
predicted_BB0.1961.0000.000Hitting_BB0.2480.0000.7521.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.2300.0000.000Hitting_H0.5180.000-0.5180.000
predicted_HR0.0200.0000.000Hitting_HR0.0730.000-0.0730.000
predicted_OBP0.1990.3330.000Hitting_OBP0.2540.0000.0800.333
predicted_R0.1960.0000.000Hitting_R0.2340.000-0.2340.000
predicted_RBI0.1500.0000.000Hitting_RBI0.2850.000-0.2850.000
predicted_SLG0.2710.0000.000Hitting_SLG0.2900.000-0.2900.000
predicted_SO0.9570.0001.000Hitting_SO1.0511.000-1.051-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics1
Deboosted Metrics9
Better Metrics2
Worse Metrics8
Biggest Boostpredicted_BB: 0.1960 -> 1.0000 (boost 0.8040, better)
Biggest Deboostpredicted_SO: 0.9570 -> 0.0000 (deboost -0.9570, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43131predicted_H: 0.2300 -> 0.3238 (boost 0.0938, better)predicted_AVG: 0.1780 -> 0.1721 (deboost -0.0059, worse)Final model input calibrated 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.2685 -> 0.1951 (deboost -0.0734, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling51414predicted_AB: 2.7726 -> 3.0000 (boost 0.2274, better)predicted_H: 0.3232 -> 0.0000 (deboost -0.3232, worse)AB rounded to 3 (raw=2.77), rates preserved: AVG=0.117 HR/AB=0.013
5consistency_constraints10101-predicted_R: 0.1981 -> 0.0000 (deboost -0.1981, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context22020predicted_SLG: 0.1951 -> 0.2030 (boost 0.0079, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference31221predicted_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
9current_json_final20202-predicted_SLG: 0.2030 -> 0.1951 (deboost -0.0079, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "699625",
  "player_name": "Jimmy Crooks",
  "position": "C",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.109,
        "predicted_3B": 0.0,
        "predicted_AB": 2.717,
        "predicted_AVG": 0.178,
        "predicted_BB": 0.196,
        "predicted_H": 0.23,
        "predicted_HR": 0.02,
        "predicted_OBP": 0.199,
        "predicted_R": 0.196,
        "predicted_RBI": 0.15,
        "predicted_SLG": 0.271,
        "predicted_SO": 0.957
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1046,
        "predicted_3B": 0.0008,
        "predicted_AB": 2.7726,
        "predicted_AVG": 0.1721,
        "predicted_BB": 0.202,
        "predicted_H": 0.3238,
        "predicted_HBP": 0.044,
        "predicted_HR": 0.0371,
        "predicted_OBP": 0.2115,
        "predicted_R": 0.1988,
        "predicted_RBI": 0.1766,
        "predicted_SLG": 0.2685,
        "predicted_SO": 0.9657
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.109,
          "after": 0.1046,
          "delta": -0.0044,
          "percent_delta": -0.0404,
          "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.717,
          "after": 2.7726,
          "delta": 0.0556,
          "percent_delta": 0.0205,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.178,
          "after": 0.1721,
          "delta": -0.0059,
          "percent_delta": -0.0331,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.196,
          "after": 0.202,
          "delta": 0.006,
          "percent_delta": 0.0306,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.23,
          "after": 0.3238,
          "delta": 0.0938,
          "percent_delta": 0.4078,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.02,
          "after": 0.0371,
          "delta": 0.0171,
          "percent_delta": 0.855,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.199,
          "after": 0.2115,
          "delta": 0.0125,
          "percent_delta": 0.0628,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.196,
          "after": 0.1988,
          "delta": 0.0028,
          "percent_delta": 0.0143,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.15,
          "after": 0.1766,
          "delta": 0.0266,
          "percent_delta": 0.1773,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.271,
          "after": 0.2685,
          "delta": -0.0025,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.957,
          "after": 0.9657,
          "delta": 0.0087,
          "percent_delta": 0.0091,
          "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.23,
          "after": 0.3238,
          "delta": 0.0938,
          "percent_delta": 0.4078,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.178,
          "after": 0.1721,
          "delta": -0.0059,
          "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": 46
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1046,
        "predicted_3B": 0.0008,
        "predicted_AB": 2.7726,
        "predicted_AVG": 0.1166,
        "predicted_BB": 0.2018,
        "predicted_H": 0.3232,
        "predicted_HBP": 0.044,
        "predicted_HR": 0.0372,
        "predicted_OBP": 0.1765,
        "predicted_R": 0.1981,
        "predicted_RBI": 0.176,
        "predicted_SLG": 0.1951,
        "predicted_SO": 0.9669
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1046,
          "after": 0.1046,
          "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.7726,
          "after": 2.7726,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1721,
          "after": 0.1166,
          "delta": -0.0555,
          "percent_delta": -0.3225,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.202,
          "after": 0.2018,
          "delta": -0.0002,
          "percent_delta": -0.001,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.3238,
          "after": 0.3232,
          "delta": -0.0006,
          "percent_delta": -0.0019,
          "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.0371,
          "after": 0.0372,
          "delta": 0.0001,
          "percent_delta": 0.0027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2115,
          "after": 0.1765,
          "delta": -0.035,
          "percent_delta": -0.1655,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.1988,
          "after": 0.1981,
          "delta": -0.0007,
          "percent_delta": -0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1766,
          "after": 0.176,
          "delta": -0.0006,
          "percent_delta": -0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2685,
          "after": 0.1951,
          "delta": -0.0734,
          "percent_delta": -0.2734,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9657,
          "after": 0.9669,
          "delta": 0.0012,
          "percent_delta": 0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2685,
          "after": 0.1951,
          "delta": -0.0734,
          "percent_delta": -0.2734,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.77), rates preserved: AVG=0.117 HR/AB=0.013",
      "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.1046,
          "after": 0.0,
          "delta": -0.1046,
          "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.7726,
          "after": 3.0,
          "delta": 0.2274,
          "percent_delta": 0.082,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2018,
          "after": 0.0,
          "delta": -0.2018,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.3232,
          "after": 0.0,
          "delta": -0.3232,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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.0372,
          "after": 0.0,
          "delta": -0.0372,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.176,
          "after": 0.0,
          "delta": -0.176,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9669,
          "after": 1.0,
          "delta": 0.0331,
          "percent_delta": 0.0342,
          "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.7726,
          "after": 3.0,
          "delta": 0.2274,
          "percent_delta": 0.082,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.3232,
          "after": 0.0,
          "delta": -0.3232,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.1981,
          "after": 0.0,
          "delta": -0.1981,
          "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.1981,
          "after": 0.0,
          "delta": -0.1981,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": {},
      "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.117,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.183,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.203,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1166,
          "after": 0.117,
          "delta": 0.0004,
          "percent_delta": 0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.1765,
          "after": 0.183,
          "delta": 0.0065,
          "percent_delta": 0.0368,
          "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.1951,
          "after": 0.203,
          "delta": 0.0079,
          "percent_delta": 0.0405,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.1951,
          "after": 0.203,
          "delta": 0.0079,
          "percent_delta": 0.0405,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_BB": 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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_AVG": 0.1166,
        "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.1765,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.1951,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.117,
          "after": 0.1166,
          "delta": -0.0004,
          "percent_delta": -0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.183,
          "after": 0.1765,
          "delta": -0.0065,
          "percent_delta": -0.0355,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.203,
          "after": 0.1951,
          "delta": -0.0079,
          "percent_delta": -0.0389,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.203,
          "after": 0.1951,
          "delta": -0.0079,
          "percent_delta": -0.0389,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.109,
        "after": 0.0,
        "delta": -0.109,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.717,
        "after": 2.0,
        "delta": -0.717,
        "percent_delta": -0.2639,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.178,
        "after": 0.1166,
        "delta": -0.0614,
        "percent_delta": -0.3449,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.196,
        "after": 1.0,
        "delta": 0.804,
        "percent_delta": 4.102,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.23,
        "after": 0.0,
        "delta": -0.23,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.02,
        "after": 0.0,
        "delta": -0.02,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.199,
        "after": 0.1765,
        "delta": -0.0225,
        "percent_delta": -0.1131,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.196,
        "after": 0.0,
        "delta": -0.196,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.15,
        "after": 0.0,
        "delta": -0.15,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.271,
        "after": 0.1951,
        "delta": -0.0759,
        "percent_delta": -0.2801,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.957,
        "after": 0.0,
        "delta": -0.957,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 1,
      "deboosted_metrics": 9,
      "better_metrics": 2,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.196,
        "after": 1.0,
        "delta": 0.804,
        "percent_delta": 4.102,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.957,
        "after": 0.0,
        "delta": -0.957,
        "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.109-
predicted_3B0.000-
predicted_AB2.717-
predicted_AVG0.178-
predicted_BB0.196-
predicted_H0.230-
predicted_HR0.020-
predicted_OBP0.199-
predicted_R0.196-
predicted_RBI0.150-
predicted_SLG0.271-
predicted_SO0.957-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.105-0.004
predicted_3B0.0010.001
predicted_AB2.7730.056
predicted_AVG0.172-0.006
predicted_BB0.2020.006
predicted_H0.3240.094
predicted_HBP0.044-
predicted_HR0.0370.017
predicted_OBP0.2110.012
predicted_R0.1990.003
predicted_RBI0.1770.027
predicted_SLG0.269-0.003
predicted_SO0.9660.009
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1050.000
predicted_3B0.0010.000
predicted_AB2.7730.000
predicted_AVG0.117-0.056
predicted_BB0.202-0.000
predicted_H0.323-0.001
predicted_HBP0.0440.000
predicted_HR0.0370.000
predicted_OBP0.176-0.035
predicted_R0.198-0.001
predicted_RBI0.176-0.001
predicted_SLG0.195-0.073
predicted_SO0.9670.001
4. ab_floor_and_scaling

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

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-
H0.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H0.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.105
predicted_3B0.000-0.001
predicted_AB3.0000.227
predicted_AVG0.1170.000
predicted_BB0.000-0.202
predicted_H0.000-0.323
predicted_HR0.000-0.037
predicted_OBP0.1830.007
predicted_R0.000-0.198
predicted_RBI0.000-0.176
predicted_SLG0.2030.008
predicted_SO1.0000.033
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-1.000
BB1.0001.000
CS0.0000.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA3.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 46
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-12.0001.0000.0000.0000.0000.0000.0001.0005.0000.08330.15380.08330.08330.00000.00000.08330.4167
last_100.2010-27.0003.0001.0000.0000.0001.0002.0002.00010.0000.11110.19350.14810.11110.00000.03700.07410.3704
season0.6046-125.00022.0005.0000.0004.00012.0009.0009.00044.0000.17600.24090.31200.17600.03200.09600.07200.3520
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0980
predicted_3B0.0020
predicted_AB2.8570
predicted_AVG0.1631
predicted_BB0.2110
predicted_H0.4660
predicted_HBP0.0440
predicted_HR0.0630
predicted_OBP0.2304
predicted_R0.2030
predicted_RBI0.2170
predicted_SLG0.2647
predicted_SO0.9790
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.10900.09800.1046model_form_blend
predicted_3B0.00000.00200.0008model_form_blend
predicted_AB2.71702.85702.7726model_form_blend
predicted_AVG0.17800.16310.1721model_form_blend
predicted_BB0.19600.21100.2020model_form_blend
predicted_H0.23000.46600.3238model_form_blend
predicted_HBP-0.04400.0440form_only
predicted_HR0.02000.06300.0371model_form_blend
predicted_OBP0.19900.23040.2115model_form_blend
predicted_R0.19600.20300.1988model_form_blend
predicted_RBI0.15000.21700.1766model_form_blend
predicted_SLG0.27100.26470.2685model_form_blend
predicted_SO0.95700.97900.9657model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_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
gameID20260826_BAL@STL
game_typefull
mlbID699625
playerID699625
playerNameJimmy Crooks
posC
startedTrue
startingPositionC
teamSTL
teamID26
game_date2026-08-26
sl_k_percent32.2
sl_bb_percent6.0
sl_woba0.264
sl_xwoba0.294
sl_xba0.198
sl_xslg0.397
sl_sweet_spot_percent37.9
sl_barrel_batted_rate11.6
sl_hard_hit_percent48.3
sl_exit_velocity_avg91.7
sl_launch_angle_avg19.4
sl_whiff_percent34.2
sl_swing_percent49.7
Michael McGreevy (700241) · PITCHER · Starter · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 26
All-history rows before 20260827: 26

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB3.0003.0003.000Pitching_BB1.4622.0001.5381.000
predicted_ER4.0004.0004.000Pitching_ER2.3467.0001.654-3.000
predicted_H7.0007.0007.000Pitching_H5.38510.0001.615-3.000
predicted_IP5.0005.0005.000Pitching_InningsPitched5.3585.000-0.3580.000
predicted_SO6.0006.0006.000Pitching_SO3.7693.0002.2313.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": "700241",
  "player_name": "Michael McGreevy",
  "position": "Starter",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 4.0,
        "predicted_H": 7.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_SO": 6.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 4.0,
        "predicted_H": 7.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_R": 4.0,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 4.0,
        "after": 4.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 7.0,
        "after": 7.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 6.0,
        "after": 6.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB3.000-
predicted_ER4.000-
predicted_H7.000-
predicted_HR0.000-
predicted_IP5.000-
predicted_SO6.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 25
Reference playing time: 5.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45523.00015.00028.0009.00021.0003.0005.86961.60870.65221.21740.39130.91300.1304
last_100.351054.00023.00054.00016.00042.0006.0003.83331.29630.42591.00000.29630.77780.1111
season0.2025137.10054.000130.00036.00095.00018.0003.53881.20870.39320.94660.26210.69170.1311
Weighted Prediction From Real Data
MetricValue
predicted_BB1.7000
predicted_ER2.6030
predicted_ERA4.6600
predicted_H5.3720
predicted_HR0.6420
predicted_IP5.0000
predicted_SO4.2340
predicted_WHIP1.4066
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB3.00001.70002.2466model_form_blend
predicted_ER4.00002.60303.1903model_form_blend
predicted_ERA-4.66004.6600form_only
predicted_H7.00005.37206.0565model_form_blend
predicted_HR0.00000.64200.3721model_form_blend
predicted_IP5.00005.00005.0000model_form_blend
predicted_SO6.00004.23404.9765model_form_blend
predicted_WHIP-1.40661.4066form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.0
H7
R4
ER4
BB3
SO6
HR0
BF25
Pitches107

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced28
Pitching_ER7
Pitching_ERA3.86
Pitching_Flyouts2
Pitching_Groundouts5
Pitching_H10
Pitching_HBP1
Pitching_HR2
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched5.0
Pitching_Pitches84
Pitching_R7
Pitching_SO3
Pitching_Strikes49
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260826_BAL@STL
game_typefull
mlbID700241
playerID700241
playerNameMichael McGreevy
posP
startedTrue
startingPositionP
teamSTL
teamID26
game_date2026-08-26
sl_k_percent16.7
sl_bb_percent6.5
sl_woba0.32
sl_xwoba0.353
sl_sweet_spot_percent33.2
sl_barrel_batted_rate10.0
sl_hard_hit_percent42.3
sl_whiff_percent19.1
sl_swing_percent44.7
sl_avg_best_speed78.960511351
sl_avg_hyper_speed94.834421874
George Soriano (666277) · PITCHER · Setup Man · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 60
All-history rows before 20260827: 60

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4501.000-0.450-1.000
predicted_ER0.0000.0000.000Pitching_ER0.4330.000-0.4330.000
predicted_H0.0000.0000.000Pitching_H0.7671.000-0.767-1.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8381.0000.1620.000
predicted_SO1.0001.0001.000Pitching_SO0.9500.0000.0501.000

Boost/Deboost Impact Trace

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

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: 59
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.1005.0003.0004.0004.0001.00010.38461.61541.15390.69230.92310.92310.2308
last_100.35109.0008.0009.0007.00011.0003.0008.00001.77780.88891.00000.77781.22220.3333
season0.205957.00026.00045.00026.00057.0009.0004.10531.24560.45610.78950.45611.00000.1579
Weighted Prediction From Real Data
MetricValue
predicted_BB0.6540
predicted_ER0.7940
predicted_ERA7.1423
predicted_H0.8670
predicted_HR0.2200
predicted_IP1.0000
predicted_SO1.0130
predicted_WHIP1.5205
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.65400.3411model_form_blend
predicted_ER0.00000.79400.4141model_form_blend
predicted_ERA-7.14237.1423form_only
predicted_H0.00000.86700.4522model_form_blend
predicted_HR0.00000.22000.1147model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.01301.0068model_form_blend
predicted_WHIP-1.52051.5205form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER0
Pitching_ERA4.03
Pitching_Flyouts0
Pitching_Groundouts3
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches10
Pitching_R0
Pitching_SO0
Pitching_Strikes6
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260826_BAL@STL
game_typefull
mlbID666277
playerID666277
playerNameGeorge Soriano
posP
startedFalse
startingPositionP
teamSTL
teamID26
game_date2026-08-26
sl_k_percent23.0
sl_bb_percent10.7
sl_woba0.306
sl_xwoba0.32
sl_sweet_spot_percent27.9
sl_barrel_batted_rate9.1
sl_hard_hit_percent40.9
sl_whiff_percent30.0
sl_swing_percent47.9
sl_avg_best_speed80.48870321
sl_avg_hyper_speed94.469221667
Justin Bruihl (677865) · PITCHER · Middle Reliever (High Leverage) · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 59
All-history rows before 20260827: 59

Metric-by-Metric Comparison

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

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: 58
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4556.1002.0006.0003.0001.0000.0002.84211.42110.31580.94740.47370.15790.0000
last_100.351012.0003.00010.0004.0003.0001.0002.25001.16670.25000.83330.33330.25000.0833
season0.205864.20024.00063.00024.00042.0003.0003.34021.34540.37110.97420.37110.64950.0464
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4700
predicted_ER0.4280
predicted_ERA3.2272
predicted_H1.1090
predicted_HR0.0820
predicted_IP1.1000
predicted_SO0.5620
predicted_WHIP1.3240
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.47000.2503model_form_blend
predicted_ER0.00000.42800.2279model_form_blend
predicted_ERA-3.22723.2272form_only
predicted_H0.00001.10900.5905model_form_blend
predicted_HR0.00000.08200.0437model_form_blend
predicted_IP1.00001.10001.2000model_form_blend
predicted_SO1.00000.56200.7668model_form_blend
predicted_WHIP-1.32401.3240form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA3.34
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches15
Pitching_R0
Pitching_SO0
Pitching_Strikes11
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260823_STL@PHI
game_typefull
mlbID677865
playerID677865
playerNameJustin Bruihl
posP
startedFalse
startingPositionP
teamSTL
teamID26
game_date2026-08-23
sl_k_percent15.0
sl_bb_percent8.5
sl_woba0.311
sl_xwoba0.306
sl_sweet_spot_percent29.2
sl_barrel_batted_rate4.6
sl_hard_hit_percent34.7
sl_whiff_percent17.3
sl_swing_percent45.3
sl_avg_best_speed74.223234762
sl_avg_hyper_speed93.298124381
Riley O'Brien (676617) · PITCHER · Closer · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 55
All-history rows before 20260827: 55

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.4180.0000.5821.000
predicted_ER1.0001.0001.000Pitching_ER0.4361.0000.5640.000
predicted_H2.0002.0002.000Pitching_H0.7822.0001.2180.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9291.0000.0710.000
predicted_SO1.0001.0001.000Pitching_SO0.9640.0000.0361.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER1.000-
predicted_H2.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 54
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.0006.0006.0003.0004.0001.00013.50002.25001.50001.50000.75001.00000.2500
last_100.35109.0006.0007.0005.0007.0001.0006.00001.33330.66670.77780.55560.77780.1111
season0.205452.20023.00041.00023.00053.0003.0003.93041.21520.43670.77850.43671.00630.0570
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4840
predicted_ER0.7520
predicted_ERA7.5307
predicted_H0.9540
predicted_HR0.1420
predicted_IP1.0000
predicted_SO0.8360
predicted_WHIP1.6003
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.48400.7346model_form_blend
predicted_ER1.00000.75200.8724model_form_blend
predicted_ERA-7.53077.5307form_only
predicted_H2.00000.95401.4620model_form_blend
predicted_HR0.00000.14200.0730model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.83600.9156model_form_blend
predicted_WHIP-1.60031.6003form_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 date55
Season rows before report date55
Report year2026
Profile rows used54
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H2
R1
ER1
BB1
SO1
HR0
BF6
Pitches23

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER1
Pitching_ERA4.02
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches17
Pitching_R1
Pitching_SO0
Pitching_Strikes11
Pitching_Wild Pitch1
Pitching_decisionL
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260826_BAL@STL
game_typefull
mlbID676617
playerID676617
playerNameRiley O'Brien
posP
startedFalse
startingPositionP
teamSTL
teamID26
game_date2026-08-26
sl_k_percent23.0
sl_bb_percent9.8
sl_woba0.294
sl_xwoba0.334
sl_sweet_spot_percent33.1
sl_barrel_batted_rate6.8
sl_hard_hit_percent41.2
sl_whiff_percent25.5
sl_swing_percent43.8
sl_avg_best_speed77.176575278
sl_avg_hyper_speed94.513106154
Ryne Stanek (592773) · PITCHER · Middle Reliever (High Leverage) · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 58
All-history rows before 20260827: 58

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4831.000-0.483-1.000
predicted_ER1.0001.0001.000Pitching_ER0.4480.0000.5521.000
predicted_H2.0002.0002.000Pitching_H0.7930.0001.2072.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.7641.0000.2360.000
predicted_SO1.0001.0001.000Pitching_SO0.9141.0000.0860.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": "592773",
  "player_name": "Ryne Stanek",
  "position": "Middle Reliever (High Leverage)",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 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": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER1.000-
predicted_H2.000-
predicted_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: 56
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.2003.0005.0000.0003.0001.0005.78571.07140.64291.07140.00000.64290.2143
last_100.35108.2006.00010.0002.0007.0003.0006.23081.38460.69231.15390.23080.80770.3462
season0.205651.00025.00045.00026.00052.0009.0004.41181.39220.49020.88230.50981.01960.1765
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2430
predicted_ER0.5870
predicted_ERA5.2859
predicted_H1.0340
predicted_HR0.2180
predicted_IP1.0000
predicted_SO0.8320
predicted_WHIP1.2771
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.24300.1243model_form_blend
predicted_ER1.00000.58700.7888model_form_blend
predicted_ERA-5.28595.2859form_only
predicted_H2.00001.03401.5060model_form_blend
predicted_HR0.00000.21800.1115model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.83200.9141model_form_blend
predicted_WHIP-1.27711.2771form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H2
R1
ER1
BB0
SO1
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_BB1
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA4.50
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches14
Pitching_R0
Pitching_SO1
Pitching_Strikes9
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260826_BAL@STL
game_typefull
mlbID592773
playerID592773
playerNameRyne Stanek
posP
startedFalse
startingPositionP
teamSTL
teamID26
game_date2026-08-26
sl_k_percent24.6
sl_bb_percent12.3
sl_woba0.329
sl_xwoba0.315
sl_sweet_spot_percent31.7
sl_barrel_batted_rate8.5
sl_hard_hit_percent37.3
sl_whiff_percent29.0
sl_swing_percent48.8
sl_avg_best_speed78.553019577
sl_avg_hyper_speed94.344832199

20260827_COL@WAS

Prediction Method: enhanced_ml_savant_pitcher_quality_pitcher_opponent_strength
Team Recent Window (Home): 10 games
Team Recent Window (Away): 10 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 4, "home_runs": 6, "confidence": 0.565332496, "home_win_probability": 0.565332496, "away_win_probability": 0.434667504, "predicted_score_text": "COL 4 - 6 WAS", "embedded_savant_score_adjustment": {"applied": true, "source": "all_players_stats.csv embedded temporal Savant features", "feature_contract": {"training_grain": "one player-game row after collapsing granular at-bat rows", "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game", "hitter_signals": ["xwoba", "xba", "xslg", "barrel_batted_rate", "hard_hit_percent", "bat_speed", "launch_quality", "walk_rate", "strikeout_rate"], "pitcher_signals": ["xwoba_allowed", "barrel_allowed", "hard_hit_allowed", "whiff_rate", "command_score", "movement_score", "faced_est_woba", "faced_strikeout_rate"]}, "away": {"team": "COL", "original_runs": 4, "run_delta": 0.1557, "adjusted_runs": 4, "lineup": {"players_used": 9, "total_weight": 35.0, "quality": -0.1676824200730149, "contact": -0.19968414302312185, "power": -0.04342199216326453, "discipline": -0.2221930028030499, "xwoba": 0.31142857142857144, "recent_xwoba": 0.31142857142857144, "barrel": 7.642857142857143, "ab_hard_contact": -0.11423576163262965, "ab_bat_speed": 70.51876512253614, "ab_strikeout_rate": 0.24142255419541173, "available_players": 9, "top_players": [{"player_id": "696100", "player_name": "Hunter Goodman", "position": "C", "weight": 5.0, "quality": 0.39174740122386165, "contact": 0.06486269251893921, "power": 1.3099069583566805, "discipline": -0.8052217163874774, "xwoba": 0.331, "recent_xwoba": 0.331, "barrel": 16.9, "ab_hard_contact": 0.4455677385621949, "ab_bat_speed": 74.18169717030115, "ab_strikeout_rate": 0.3425757575757576, "available": 1.0}, {"player_id": "681393", "player_name": "Connor Norby", "position": "2B", "weight": 3.0, "quality": -0.5090065424251857, "contact": -0.7400904654409417, "power": -0.35898567495923367, "discipline": -0.27340249804713207, "xwoba": 0.293, "recent_xwoba": 0.293, "barrel": 7.099999999999999, "ab_hard_contact": -0.29818968966085263, "ab_bat_speed": 69.25058802816902, "ab_strikeout_rate": 0.3070422535211268, "available": 1.0}, {"player_id": "681198", "player_name": "TJ Rumfield", "position": "1B", "weight": 4.0, "quality": -0.3470106007064005, "contact": -0.23042244696594597, "power": -0.7070147769925601, "discipline": 0.6422013801238544, "xwoba": 0.321, "recent_xwoba": 0.321, "barrel": 4.5, "ab_hard_contact": -0.24010506366071477, "ab_bat_speed": 67.5991563697318, "ab_strikeout_rate": 0.14236694677871148, "available": 1.0}, {"player_id": "678662", "player_name": "Ezequiel Tovar", "position": "SS", "weight": 3.0, "quality": -0.4657153728519663, "contact": -0.6924967587685422, "power": -0.30081174993861015, "discipline": -0.564879207863553, "xwoba": 0.281, "recent_xwoba": 0.281, "barrel": 6.8, "ab_hard_contact": -0.6638540463912502, "ab_bat_speed": 69.78692180413832, "ab_strikeout_rate": 0.2493046776232617, "available": 1.0}, {"player_id": "664983", "player_name": "Jake McCarthy", "position": "LF", "weight": 5.0, "quality": -0.28824785113221035, "contact": -0.07890664815308712, "power": -0.45049273182024585, "discipline": -0.16086818103394201, "xwoba": 0.319, "recent_xwoba": 0.319, "barrel": 5.1, "ab_hard_contact": -0.6776641602144351, "ab_bat_speed": 67.76027796674225, "ab_strikeout_rate": 0.17507936507936508, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "663623", "player_name": "Jake Irvin", "quality": -0.5350475748249437, "contact": -0.7288136946181134, "command": -0.2636062271062273, "movement": -0.5721042262605713, "xwoba": 0.353, "whiff": 23.3, "faced_est_woba": 0.26552359851190477, "faced_launch_speed": 83.8105259224902, "faced_strikeout_rate": 0.23520697818487546, "faced_run_exp": 0.006591593388029562}}, "home": {"team": "WAS", "original_runs": 6, "run_delta": 0.0895, "adjusted_runs": 6, "lineup": {"players_used": 9, "total_weight": 31.0, "quality": 0.029372064961163385, "contact": -0.0869699850966471, "power": 0.1937463667351837, "discipline": -0.134224748106751, "xwoba": 0.3166451612903226, "recent_xwoba": 0.3166451612903226, "barrel": 9.080645161290322, "ab_hard_contact": 0.09708401673133074, "ab_bat_speed": 70.49786476529603, "ab_strikeout_rate": 0.23795436533189748, "available_players": 9, "top_players": [{"player_id": "683083", "player_name": "Nasim Nuñez", "position": "SS", "weight": 3.0, "quality": -1.0228712875775197, "contact": -1.0949457531520563, "power": -1.5680402176929662, "discipline": 0.4129016602358993, "xwoba": 0.266, "recent_xwoba": 0.266, "barrel": 0.3, "ab_hard_contact": -0.9371853062402757, "ab_bat_speed": 65.38237283549783, "ab_strikeout_rate": 0.19166666666666665, "available": 1.0}, {"player_id": "665953", "player_name": "Andrés Chaparro", "position": "3B", "weight": 3.0, "quality": 0.42993336729047194, "contact": 0.6326642366217751, "power": 1.120933068216619, "discipline": 0.13197989152841627, "xwoba": 0.371, "recent_xwoba": 0.371, "barrel": 14.0, "ab_hard_contact": 0.7641851738562009, "ab_bat_speed": 73.15517006802722, "ab_strikeout_rate": 0.27108843537414967, "available": 1.0}, {"player_id": "695670", "player_name": "Harry Ford", "position": "C", "weight": 3.0, "quality": -0.30059609998410725, "contact": -1.698909199867106, "power": -0.8325010477780493, "discipline": 0.23101230449360238, "xwoba": 0.261, "recent_xwoba": 0.261, "barrel": 10.3, "ab_hard_contact": -1.0957352412752772, "ab_bat_speed": 66.02516339869281, "ab_strikeout_rate": 0.31862745098039214, "available": 1.0}, {"player_id": "694673", "player_name": "Abimelec Ortiz", "position": "1B", "weight": 3.0, "quality": 0.12752497995917822, "contact": 0.36196258978625545, "power": 1.0576961418373798, "discipline": -0.3210923873831485, "xwoba": 0.339, "recent_xwoba": 0.339, "barrel": 11.8, "ab_hard_contact": 0.7619228367475981, "ab_bat_speed": 74.9698125, "ab_strikeout_rate": 0.171875, "available": 1.0}, {"player_id": "686611", "player_name": "Dylan Crews", "position": "RF", "weight": 5.0, "quality": 0.2846308942656995, "contact": 0.14314489007571995, "power": 0.5597945222573902, "discipline": -0.435404928152881, "xwoba": 0.32, "recent_xwoba": 0.32, "barrel": 10.0, "ab_hard_contact": 0.6107475880049603, "ab_bat_speed": 72.63282876712329, "ab_strikeout_rate": 0.24840182648401826, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "687312", "player_name": "Gabriel Hughes", "quality": 0.05254222769095157, "contact": 0.4468539781459338, "command": -0.5938919413919416, "movement": -0.19082091217916836, "xwoba": 0.289, "whiff": 18.8, "faced_est_woba": 0.26552359851190477, "faced_launch_speed": 83.8105259224902, "faced_strikeout_rate": 0.23520697818487546, "faced_run_exp": 0.006591593388029562}}}, "fundamental_edge_target_review": {"applied": false, "method": "post_score_adjustment_fundamental_edge_review_v1", "previous_score": {"away_runs": 4, "home_runs": 6, "winner_side": "home"}, "adjusted_score": {"away_runs": 4, "home_runs": 6, "winner_side": "home"}, "signals": {"season_quality_edge_home_minus_away": 0.9814, "recent_form_edge_home_minus_away": 0.386, "pitcher_matchup_edge_home_minus_away": 0.0078, "composite_home_edge": 1.0134, "existing_home_win_probability": 0.613, "refreshed_home_win_probability": 0.7, "winner_support_before_review": 1.0134}, "reasons": ["target direction already matched refreshed fundamentals or margin was not fragile"]}, "uncapped_home_win_probability": 0.613032, "uncapped_away_win_probability": 0.386968, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.613032, "discount_factor": 0.578, "published_confidence": 0.565332, "guardrail_confidence_cap": 0.57, "guardrail_cap_enforced": false, "applied_discounts": [{"reason": "winner_starter_is_below_average", "factor": 0.8}, {"reason": "matchup_recency_guardrail", "factor": 0.85}, {"reason": "season_quality_guardrail", "factor": 0.85}]}, "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: winner_starter_is_below_average x0.80, matchup_recency_guardrail x0.85, season_quality_guardrail x0.85.", "pre_simulation_target": {"away_runs": 4, "home_runs": 6, "predicted_score_text": "COL 4 - 6 WAS", "confidence": 0.565332496, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "stable_final_prediction_policy", "simulation_usage": "organic_simulation_realized_target", "simulation_score_matches_prediction": true, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 4, "home_runs": 6, "score_text": "COL 4 - 6 WAS", "winner": "WAS"}, "final_simulation_score": {"away_runs": 4, "home_runs": 6, "score_text": "COL 4 - 6 WAS", "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.0078, "recent_form_edge_home_minus_away": 0.386, "winner_direction": "home", "thresholds": {"pitcher_matchup": 0.35, "recent_form": 0.75}}, "margin_widening_capped": false, "simulation_winner_agrees": true, "away_run_delta": 0, "home_run_delta": 0, "total_run_delta": 0, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "organic_simulation_realized_target", "final_prediction_source": "stable_final_prediction_policy", "final_decision_policy": {"policy_version": "model_target_authoritative_simulation_realizes_v3", "away_runs": 4, "home_runs": 6, "winner": "WAS", "model_winner": "WAS", "simulation_winner": "WAS", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 3, "published_winner": "WAS", "published_winner_draw_share": 0.6667, "draw_majority_team": "WAS", "published_winner_is_draw_majority": true, "sampling": "target_conditioned_selection", "is_unbiased_probability_sample": false, "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."}, "simulation_score_enabled": true, "independent_margin_support": false, "margin_widening_capped": false, "model_margin": 2, "simulation_margin": 2, "simulation_usage": "organic_simulation_realized_target", "score_source": "enhanced_prediction.pre_simulation_target", "simulation_realized_target": true, "model_score": {"away_runs": 4, "home_runs": 6}, "simulation_score": {"away_runs": 4, "home_runs": 6}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 2, "final_margin": 2, "winner_quality_edge": 0.9814, "winner": "WAS", "score_reviewed": {"away_runs": 4, "home_runs": 6, "source": "enhanced_prediction.pre_simulation_target"}, "reason": "published margin is directionally supported or within review threshold"}}, "decision_profile": {"method": "priced_decision_profile_v2", "winner": "WAS", "display_confidence": 0.5653, "internal_signal_score": 0.6287, "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability", "model_pick_probability": 0.5653, "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": "neutral_totals", "winner_accuracy_and_margin_accuracy_decoupled": true, "signals": {"final_margin": 2, "winner_quality_edge": 0.9814, "winner_recent_form_edge": 0.316, "winner_pitcher_matchup_edge": 0.0078, "winner_simulation_draw_rate": 0.6667, "blowout_draw_rate_margin_4_plus": 0.3333, "high_total_draw_rate_11_plus": 0.0, "low_total_draw_rate_6_or_less": 0.3333, "total_runs_spread": {"min": 4, "median": 8, "max": 9, "range": 5}}, "interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."}}
Factors Considered: Historical team performance, Season-to-date run differential, Recent form (latest 10 games), Head-to-head matchup history, Player-level statistics, Baseball Savant hitter xwOBA/xBA/xSLG/contact quality, Baseball Savant pitcher xwOBA/contact/whiff quality, Pitcher splits versus opponent batting strength, Recent-form versus season-quality arbitration, Recent 10-game performance trends, Pitcher recent form analysis, Team hitting/pitching streaks, Low-score probability modeling, Environmental factors, Home field advantage, Game timing factors, Seasonal adjustments, Machine learning models

Game-Level Prediction Audit

LayerScoreWinnerConfidenceSource or usageSynced or matches
Shipped predictionCOL 4 - 6 WASWAS0.565enhanced_prediction.pre_simulation_targetTrue
Simulation drawCOL 4 - 6 WASWAS-organic_simulation_realized_targetTrue

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

Full Prediction Process

Optimization Roadmap Runtime Status

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

PriorityChangeRuntime statusEvidence
P1Empirical confidence blendappliedraw=0.7482; empirical=0.5000; weight=0.0200; final=0.7433
P1H2H margin as base featureavailablehome net=19; abs=19; home delta=0.1096; away delta=-0.1096
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=1.3397; recent edge=0.3160; 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.5653
9. Simulation reconciliationReconciles final shipped score with the simulation box score while retaining the pre-simulation target.simulation_reconciliationorganic_simulation_realized_target
10. Score evolution rendered7 stored score steps are rendered below.game.score_evolution.stepstrue

Score Evolution Steps

StepLayerAway RunsHome RunsConfidenceDescription
1historical_ml5.1115.067-Base ML historical model prediction
2variance_applied55-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction460.5653Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, matchup_recency_guardrail, season_quality_guardrail)
4embedded_savant_run_environment46-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
5fundamental_edge_target_review46-Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
6capped_target46-Capped at max 12 realistic runs
7simulation_result46-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.4701843438395416,
  "base_low_score_probability": 0.4355300859598854,
  "low_score_signal_threshold": 0.5155300859598854,
  "low_score_signal_strength": 0.0346542578796562,
  "confidence": 0.639784,
  "factors": {
    "environmental": 1.079568,
    "pitcher_form": 1.0,
    "team_form": 1.0,
    "situational": 1.0,
    "combined": 1.079568
  },
  "prediction": "normal_scoring",
  "expected_total_runs": 10,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 9.6,
  "low_score_model_expected_total_runs": 9.6,
  "final_simulation_total_runs": 10,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "monotone_reliability_shrinkage",
  "policy": "shrink_toward_even_score_floor_v3",
  "sample_size": 4,
  "near_bucket_sample_size": 4,
  "medium_bucket_sample_size": 8,
  "wide_bucket_sample_size": 16,
  "global_sample_size": 73,
  "bucket_scope": "sparse_near_0.05",
  "sparse_bucket": true,
  "empirical_hit_rate": 0.5,
  "bayesian_hit_rate": 0.5,
  "prior_strength": 36.0,
  "raw_pick_probability": 0.675,
  "raw_pick_probability_unclamped": 0.675,
  "score_probability_conflict": false,
  "margin_implied_home_probability": 0.675,
  "margin_implied_pick_probability": 0.675,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.675,
  "score_implied_floor_pick_probability": 0.5726,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.674983,
  "uncapped_away_win_probability": 0.325017,
  "calibrated_pick_probability": 0.5726,
  "predicted_side": "home",
  "reliability": 0.1,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.415
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.748242,
  "sample_size": 4,
  "empirical_hit_rate": 0.5,
  "empirical_weight": 0.02,
  "blended_confidence": 0.743277,
  "published_confidence": 0.565332,
  "published_after_governors": true,
  "governor_mode": "shrinkage_not_clamp"
}
H2H Base Feature
{
  "method": "h2h_net_margin_monotonic_v1",
  "available": true,
  "sample_size": 5,
  "sample_weight": 0.0577,
  "home_net_margin": 19.0,
  "absolute_net_margin": 19.0,
  "home_average_margin": 3.8,
  "home_run_delta": 0.1096,
  "away_run_delta": -0.1096,
  "evidence": [
    {
      "game_id": null,
      "home_margin": -2.0
    },
    {
      "game_id": null,
      "home_margin": 10.0
    },
    {
      "game_id": null,
      "home_margin": 8.0
    },
    {
      "game_id": null,
      "home_margin": -1.0
    },
    {
      "game_id": null,
      "home_margin": 4.0
    }
  ],
  "adaptive_parameters": {
    "h2h.history_limit": 5,
    "h2h.maximum_weight": 0.15,
    "h2h.prior_games": 8.0,
    "h2h.maximum_total_shift": 0.65
  }
}
Season Run Differential Adjustment
{
  "applied": true,
  "home": {
    "team": "WAS",
    "games": 134,
    "wins": 62,
    "losses": 72,
    "win_pct": 0.4626865671641791,
    "runs_scored": 696,
    "runs_allowed": 678,
    "run_differential": 18,
    "run_differential_per_game": 0.13432835820895522,
    "available": true
  },
  "away": {
    "team": "COL",
    "games": 132,
    "wins": 51,
    "losses": 81,
    "win_pct": 0.38636363636363635,
    "runs_scored": 623,
    "runs_allowed": 767,
    "run_differential": -144,
    "run_differential_per_game": -1.0909090909090908,
    "available": true
  },
  "run_differential_edge_per_game": 1.2252,
  "win_pct_edge": 0.0763,
  "quality_edge": 0.9814,
  "season_quality_edge": 1.3397,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": 1.3397,
    "recent_quality_edge": 0.316,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "aligned",
    "blended_quality_edge": 0.9814
  },
  "margin_adjustment": 0.4122,
  "reason": "season-to-date run differential and record moved the score toward the stronger team",
  "margin_adjustment_policy": {
    "adjustment": 0.4122,
    "cap": 1.4,
    "scale": 0.42,
    "quality_edge": 0.9814,
    "season_quality_edge": 1.3397,
    "recent_alignment": "aligned",
    "large_edge_supported_by_recent_form": false,
    "method": "standard_bounded_season_recent_adjustment"
  },
  "adjusted_score": {
    "away_runs": 4.979,
    "home_runs": 4.944,
    "home_win_probability": 0.4971
  }
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 6,
      "away_runs": 4,
      "probability": 0.018532772855950112
    },
    {
      "home_runs": 7,
      "away_runs": 4,
      "probability": 0.01851805573876954
    },
    {
      "home_runs": 6,
      "away_runs": 5,
      "probability": 0.018363446926769878
    },
    {
      "home_runs": 7,
      "away_runs": 5,
      "probability": 0.01834886427352305
    },
    {
      "home_runs": 5,
      "away_runs": 4,
      "probability": 0.016894240855597393
    }
  ],
  "home_distribution": {
    "0": 0.017376127418996634,
    "1": 0.03040103720216391,
    "2": 0.04844813589892745,
    "3": 0.07032650018902288,
    "4": 0.09298527961176109,
    "5": 0.1119857234940325,
    "6": 0.12284695088483467,
    "7": 0.12274939651531314,
    "8": 0.1117191473171491,
    "9": 0.09261666139584855,
    "10": 0.06993649993444374,
    "11": 0.048102974058545404,
    "12": 0.03013652864795402,
    "13": 0.017197597703518867,
    "14": 0.00893913730317489,
    "15": 0.004232302424313162
  },
  "away_distribution": {
    "0": 0.03987991314590596,
    "1": 0.0682770345132594,
    "2": 0.10195732558648622,
    "3": 0.13279617281480283,
    "4": 0.15086066623927874,
    "5": 0.14948231758706862,
    "6": 0.12918942418776308,
    "7": 0.09738396238102623,
    "8": 0.06402819496419407,
    "9": 0.03671794904946768,
    "10": 0.018365760213056366,
    "11": 0.008012402235295119,
    "12": 0.0030488770823958
  },
  "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.57,
  "winner_flipped": false,
  "reasons": [
    "predicted side recently lost this matchup by 5+ runs",
    "opponent already produced an 8+ run breakout in this matchup"
  ],
  "signals": {
    "predicted_team": "COL",
    "opponent_team": "WAS",
    "h2h_net_margin": -16,
    "opponent_breakout": true,
    "opponent_blowout_win": true,
    "split_recent_h2h": true,
    "recent_h2h": [
      {
        "date": "2026-08-25",
        "predicted_team_runs": 3,
        "opponent_runs": 1,
        "margin_for_predicted_team": 2,
        "winner": "COL"
      },
      {
        "date": "2026-08-24",
        "predicted_team_runs": 3,
        "opponent_runs": 13,
        "margin_for_predicted_team": -10,
        "winner": "WAS"
      },
      {
        "date": "2026-07-22",
        "predicted_team_runs": 0,
        "opponent_runs": 8,
        "margin_for_predicted_team": -8,
        "winner": "WAS"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 1,
      "consecutive_same_pick_count": 0,
      "same_pick_actual_loss_count": 0,
      "same_pick_blowout_loss_count": 0,
      "prior_predictions": [
        {
          "date": "20260825",
          "away": "COL",
          "home": "WAS",
          "game_number": 1,
          "predicted_team": "WAS",
          "actual_winner": "COL",
          "actual_margin": 2,
          "raw_pick_probability": 0.53,
          "artifact": "20260825_COL@WAS.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "COL",
    "guardrail_opponent_team": "WAS",
    "output_pre_simulation_winner": "WAS",
    "output_opponent_team": "COL",
    "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": false,
  "flip_authority": "caps_confidence_and_shifts_runs_only",
  "final_prediction_sync": {
    "pre_simulation_score": {
      "away_runs": 4,
      "home_runs": 6,
      "score_text": "COL 4 - 6 WAS",
      "winner": "WAS"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 6,
      "score_text": "COL 4 - 6 WAS",
      "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.0078,
      "recent_form_edge_home_minus_away": 0.386,
      "winner_direction": "home",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 4,
      "home_runs": 6,
      "winner": "WAS",
      "model_winner": "WAS",
      "simulation_winner": "WAS",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 3,
        "published_winner": "WAS",
        "published_winner_draw_share": 0.6667,
        "draw_majority_team": "WAS",
        "published_winner_is_draw_majority": true,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 2,
      "simulation_margin": 2,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 4,
        "home_runs": 6
      },
      "simulation_score": {
        "away_runs": 4,
        "home_runs": 6
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 2,
      "final_margin": 2,
      "winner_quality_edge": 0.9814,
      "winner": "WAS",
      "score_reviewed": {
        "away_runs": 4,
        "home_runs": 6,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  }
}
Season Quality Guardrail
{
  "applied": true,
  "confidence_cap": 0.6,
  "winner_flipped": true,
  "hard_flip_suppressed": false,
  "policy": "recency_uncertainty_shrinkage_v2",
  "reasons": [
    "season-to-date record and run differential support the home team over a close road lean"
  ],
  "signals": {
    "home": {
      "team": "WAS",
      "games": 134,
      "wins": 62,
      "losses": 72,
      "win_pct": 0.4626865671641791,
      "runs_scored": 696,
      "runs_allowed": 678,
      "run_differential": 18,
      "run_differential_per_game": 0.13432835820895522,
      "available": true
    },
    "away": {
      "team": "COL",
      "games": 132,
      "wins": 51,
      "losses": 81,
      "win_pct": 0.38636363636363635,
      "runs_scored": 623,
      "runs_allowed": 767,
      "run_differential": -144,
      "run_differential_per_game": -1.0909090909090908,
      "available": true
    },
    "home_quality_edge": 0.2234,
    "original_score": {
      "away_runs": 4.979,
      "home_runs": 4.944,
      "home_win_probability": 0.4971
    },
    "adjusted_score": {
      "away_runs": 4.681,
      "home_runs": 5.607,
      "home_win_probability": 0.5741
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": 0.9264,
  "final_margin": 0.9264,
  "margin_cap": 2.0,
  "season_quality_edge": 0.9814,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.57,
  "final_confidence": 0.5726,
  "calibrated_pick_probability": 0.5726,
  "shrinkage_weight": 0.415,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 2.0586,
  "calibration_sample_size": 4,
  "calibration_empirical_hit_rate": 0.5,
  "calibration_bayesian_hit_rate": 0.5,
  "calibration_sparse_bucket": true,
  "season_quality_edge": 0.9814,
  "reasons": [
    "confidence aligned to the calibrated pick probability",
    "verified calibration sample is sparse; probability was shrunk toward even rather than clamped"
  ],
  "score_coherence": {
    "policy": "probability_follows_published_score_v1",
    "published_score": {
      "away_runs": 4,
      "home_runs": 6
    },
    "margin": 2,
    "probability_before": 0.572618,
    "margin_implied_home_probability": 0.67,
    "shrinkage_weight": 0.415,
    "side_flipped": false,
    "applied": true,
    "probability_after": 0.613032,
    "aligned_pick_probability": 0.613032
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 4,
    "home_runs": 6,
    "score_text": "COL 4 - 6 WAS",
    "winner": "WAS"
  },
  "final_simulation_score": {
    "away_runs": 4,
    "home_runs": 6,
    "score_text": "COL 4 - 6 WAS",
    "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.0078,
    "recent_form_edge_home_minus_away": 0.386,
    "winner_direction": "home",
    "thresholds": {
      "pitcher_matchup": 0.35,
      "recent_form": 0.75
    }
  },
  "margin_widening_capped": false,
  "simulation_winner_agrees": true,
  "away_run_delta": 0,
  "home_run_delta": 0,
  "total_run_delta": 0,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "organic_simulation_realized_target",
  "final_prediction_source": "stable_final_prediction_policy",
  "final_decision_policy": {
    "policy_version": "model_target_authoritative_simulation_realizes_v3",
    "away_runs": 4,
    "home_runs": 6,
    "winner": "WAS",
    "model_winner": "WAS",
    "simulation_winner": "WAS",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 3,
      "published_winner": "WAS",
      "published_winner_draw_share": 0.6667,
      "draw_majority_team": "WAS",
      "published_winner_is_draw_majority": true,
      "sampling": "target_conditioned_selection",
      "is_unbiased_probability_sample": false,
      "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
    },
    "simulation_score_enabled": true,
    "independent_margin_support": false,
    "margin_widening_capped": false,
    "model_margin": 2,
    "simulation_margin": 2,
    "simulation_usage": "organic_simulation_realized_target",
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_realized_target": true,
    "model_score": {
      "away_runs": 4,
      "home_runs": 6
    },
    "simulation_score": {
      "away_runs": 4,
      "home_runs": 6
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 2,
    "final_margin": 2,
    "winner_quality_edge": 0.9814,
    "winner": "WAS",
    "score_reviewed": {
      "away_runs": 4,
      "home_runs": 6,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 4,
  "home_runs": 6,
  "confidence": 0.565332496,
  "home_win_probability": 0.565332496,
  "away_win_probability": 0.434667504,
  "predicted_score_text": "COL 4 - 6 WAS",
  "embedded_savant_score_adjustment": {
    "applied": true,
    "source": "all_players_stats.csv embedded temporal Savant features",
    "feature_contract": {
      "training_grain": "one player-game row after collapsing granular at-bat rows",
      "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
      "hitter_signals": [
        "xwoba",
        "xba",
        "xslg",
        "barrel_batted_rate",
        "hard_hit_percent",
        "bat_speed",
        "launch_quality",
        "walk_rate",
        "strikeout_rate"
      ],
      "pitcher_signals": [
        "xwoba_allowed",
        "barrel_allowed",
        "hard_hit_allowed",
        "whiff_rate",
        "command_score",
        "movement_score",
        "faced_est_woba",
        "faced_strikeout_rate"
      ]
    },
    "away": {
      "team": "COL",
      "original_runs": 4,
      "run_delta": 0.1557,
      "adjusted_runs": 4,
      "lineup": {
        "players_used": 9,
        "total_weight": 35.0,
        "quality": -0.1676824200730149,
        "contact": -0.19968414302312185,
        "power": -0.04342199216326453,
        "discipline": -0.2221930028030499,
        "xwoba": 0.31142857142857144,
        "recent_xwoba": 0.31142857142857144,
        "barrel": 7.642857142857143,
        "ab_hard_contact": -0.11423576163262965,
        "ab_bat_speed": 70.51876512253614,
        "ab_strikeout_rate": 0.24142255419541173,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "696100",
            "player_name": "Hunter Goodman",
            "position": "C",
            "weight": 5.0,
            "quality": 0.39174740122386165,
            "contact": 0.06486269251893921,
            "power": 1.3099069583566805,
            "discipline": -0.8052217163874774,
            "xwoba": 0.331,
            "recent_xwoba": 0.331,
            "barrel": 16.9,
            "ab_hard_contact": 0.4455677385621949,
            "ab_bat_speed": 74.18169717030115,
            "ab_strikeout_rate": 0.3425757575757576,
            "available": 1.0
          },
          {
            "player_id": "681393",
            "player_name": "Connor Norby",
            "position": "2B",
            "weight": 3.0,
            "quality": -0.5090065424251857,
            "contact": -0.7400904654409417,
            "power": -0.35898567495923367,
            "discipline": -0.27340249804713207,
            "xwoba": 0.293,
            "recent_xwoba": 0.293,
            "barrel": 7.099999999999999,
            "ab_hard_contact": -0.29818968966085263,
            "ab_bat_speed": 69.25058802816902,
            "ab_strikeout_rate": 0.3070422535211268,
            "available": 1.0
          },
          {
            "player_id": "681198",
            "player_name": "TJ Rumfield",
            "position": "1B",
            "weight": 4.0,
            "quality": -0.3470106007064005,
            "contact": -0.23042244696594597,
            "power": -0.7070147769925601,
            "discipline": 0.6422013801238544,
            "xwoba": 0.321,
            "recent_xwoba": 0.321,
            "barrel": 4.5,
            "ab_hard_contact": -0.24010506366071477,
            "ab_bat_speed": 67.5991563697318,
            "ab_strikeout_rate": 0.14236694677871148,
            "available": 1.0
          },
          {
            "player_id": "678662",
            "player_name": "Ezequiel Tovar",
            "position": "SS",
            "weight": 3.0,
            "quality": -0.4657153728519663,
            "contact": -0.6924967587685422,
            "power": -0.30081174993861015,
            "discipline": -0.564879207863553,
            "xwoba": 0.281,
            "recent_xwoba": 0.281,
            "barrel": 6.8,
            "ab_hard_contact": -0.6638540463912502,
            "ab_bat_speed": 69.78692180413832,
            "ab_strikeout_rate": 0.2493046776232617,
            "available": 1.0
          },
          {
            "player_id": "664983",
            "player_name": "Jake McCarthy",
            "position": "LF",
            "weight": 5.0,
            "quality": -0.28824785113221035,
            "contact": -0.07890664815308712,
            "power": -0.45049273182024585,
            "discipline": -0.16086818103394201,
            "xwoba": 0.319,
            "recent_xwoba": 0.319,
            "barrel": 5.1,
            "ab_hard_contact": -0.6776641602144351,
            "ab_bat_speed": 67.76027796674225,
            "ab_strikeout_rate": 0.17507936507936508,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "663623",
        "player_name": "Jake Irvin",
        "quality": -0.5350475748249437,
        "contact": -0.7288136946181134,
        "command": -0.2636062271062273,
        "movement": -0.5721042262605713,
        "xwoba": 0.353,
        "whiff": 23.3,
        "faced_est_woba": 0.26552359851190477,
        "faced_launch_speed": 83.8105259224902,
        "faced_strikeout_rate": 0.23520697818487546,
        "faced_run_exp": 0.006591593388029562
      }
    },
    "home": {
      "team": "WAS",
      "original_runs": 6,
      "run_delta": 0.0895,
      "adjusted_runs": 6,
      "lineup": {
        "players_used": 9,
        "total_weight": 31.0,
        "quality": 0.029372064961163385,
        "contact": -0.0869699850966471,
        "power": 0.1937463667351837,
        "discipline": -0.134224748106751,
        "xwoba": 0.3166451612903226,
        "recent_xwoba": 0.3166451612903226,
        "barrel": 9.080645161290322,
        "ab_hard_contact": 0.09708401673133074,
        "ab_bat_speed": 70.49786476529603,
        "ab_strikeout_rate": 0.23795436533189748,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "683083",
            "player_name": "Nasim Nuñez",
            "position": "SS",
            "weight": 3.0,
            "quality": -1.0228712875775197,
            "contact": -1.0949457531520563,
            "power": -1.5680402176929662,
            "discipline": 0.4129016602358993,
            "xwoba": 0.266,
            "recent_xwoba": 0.266,
            "barrel": 0.3,
            "ab_hard_contact": -0.9371853062402757,
            "ab_bat_speed": 65.38237283549783,
            "ab_strikeout_rate": 0.19166666666666665,
            "available": 1.0
          },
          {
            "player_id": "665953",
            "player_name": "Andrés Chaparro",
            "position": "3B",
            "weight": 3.0,
            "quality": 0.42993336729047194,
            "contact": 0.6326642366217751,
            "power": 1.120933068216619,
            "discipline": 0.13197989152841627,
            "xwoba": 0.371,
            "recent_xwoba": 0.371,
            "barrel": 14.0,
            "ab_hard_contact": 0.7641851738562009,
            "ab_bat_speed": 73.15517006802722,
            "ab_strikeout_rate": 0.27108843537414967,
            "available": 1.0
          },
          {
            "player_id": "695670",
            "player_name": "Harry Ford",
            "position": "C",
            "weight": 3.0,
            "quality": -0.30059609998410725,
            "contact": -1.698909199867106,
            "power": -0.8325010477780493,
            "discipline": 0.23101230449360238,
            "xwoba": 0.261,
            "recent_xwoba": 0.261,
            "barrel": 10.3,
            "ab_hard_contact": -1.0957352412752772,
            "ab_bat_speed": 66.02516339869281,
            "ab_strikeout_rate": 0.31862745098039214,
            "available": 1.0
          },
          {
            "player_id": "694673",
            "player_name": "Abimelec Ortiz",
            "position": "1B",
            "weight": 3.0,
            "quality": 0.12752497995917822,
            "contact": 0.36196258978625545,
            "power": 1.0576961418373798,
            "discipline": -0.3210923873831485,
            "xwoba": 0.339,
            "recent_xwoba": 0.339,
            "barrel": 11.8,
            "ab_hard_contact": 0.7619228367475981,
            "ab_bat_speed": 74.9698125,
            "ab_strikeout_rate": 0.171875,
            "available": 1.0
          },
          {
            "player_id": "686611",
            "player_name": "Dylan Crews",
            "position": "RF",
            "weight": 5.0,
            "quality": 0.2846308942656995,
            "contact": 0.14314489007571995,
            "power": 0.5597945222573902,
            "discipline": -0.435404928152881,
            "xwoba": 0.32,
            "recent_xwoba": 0.32,
            "barrel": 10.0,
            "ab_hard_contact": 0.6107475880049603,
            "ab_bat_speed": 72.63282876712329,
            "ab_strikeout_rate": 0.24840182648401826,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "687312",
        "player_name": "Gabriel Hughes",
        "quality": 0.05254222769095157,
        "contact": 0.4468539781459338,
        "command": -0.5938919413919416,
        "movement": -0.19082091217916836,
        "xwoba": 0.289,
        "whiff": 18.8,
        "faced_est_woba": 0.26552359851190477,
        "faced_launch_speed": 83.8105259224902,
        "faced_strikeout_rate": 0.23520697818487546,
        "faced_run_exp": 0.006591593388029562
      }
    }
  },
  "fundamental_edge_target_review": {
    "applied": false,
    "method": "post_score_adjustment_fundamental_edge_review_v1",
    "previous_score": {
      "away_runs": 4,
      "home_runs": 6,
      "winner_side": "home"
    },
    "adjusted_score": {
      "away_runs": 4,
      "home_runs": 6,
      "winner_side": "home"
    },
    "signals": {
      "season_quality_edge_home_minus_away": 0.9814,
      "recent_form_edge_home_minus_away": 0.386,
      "pitcher_matchup_edge_home_minus_away": 0.0078,
      "composite_home_edge": 1.0134,
      "existing_home_win_probability": 0.613,
      "refreshed_home_win_probability": 0.7,
      "winner_support_before_review": 1.0134
    },
    "reasons": [
      "target direction already matched refreshed fundamentals or margin was not fragile"
    ]
  },
  "uncapped_home_win_probability": 0.613032,
  "uncapped_away_win_probability": 0.386968,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.613032,
    "discount_factor": 0.578,
    "published_confidence": 0.565332,
    "guardrail_confidence_cap": 0.57,
    "guardrail_cap_enforced": false,
    "applied_discounts": [
      {
        "reason": "winner_starter_is_below_average",
        "factor": 0.8
      },
      {
        "reason": "matchup_recency_guardrail",
        "factor": 0.85
      },
      {
        "reason": "season_quality_guardrail",
        "factor": 0.85
      }
    ]
  },
  "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: winner_starter_is_below_average x0.80, matchup_recency_guardrail x0.85, season_quality_guardrail x0.85.",
  "pre_simulation_target": {
    "away_runs": 4,
    "home_runs": 6,
    "predicted_score_text": "COL 4 - 6 WAS",
    "confidence": 0.565332496,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "stable_final_prediction_policy",
  "simulation_usage": "organic_simulation_realized_target",
  "simulation_score_matches_prediction": true,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 4,
      "home_runs": 6,
      "score_text": "COL 4 - 6 WAS",
      "winner": "WAS"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 6,
      "score_text": "COL 4 - 6 WAS",
      "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.0078,
      "recent_form_edge_home_minus_away": 0.386,
      "winner_direction": "home",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 4,
      "home_runs": 6,
      "winner": "WAS",
      "model_winner": "WAS",
      "simulation_winner": "WAS",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 3,
        "published_winner": "WAS",
        "published_winner_draw_share": 0.6667,
        "draw_majority_team": "WAS",
        "published_winner_is_draw_majority": true,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 2,
      "simulation_margin": 2,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 4,
        "home_runs": 6
      },
      "simulation_score": {
        "away_runs": 4,
        "home_runs": 6
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 2,
      "final_margin": 2,
      "winner_quality_edge": 0.9814,
      "winner": "WAS",
      "score_reviewed": {
        "away_runs": 4,
        "home_runs": 6,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  },
  "decision_profile": {
    "method": "priced_decision_profile_v2",
    "winner": "WAS",
    "display_confidence": 0.5653,
    "internal_signal_score": 0.6287,
    "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
    "model_pick_probability": 0.5653,
    "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": "neutral_totals",
    "winner_accuracy_and_margin_accuracy_decoupled": true,
    "signals": {
      "final_margin": 2,
      "winner_quality_edge": 0.9814,
      "winner_recent_form_edge": 0.316,
      "winner_pitcher_matchup_edge": 0.0078,
      "winner_simulation_draw_rate": 0.6667,
      "blowout_draw_rate_margin_4_plus": 0.3333,
      "high_total_draw_rate_11_plus": 0.0,
      "low_total_draw_rate_6_or_less": 0.3333,
      "total_runs_spread": {
        "min": 4,
        "median": 8,
        "max": 9,
        "range": 5
      }
    },
    "interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."
  }
}

Savant Batter Quality

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

TeamAppliedOffense FactorRaw Avg FactorCoverage WeightCoveredMissing
Away COLTrue1.00221.0022190
Home WASTrue1.01451.0145190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
CFCole Carrigg1690.9970-0.0394neutral0.31800.25100.37404.3031.9086.5016.4024.6022.2010.50-0.7714
3BWilli Castro1491.00360.0479neutral0.30900.23500.39608.5040.9087.8018.5030.5027.108.20-0.7143
RFMickey Moniak2760.9843-0.2094negative_batter_regression0.28800.21700.40501042.3089.7022.3028.7025.905.40-1.6857
2BConnor Norby3120.9770-0.3067neutral0.29300.20000.33807.1038.1087.6019.1031.9030.3010.80-0.4000
DHTroy Johnston5401.02730.3633neutral0.32800.28300.38502.203789.6013.402416.908.60-0.0857
LFJake McCarthy1571.00240.0322negative_batter_regression0.31900.27500.40505.1027.708512.2022.1016.905.20-0.8857
SSEzequiel Tovar6130.9860-0.1861neutral0.28100.22600.37106.8033.7087.4017.502924.906.100.5429
CHunter Goodman751.05160.6875negative_batter_regression0.33100.23200.472016.9045.9090.5018.8035.60338.40-1
1BTJ Rumfield690.9907-0.1242negative_batter_regression0.32100.25300.37304.5026.9083.8016.4020.1014.4010.30-1.0286

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
DHCJ Abrams121.03800.5065negative_batter_regression0.33800.25300.440010.1041.5089.5017.702923.408.70-1.0571
3BAndrés Chaparro2561.04980.6643neutral0.37100.24700.48701446.208915.5031.2022.7012-0.0571
2BJosé Tena5481.01620.2157neutral0.30500.23300.37409.3049.7091.50834.7031.309.30-0.1714
1BAbimelec Ortiz3241.03370.4489neutral0.33900.25100.505011.8041.2090.2010.4023.3023.605.600.6857
SSNasim Nuñez1140.9317-0.9104neutral0.26600.22000.26800.3021.90858.7020.7020.6010.300.2286
LFDaylen Lile1341.03480.4636neutral0.32100.25800.43108.7037.1088.5018.5023.6019.305.700.2857
RFDylan Crews3381.04390.5857positive_batter_regression0.32000.23800.42201043.7090.6013.4030.6023.607.300.9143
CHarry Ford3170.9655-0.4606negative_batter_regression0.26100.15600.280010.3030.8082.9013.2027.4027.9013.20-1.3429
CFJacob Young1101.01720.2291neutral0.31800.26000.39306.40328811.7021.40176.800.1143
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0145,
    "raw_average_factor": 1.0145,
    "team_espn_average_rank": 239.22,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "DH",
        "player_id": "682928",
        "player_name": "CJ Abrams",
        "offense_factor": 1.038,
        "quality_score": 0.5065,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "682928",
          "espn_id": 42402,
          "player_name": "CJ Abrams",
          "team": "WSH",
          "role": "batter",
          "espn_rank": 12,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 12,
            "gp_value": 126.0,
            "gp_rank": "59",
            "ab_value": 478.0,
            "ab_rank": "45",
            "r_value": 79.0,
            "r_rank": "20",
            "h_value": 132.0,
            "h_rank": "28",
            "avg_value": 0.2761506,
            "avg_rank": 30.0,
            "2b_value": 26.0,
            "2b_rank": "27",
            "3b_value": 3.0,
            "3b_rank": "32",
            "hr_value": 29.0,
            "hr_rank": "11",
            "rbi_value": 92.0,
            "rbi_rank": "4",
            "tb_value": 251.0,
            "tb_rank": "96",
            "bb_value": 47.0,
            "bb_rank": "78",
            "so_value": 127.0,
            "so_rank": "39",
            "sb_value": 26.0,
            "sb_rank": "11",
            "obp_value": 0.3517495,
            "obp_rank": "44",
            "slg_value": 0.5251046,
            "slg_rank": "10",
            "ops_value": 0.8768541,
            "ops_rank": 54.0,
            "war_value": 4.67,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 527.0,
          "k_percent": 23.4,
          "bb_percent": 8.7,
          "woba": 0.375,
          "xwoba": 0.338,
          "xba": 0.253,
          "xslg": 0.44,
          "sweet_spot_percent": 33.6,
          "barrel_batted_rate": 10.1,
          "hard_hit_percent": 41.5,
          "exit_velocity_avg": 89.5,
          "launch_angle_avg": 17.7,
          "whiff_percent": 29.0,
          "swing_percent": 50.9
        },
        "components": {
          "expected_quality": 0.761,
          "regression_edge": -1.0571,
          "xwoba_edge": 1.0286,
          "xba_edge": 0.4857,
          "xslg_edge": 1.0429,
          "barrel_edge": 0.7556,
          "hard_hit_edge": 0.5286,
          "exit_velocity_edge": 0.36,
          "sweet_spot_edge": 0.05,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "3B",
        "player_id": "665953",
        "player_name": "Andrés Chaparro",
        "offense_factor": 1.0498,
        "quality_score": 0.6643,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "665953",
          "espn_id": 42949,
          "player_name": "Andres Chaparro",
          "team": "WSH",
          "role": "batter",
          "espn_rank": 256,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 256,
            "gp_value": 60.0,
            "gp_rank": "342",
            "ab_value": 127.0,
            "ab_rank": "383",
            "r_value": 26.0,
            "r_rank": "280",
            "h_value": 30.0,
            "h_rank": "375",
            "avg_value": 0.2362204,
            "avg_rank": null,
            "2b_value": 10.0,
            "2b_rank": "254",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 8.0,
            "hr_rank": "207",
            "rbi_value": 32.0,
            "rbi_rank": "230",
            "tb_value": 64.0,
            "tb_rank": "1812",
            "bb_value": 18.0,
            "bb_rank": "285",
            "so_value": 34.0,
            "so_rank": "367",
            "sb_value": 0.0,
            "sb_rank": "421",
            "obp_value": 0.3533333,
            "obp_rank": "-",
            "slg_value": 0.503937,
            "slg_rank": "-",
            "ops_value": 0.8572703,
            "ops_rank": null,
            "war_value": 0.63,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 130.0,
          "k_percent": 22.7,
          "bb_percent": 12.0,
          "woba": 0.373,
          "xwoba": 0.371,
          "xba": 0.247,
          "xslg": 0.487,
          "sweet_spot_percent": 29.0,
          "barrel_batted_rate": 14.0,
          "hard_hit_percent": 46.2,
          "exit_velocity_avg": 89.0,
          "launch_angle_avg": 15.5,
          "whiff_percent": 31.2,
          "swing_percent": 46.5
        },
        "components": {
          "expected_quality": 1.3165,
          "regression_edge": -0.0571,
          "xwoba_edge": 1.9714,
          "xba_edge": 0.3143,
          "xslg_edge": 1.7143,
          "barrel_edge": 1.6222,
          "hard_hit_edge": 1.2,
          "exit_velocity_edge": 0.16,
          "sweet_spot_edge": -0.7167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "2B",
        "player_id": "677588",
        "player_name": "José Tena",
        "offense_factor": 1.0162,
        "quality_score": 0.2157,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "677588",
          "espn_id": 42105,
          "player_name": "Jose Tena",
          "team": "WSH",
          "role": "batter",
          "espn_rank": 548,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 548,
            "gp_value": 101.0,
            "gp_rank": "168",
            "ab_value": 232.0,
            "ab_rank": "264",
            "r_value": 32.0,
            "r_rank": "241",
            "h_value": 54.0,
            "h_rank": "261",
            "avg_value": 0.2327586,
            "avg_rank": null,
            "2b_value": 11.0,
            "2b_rank": "239",
            "3b_value": 2.0,
            "3b_rank": "64",
            "hr_value": 7.0,
            "hr_rank": "231",
            "rbi_value": 22.0,
            "rbi_rank": "305",
            "tb_value": 90.0,
            "tb_rank": "1321",
            "bb_value": 24.0,
            "bb_rank": "224",
            "so_value": 81.0,
            "so_rank": "148",
            "sb_value": 4.0,
            "sb_rank": "192",
            "obp_value": 0.3127413,
            "obp_rank": "-",
            "slg_value": 0.387931,
            "slg_rank": "-",
            "ops_value": 0.7006723,
            "ops_rank": null,
            "war_value": -0.32,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 244.0,
          "k_percent": 31.3,
          "bb_percent": 9.3,
          "woba": 0.311,
          "xwoba": 0.305,
          "xba": 0.233,
          "xslg": 0.374,
          "sweet_spot_percent": 31.8,
          "barrel_batted_rate": 9.3,
          "hard_hit_percent": 49.7,
          "exit_velocity_avg": 91.5,
          "launch_angle_avg": 8.0,
          "whiff_percent": 34.7,
          "swing_percent": 47.9
        },
        "components": {
          "expected_quality": 0.2787,
          "regression_edge": -0.1714,
          "xwoba_edge": 0.0857,
          "xba_edge": -0.0857,
          "xslg_edge": 0.1,
          "barrel_edge": 0.5778,
          "hard_hit_edge": 1.7,
          "exit_velocity_edge": 1.16,
          "sweet_spot_edge": -0.25,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "694673",
        "player_name": "Abimelec Ortiz",
        "offense_factor": 1.0337,
        "quality_score": 0.4489,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "694673",
          "espn_id": 5194635,
          "player_name": "Abimelec Ortiz",
          "team": "WSH",
          "role": "batter",
          "espn_rank": 324,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 324,
            "gp_value": 22.0,
            "gp_rank": "486",
            "ab_value": 68.0,
            "ab_rank": "461",
            "r_value": 10.0,
            "r_rank": "427",
            "h_value": 15.0,
            "h_rank": "460",
            "avg_value": 0.2205882,
            "avg_rank": null,
            "2b_value": 2.0,
            "2b_rank": "466",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 5.0,
            "hr_rank": "289",
            "rbi_value": 10.0,
            "rbi_rank": "417",
            "tb_value": 32.0,
            "tb_rank": "2355",
            "bb_value": 4.0,
            "bb_rank": "475",
            "so_value": 17.0,
            "so_rank": "478",
            "sb_value": 0.0,
            "sb_rank": "421",
            "obp_value": 0.2638888,
            "obp_rank": "-",
            "slg_value": 0.4705882,
            "slg_rank": "-",
            "ops_value": 0.734477,
            "ops_rank": null,
            "war_value": 0.25,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 49.0,
          "k_percent": 23.6,
          "bb_percent": 5.6,
          "woba": 0.315,
          "xwoba": 0.339,
          "xba": 0.251,
          "xslg": 0.505,
          "sweet_spot_percent": 43.1,
          "barrel_batted_rate": 11.8,
          "hard_hit_percent": 41.2,
          "exit_velocity_avg": 90.2,
          "launch_angle_avg": 10.4,
          "whiff_percent": 23.3,
          "swing_percent": 50.6
        },
        "components": {
          "expected_quality": 1.0483,
          "regression_edge": 0.6857,
          "xwoba_edge": 1.0571,
          "xba_edge": 0.4286,
          "xslg_edge": 1.9714,
          "barrel_edge": 1.1333,
          "hard_hit_edge": 0.4857,
          "exit_velocity_edge": 0.64,
          "sweet_spot_edge": 1.6333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "683083",
        "player_name": "Nasim Nuñez",
        "offense_factor": 0.9317,
        "quality_score": -0.9104,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "683083",
          "espn_id": 4728688,
          "player_name": "Nasim Nunez",
          "team": "WSH",
          "role": "batter",
          "espn_rank": 114,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 114,
            "gp_value": 123.0,
            "gp_rank": "83",
            "ab_value": 382.0,
            "ab_rank": "125",
            "r_value": 48.0,
            "r_rank": "143",
            "h_value": 83.0,
            "h_rank": "155",
            "avg_value": 0.2172774,
            "avg_rank": 140.0,
            "2b_value": 4.0,
            "2b_rank": "393",
            "3b_value": 3.0,
            "3b_rank": "32",
            "hr_value": 1.0,
            "hr_rank": "449",
            "rbi_value": 34.0,
            "rbi_rank": "216",
            "tb_value": 96.0,
            "tb_rank": "1959",
            "bb_value": 45.0,
            "bb_rank": "83",
            "so_value": 90.0,
            "so_rank": "125",
            "sb_value": 42.0,
            "sb_rank": "1",
            "obp_value": 0.3,
            "obp_rank": "128",
            "slg_value": 0.2513089,
            "slg_rank": "153",
            "ops_value": 0.5513089,
            "ops_rank": 25.0,
            "war_value": 1.85,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 404.0,
          "k_percent": 20.6,
          "bb_percent": 10.3,
          "woba": 0.258,
          "xwoba": 0.266,
          "xba": 0.22,
          "xslg": 0.268,
          "sweet_spot_percent": 29.2,
          "barrel_batted_rate": 0.3,
          "hard_hit_percent": 21.9,
          "exit_velocity_avg": 85.0,
          "launch_angle_avg": 8.7,
          "whiff_percent": 20.7,
          "swing_percent": 46.9
        },
        "components": {
          "expected_quality": -1.0958,
          "regression_edge": 0.2286,
          "xwoba_edge": -1.0286,
          "xba_edge": -0.4571,
          "xslg_edge": -1.4143,
          "barrel_edge": -1.4222,
          "hard_hit_edge": -2.2714,
          "exit_velocity_edge": -1.44,
          "sweet_spot_edge": -0.6833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "695734",
        "player_name": "Daylen Lile",
        "offense_factor": 1.0348,
        "quality_score": 0.4636,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "695734",
          "espn_id": 4917889,
          "player_name": "Daylen Lile",
          "team": "WSH",
          "role": "batter",
          "espn_rank": 134,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 134,
            "gp_value": 132.0,
            "gp_rank": "7",
            "ab_value": 507.0,
            "ab_rank": "11",
            "r_value": 67.0,
            "r_rank": "51",
            "h_value": 126.0,
            "h_rank": "38",
            "avg_value": 0.2485207,
            "avg_rank": 85.0,
            "2b_value": 25.0,
            "2b_rank": "37",
            "3b_value": 5.0,
            "3b_rank": "12",
            "hr_value": 17.0,
            "hr_rank": "73",
            "rbi_value": 72.0,
            "rbi_rank": "32",
            "tb_value": 212.0,
            "tb_rank": "318",
            "bb_value": 31.0,
            "bb_rank": "175",
            "so_value": 106.0,
            "so_rank": "77",
            "sb_value": 13.0,
            "sb_rank": "57",
            "obp_value": 0.2974452,
            "obp_rank": "133",
            "slg_value": 0.4181459,
            "slg_rank": "84",
            "ops_value": 0.7155911,
            "ops_rank": 49.0,
            "war_value": 1.62,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 514.0,
          "k_percent": 19.3,
          "bb_percent": 5.7,
          "woba": 0.311,
          "xwoba": 0.321,
          "xba": 0.258,
          "xslg": 0.431,
          "sweet_spot_percent": 38.0,
          "barrel_batted_rate": 8.7,
          "hard_hit_percent": 37.1,
          "exit_velocity_avg": 88.5,
          "launch_angle_avg": 18.5,
          "whiff_percent": 23.6,
          "swing_percent": 56.1
        },
        "components": {
          "expected_quality": 0.4926,
          "regression_edge": 0.2857,
          "xwoba_edge": 0.5429,
          "xba_edge": 0.6286,
          "xslg_edge": 0.9143,
          "barrel_edge": 0.4444,
          "hard_hit_edge": -0.1,
          "exit_velocity_edge": -0.04,
          "sweet_spot_edge": 0.7833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "686611",
        "player_name": "Dylan Crews",
        "offense_factor": 1.0439,
        "quality_score": 0.5857,
        "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": 338,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 338,
            "gp_value": 82.0,
            "gp_rank": "251",
            "ab_value": 300.0,
            "ab_rank": "203",
            "r_value": 41.0,
            "r_rank": "175",
            "h_value": 64.0,
            "h_rank": "231",
            "avg_value": 0.2133333,
            "avg_rank": null,
            "2b_value": 13.0,
            "2b_rank": "204",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 10.0,
            "hr_rank": "163",
            "rbi_value": 30.0,
            "rbi_rank": "248",
            "tb_value": 107.0,
            "tb_rank": "1486",
            "bb_value": 24.0,
            "bb_rank": "224",
            "so_value": 78.0,
            "so_rank": "165",
            "sb_value": 8.0,
            "sb_rank": "107",
            "obp_value": 0.287009,
            "obp_rank": "-",
            "slg_value": 0.3566666,
            "slg_rank": "-",
            "ops_value": 0.6436756,
            "ops_rank": null,
            "war_value": 0.19,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 301.0,
          "k_percent": 23.6,
          "bb_percent": 7.3,
          "woba": 0.288,
          "xwoba": 0.32,
          "xba": 0.238,
          "xslg": 0.422,
          "sweet_spot_percent": 33.8,
          "barrel_batted_rate": 10.0,
          "hard_hit_percent": 43.7,
          "exit_velocity_avg": 90.6,
          "launch_angle_avg": 13.4,
          "whiff_percent": 30.6,
          "swing_percent": 51.6
        },
        "components": {
          "expected_quality": 0.5323,
          "regression_edge": 0.9143,
          "xwoba_edge": 0.5143,
          "xba_edge": 0.0571,
          "xslg_edge": 0.7857,
          "barrel_edge": 0.7333,
          "hard_hit_edge": 0.8429,
          "exit_velocity_edge": 0.8,
          "sweet_spot_edge": 0.0833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "C",
        "player_id": "695670",
        "player_name": "Harry Ford",
        "offense_factor": 0.9655,
        "quality_score": -0.4606,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "695670",
          "espn_id": 4872682,
          "player_name": "Harry Ford",
          "team": "WSH",
          "role": "batter",
          "espn_rank": 317,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 317,
            "gp_value": 21.0,
            "gp_rank": "491",
            "ab_value": 58.0,
            "ab_rank": "479",
            "r_value": 9.0,
            "r_rank": "437",
            "h_value": 11.0,
            "h_rank": "489",
            "avg_value": 0.1896551,
            "avg_rank": null,
            "2b_value": 5.0,
            "2b_rank": "365",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 2.0,
            "hr_rank": "396",
            "rbi_value": 7.0,
            "rbi_rank": "455",
            "tb_value": 22.0,
            "tb_rank": "2604",
            "bb_value": 9.0,
            "bb_rank": "395",
            "so_value": 19.0,
            "so_rank": "462",
            "sb_value": 1.0,
            "sb_rank": "315",
            "obp_value": 0.3088235,
            "obp_rank": "-",
            "slg_value": 0.3793103,
            "slg_rank": "-",
            "ops_value": 0.6881338,
            "ops_rank": null,
            "war_value": 0.27,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 60.0,
          "k_percent": 27.9,
          "bb_percent": 13.2,
          "woba": 0.308,
          "xwoba": 0.261,
          "xba": 0.156,
          "xslg": 0.28,
          "sweet_spot_percent": 30.8,
          "barrel_batted_rate": 10.3,
          "hard_hit_percent": 30.8,
          "exit_velocity_avg": 82.9,
          "launch_angle_avg": 13.2,
          "whiff_percent": 27.4,
          "swing_percent": 40.9
        },
        "components": {
          "expected_quality": -0.9715,
          "regression_edge": -1.3429,
          "xwoba_edge": -1.1714,
          "xba_edge": -2.2857,
          "xslg_edge": -1.2429,
          "barrel_edge": 0.8,
          "hard_hit_edge": -1.0,
          "exit_velocity_edge": -2.28,
          "sweet_spot_edge": -0.4167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "696285",
        "player_name": "Jacob Young",
        "offense_factor": 1.0172,
        "quality_score": 0.2291,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "696285",
          "espn_id": 4414210,
          "player_name": "Jacob Young",
          "team": "WSH",
          "role": "batter",
          "espn_rank": 110,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 110,
            "gp_value": 117.0,
            "gp_rank": "115",
            "ab_value": 359.0,
            "ab_rank": "142",
            "r_value": 48.0,
            "r_rank": "143",
            "h_value": 89.0,
            "h_rank": "140",
            "avg_value": 0.2479108,
            "avg_rank": null,
            "2b_value": 18.0,
            "2b_rank": "126",
            "3b_value": 3.0,
            "3b_rank": "32",
            "hr_value": 10.0,
            "hr_rank": "163",
            "rbi_value": 43.0,
            "rbi_rank": "160",
            "tb_value": 143.0,
            "tb_rank": "819",
            "bb_value": 27.0,
            "bb_rank": "203",
            "so_value": 68.0,
            "so_rank": "207",
            "sb_value": 15.0,
            "sb_rank": "50",
            "obp_value": 0.3131313,
            "obp_rank": "-",
            "slg_value": 0.3983286,
            "slg_rank": "-",
            "ops_value": 0.7114599,
            "ops_rank": null,
            "war_value": 1.9,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 368.0,
          "k_percent": 17.0,
          "bb_percent": 6.8,
          "woba": 0.314,
          "xwoba": 0.318,
          "xba": 0.26,
          "xslg": 0.393,
          "sweet_spot_percent": 36.7,
          "barrel_batted_rate": 6.4,
          "hard_hit_percent": 32.0,
          "exit_velocity_avg": 88.0,
          "launch_angle_avg": 11.7,
          "whiff_percent": 21.4,
          "swing_percent": 43.5
        },
        "components": {
          "expected_quality": 0.2478,
          "regression_edge": 0.1143,
          "xwoba_edge": 0.4571,
          "xba_edge": 0.6857,
          "xslg_edge": 0.3714,
          "barrel_edge": -0.0667,
          "hard_hit_edge": -0.8286,
          "exit_velocity_edge": -0.24,
          "sweet_spot_edge": 0.5667,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0022,
    "raw_average_factor": 1.0022,
    "team_espn_average_rank": 262.22,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "CF",
        "player_id": "694249",
        "player_name": "Cole Carrigg",
        "offense_factor": 0.997,
        "quality_score": -0.0394,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "694249",
          "espn_id": 5149102,
          "player_name": "Cole Carrigg",
          "team": "COL",
          "role": "batter",
          "espn_rank": 169,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 169,
            "gp_value": 63.0,
            "gp_rank": "331",
            "ab_value": 213.0,
            "ab_rank": "283",
            "r_value": 35.0,
            "r_rank": "217",
            "h_value": 57.0,
            "h_rank": "251",
            "avg_value": 0.2676056,
            "avg_rank": null,
            "2b_value": 17.0,
            "2b_rank": "139",
            "3b_value": 3.0,
            "3b_rank": "32",
            "hr_value": 5.0,
            "hr_rank": "289",
            "rbi_value": 34.0,
            "rbi_rank": "216",
            "tb_value": 95.0,
            "tb_rank": "1321",
            "bb_value": 26.0,
            "bb_rank": "208",
            "so_value": 55.0,
            "so_rank": "262",
            "sb_value": 7.0,
            "sb_rank": "122",
            "obp_value": 0.3522267,
            "obp_rank": "-",
            "slg_value": 0.4460093,
            "slg_rank": "-",
            "ops_value": 0.798236,
            "ops_rank": null,
            "war_value": 1.26,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 229.0,
          "k_percent": 22.2,
          "bb_percent": 10.5,
          "woba": 0.345,
          "xwoba": 0.318,
          "xba": 0.251,
          "xslg": 0.374,
          "sweet_spot_percent": 36.2,
          "barrel_batted_rate": 4.3,
          "hard_hit_percent": 31.9,
          "exit_velocity_avg": 86.5,
          "launch_angle_avg": 16.4,
          "whiff_percent": 24.6,
          "swing_percent": 51.6
        },
        "components": {
          "expected_quality": 0.0798,
          "regression_edge": -0.7714,
          "xwoba_edge": 0.4571,
          "xba_edge": 0.4286,
          "xslg_edge": 0.1,
          "barrel_edge": -0.5333,
          "hard_hit_edge": -0.8429,
          "exit_velocity_edge": -0.84,
          "sweet_spot_edge": 0.4833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "650489",
        "player_name": "Willi Castro",
        "offense_factor": 1.0036,
        "quality_score": 0.0479,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "650489",
          "espn_id": 34230,
          "player_name": "Willi Castro",
          "team": "COL",
          "role": "batter",
          "espn_rank": 149,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 149,
            "gp_value": 114.0,
            "gp_rank": "128",
            "ab_value": 406.0,
            "ab_rank": "109",
            "r_value": 63.0,
            "r_rank": "71",
            "h_value": 107.0,
            "h_rank": "92",
            "avg_value": 0.2635467,
            "avg_rank": 55.0,
            "2b_value": 20.0,
            "2b_rank": "92",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 15.0,
            "hr_rank": "104",
            "rbi_value": 54.0,
            "rbi_rank": "97",
            "tb_value": 174.0,
            "tb_rank": "752",
            "bb_value": 37.0,
            "bb_rank": "127",
            "so_value": 122.0,
            "so_rank": "46",
            "sb_value": 9.0,
            "sb_rank": "90",
            "obp_value": 0.3311111,
            "obp_rank": "75",
            "slg_value": 0.4285714,
            "slg_rank": "68",
            "ops_value": 0.7596825,
            "ops_rank": 7.0,
            "war_value": 1.43,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 426.0,
          "k_percent": 27.1,
          "bb_percent": 8.2,
          "woba": 0.334,
          "xwoba": 0.309,
          "xba": 0.235,
          "xslg": 0.396,
          "sweet_spot_percent": 31.5,
          "barrel_batted_rate": 8.5,
          "hard_hit_percent": 40.9,
          "exit_velocity_avg": 87.8,
          "launch_angle_avg": 18.5,
          "whiff_percent": 30.5,
          "swing_percent": 53.8
        },
        "components": {
          "expected_quality": 0.172,
          "regression_edge": -0.7143,
          "xwoba_edge": 0.2,
          "xba_edge": -0.0286,
          "xslg_edge": 0.4143,
          "barrel_edge": 0.4,
          "hard_hit_edge": 0.4429,
          "exit_velocity_edge": -0.32,
          "sweet_spot_edge": -0.3,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "666160",
        "player_name": "Mickey Moniak",
        "offense_factor": 0.9843,
        "quality_score": -0.2094,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "666160",
          "espn_id": 36181,
          "player_name": "Mickey Moniak",
          "team": "COL",
          "role": "batter",
          "espn_rank": 276,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 276,
            "gp_value": 93.0,
            "gp_rank": "204",
            "ab_value": 323.0,
            "ab_rank": "177",
            "r_value": 44.0,
            "r_rank": "163",
            "h_value": 83.0,
            "h_rank": "155",
            "avg_value": 0.2569659,
            "avg_rank": null,
            "2b_value": 15.0,
            "2b_rank": "171",
            "3b_value": 4.0,
            "3b_rank": "17",
            "hr_value": 21.0,
            "hr_rank": "37",
            "rbi_value": 60.0,
            "rbi_rank": "71",
            "tb_value": 169.0,
            "tb_rank": "471",
            "bb_value": 19.0,
            "bb_rank": "273",
            "so_value": 91.0,
            "so_rank": "122",
            "sb_value": 1.0,
            "sb_rank": "315",
            "obp_value": 0.2982954,
            "obp_rank": "-",
            "slg_value": 0.5232198,
            "slg_rank": "-",
            "ops_value": 0.8215152,
            "ops_rank": null,
            "war_value": 0.51,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 328.0,
          "k_percent": 25.9,
          "bb_percent": 5.4,
          "woba": 0.347,
          "xwoba": 0.288,
          "xba": 0.217,
          "xslg": 0.405,
          "sweet_spot_percent": 30.5,
          "barrel_batted_rate": 10.0,
          "hard_hit_percent": 42.3,
          "exit_velocity_avg": 89.7,
          "launch_angle_avg": 22.3,
          "whiff_percent": 28.7,
          "swing_percent": 57.3
        },
        "components": {
          "expected_quality": 0.0309,
          "regression_edge": -1.6857,
          "xwoba_edge": -0.4,
          "xba_edge": -0.5429,
          "xslg_edge": 0.5429,
          "barrel_edge": 0.7333,
          "hard_hit_edge": 0.6429,
          "exit_velocity_edge": 0.44,
          "sweet_spot_edge": -0.4667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "2B",
        "player_id": "681393",
        "player_name": "Connor Norby",
        "offense_factor": 0.977,
        "quality_score": -0.3067,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "681393",
          "espn_id": 4417606,
          "player_name": "Connor Norby",
          "team": "COL",
          "role": "batter",
          "espn_rank": 312,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 312,
            "gp_value": 78.0,
            "gp_rank": "272",
            "ab_value": 238.0,
            "ab_rank": "255",
            "r_value": 23.0,
            "r_rank": "305",
            "h_value": 52.0,
            "h_rank": "270",
            "avg_value": 0.2184873,
            "avg_rank": null,
            "2b_value": 17.0,
            "2b_rank": "139",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 5.0,
            "hr_rank": "289",
            "rbi_value": 20.0,
            "rbi_rank": "327",
            "tb_value": 84.0,
            "tb_rank": "1838",
            "bb_value": 30.0,
            "bb_rank": "183",
            "so_value": 84.0,
            "so_rank": "140",
            "sb_value": 8.0,
            "sb_rank": "107",
            "obp_value": 0.3249097,
            "obp_rank": "-",
            "slg_value": 0.3529411,
            "slg_rank": "-",
            "ops_value": 0.6778508,
            "ops_rank": null,
            "war_value": 0.29,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 256.0,
          "k_percent": 30.3,
          "bb_percent": 10.8,
          "woba": 0.307,
          "xwoba": 0.293,
          "xba": 0.2,
          "xslg": 0.338,
          "sweet_spot_percent": 32.9,
          "barrel_batted_rate": 7.1,
          "hard_hit_percent": 38.1,
          "exit_velocity_avg": 87.6,
          "launch_angle_avg": 19.1,
          "whiff_percent": 31.9,
          "swing_percent": 50.0
        },
        "components": {
          "expected_quality": -0.2915,
          "regression_edge": -0.4,
          "xwoba_edge": -0.2571,
          "xba_edge": -1.0286,
          "xslg_edge": -0.4143,
          "barrel_edge": 0.0889,
          "hard_hit_edge": 0.0429,
          "exit_velocity_edge": -0.4,
          "sweet_spot_edge": -0.0667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "687859",
        "player_name": "Troy Johnston",
        "offense_factor": 1.0273,
        "quality_score": 0.3633,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "687859",
          "espn_id": 4346111,
          "player_name": "Troy Johnston",
          "team": "COL",
          "role": "batter",
          "espn_rank": 540,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 540,
            "gp_value": 109.0,
            "gp_rank": "152",
            "ab_value": 340.0,
            "ab_rank": "165",
            "r_value": 36.0,
            "r_rank": "209",
            "h_value": 96.0,
            "h_rank": "124",
            "avg_value": 0.2823529,
            "avg_rank": null,
            "2b_value": 27.0,
            "2b_rank": "20",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 3.0,
            "hr_rank": "353",
            "rbi_value": 45.0,
            "rbi_rank": "147",
            "tb_value": 134.0,
            "tb_rank": "1211",
            "bb_value": 33.0,
            "bb_rank": "165",
            "so_value": 65.0,
            "so_rank": "217",
            "sb_value": 4.0,
            "sb_rank": "192",
            "obp_value": 0.3515625,
            "obp_rank": "-",
            "slg_value": 0.3941176,
            "slg_rank": "-",
            "ops_value": 0.7456801,
            "ops_rank": null,
            "war_value": -0.3,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 362.0,
          "k_percent": 16.9,
          "bb_percent": 8.6,
          "woba": 0.331,
          "xwoba": 0.328,
          "xba": 0.283,
          "xslg": 0.385,
          "sweet_spot_percent": 41.3,
          "barrel_batted_rate": 2.2,
          "hard_hit_percent": 37.0,
          "exit_velocity_avg": 89.6,
          "launch_angle_avg": 13.4,
          "whiff_percent": 24.0,
          "swing_percent": 52.0
        },
        "components": {
          "expected_quality": 0.4365,
          "regression_edge": -0.0857,
          "xwoba_edge": 0.7429,
          "xba_edge": 1.3429,
          "xslg_edge": 0.2571,
          "barrel_edge": -1.0,
          "hard_hit_edge": -0.1143,
          "exit_velocity_edge": 0.4,
          "sweet_spot_edge": 1.3333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "664983",
        "player_name": "Jake McCarthy",
        "offense_factor": 1.0024,
        "quality_score": 0.0322,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "664983",
          "espn_id": 41197,
          "player_name": "Jake McCarthy",
          "team": "COL",
          "role": "batter",
          "espn_rank": 157,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 157,
            "gp_value": 117.0,
            "gp_rank": "115",
            "ab_value": 424.0,
            "ab_rank": "97",
            "r_value": 63.0,
            "r_rank": "71",
            "h_value": 124.0,
            "h_rank": "44",
            "avg_value": 0.2924528,
            "avg_rank": 10.0,
            "2b_value": 26.0,
            "2b_rank": "27",
            "3b_value": 7.0,
            "3b_rank": "2",
            "hr_value": 13.0,
            "hr_rank": "123",
            "rbi_value": 68.0,
            "rbi_rank": "45",
            "tb_value": 203.0,
            "tb_rank": "356",
            "bb_value": 24.0,
            "bb_rank": "224",
            "so_value": 78.0,
            "so_rank": "165",
            "sb_value": 24.0,
            "sb_rank": "13",
            "obp_value": 0.3333333,
            "obp_rank": "69",
            "slg_value": 0.4787735,
            "slg_rank": "31",
            "ops_value": 0.8121068,
            "ops_rank": 38.0,
            "war_value": 1.37,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 424.0,
          "k_percent": 16.9,
          "bb_percent": 5.2,
          "woba": 0.35,
          "xwoba": 0.319,
          "xba": 0.275,
          "xslg": 0.405,
          "sweet_spot_percent": 39.0,
          "barrel_batted_rate": 5.1,
          "hard_hit_percent": 27.7,
          "exit_velocity_avg": 85.0,
          "launch_angle_avg": 12.2,
          "whiff_percent": 22.1,
          "swing_percent": 57.4
        },
        "components": {
          "expected_quality": 0.1816,
          "regression_edge": -0.8857,
          "xwoba_edge": 0.4857,
          "xba_edge": 1.1143,
          "xslg_edge": 0.5429,
          "barrel_edge": -0.3556,
          "hard_hit_edge": -1.4429,
          "exit_velocity_edge": -1.44,
          "sweet_spot_edge": 0.95,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "678662",
        "player_name": "Ezequiel Tovar",
        "offense_factor": 0.986,
        "quality_score": -0.1861,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "678662",
          "espn_id": 4905919,
          "player_name": "Ezequiel Tovar",
          "team": "COL",
          "role": "batter",
          "espn_rank": 613,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 613,
            "gp_value": 121.0,
            "gp_rank": "97",
            "ab_value": 392.0,
            "ab_rank": "118",
            "r_value": 43.0,
            "r_rank": "169",
            "h_value": 82.0,
            "h_rank": "160",
            "avg_value": 0.2091836,
            "avg_rank": 148.0,
            "2b_value": 21.0,
            "2b_rank": "78",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 10.0,
            "hr_rank": "163",
            "rbi_value": 39.0,
            "rbi_rank": "182",
            "tb_value": 133.0,
            "tb_rank": "1289",
            "bb_value": 26.0,
            "bb_rank": "208",
            "so_value": 107.0,
            "so_rank": "73",
            "sb_value": 5.0,
            "sb_rank": "166",
            "obp_value": 0.2570093,
            "obp_rank": "153",
            "slg_value": 0.3392857,
            "slg_rank": "146",
            "ops_value": 0.596295,
            "ops_rank": 299.0,
            "war_value": -0.65,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 414.0,
          "k_percent": 24.9,
          "bb_percent": 6.1,
          "woba": 0.262,
          "xwoba": 0.281,
          "xba": 0.226,
          "xslg": 0.371,
          "sweet_spot_percent": 35.4,
          "barrel_batted_rate": 6.8,
          "hard_hit_percent": 33.7,
          "exit_velocity_avg": 87.4,
          "launch_angle_avg": 17.5,
          "whiff_percent": 29.0,
          "swing_percent": 61.8
        },
        "components": {
          "expected_quality": -0.3048,
          "regression_edge": 0.5429,
          "xwoba_edge": -0.6,
          "xba_edge": -0.2857,
          "xslg_edge": 0.0571,
          "barrel_edge": 0.0222,
          "hard_hit_edge": -0.5857,
          "exit_velocity_edge": -0.48,
          "sweet_spot_edge": 0.35,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "696100",
        "player_name": "Hunter Goodman",
        "offense_factor": 1.0516,
        "quality_score": 0.6875,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "696100",
          "espn_id": 4416591,
          "player_name": "Hunter Goodman",
          "team": "COL",
          "role": "batter",
          "espn_rank": 75,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 75,
            "gp_value": 112.0,
            "gp_rank": "137",
            "ab_value": 418.0,
            "ab_rank": "105",
            "r_value": 70.0,
            "r_rank": "45",
            "h_value": 105.0,
            "h_rank": "96",
            "avg_value": 0.2511961,
            "avg_rank": 82.0,
            "2b_value": 16.0,
            "2b_rank": "155",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 35.0,
            "hr_rank": "4",
            "rbi_value": 70.0,
            "rbi_rank": "39",
            "tb_value": 228.0,
            "tb_rank": "519",
            "bb_value": 39.0,
            "bb_rank": "115",
            "so_value": 153.0,
            "so_rank": "10",
            "sb_value": 5.0,
            "sb_rank": "166",
            "obp_value": 0.3189655,
            "obp_rank": "90",
            "slg_value": 0.5454545,
            "slg_rank": "5",
            "ops_value": 0.86442,
            "ops_rank": 85.0,
            "war_value": 2.51,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 453.0,
          "k_percent": 33.0,
          "bb_percent": 8.4,
          "woba": 0.366,
          "xwoba": 0.331,
          "xba": 0.232,
          "xslg": 0.472,
          "sweet_spot_percent": 34.3,
          "barrel_batted_rate": 16.9,
          "hard_hit_percent": 45.9,
          "exit_velocity_avg": 90.5,
          "launch_angle_avg": 18.8,
          "whiff_percent": 35.6,
          "swing_percent": 53.9
        },
        "components": {
          "expected_quality": 0.9622,
          "regression_edge": -1.0,
          "xwoba_edge": 0.8286,
          "xba_edge": -0.1143,
          "xslg_edge": 1.5,
          "barrel_edge": 2.2667,
          "hard_hit_edge": 1.1571,
          "exit_velocity_edge": 0.76,
          "sweet_spot_edge": 0.1667,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "1B",
        "player_id": "681198",
        "player_name": "TJ Rumfield",
        "offense_factor": 0.9907,
        "quality_score": -0.1242,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "681198",
          "espn_id": 5014349,
          "player_name": "TJ Rumfield",
          "team": "COL",
          "role": "batter",
          "espn_rank": 69,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 69,
            "gp_value": 128.0,
            "gp_rank": "37",
            "ab_value": 451.0,
            "ab_rank": "77",
            "r_value": 54.0,
            "r_rank": "109",
            "h_value": 129.0,
            "h_rank": "32",
            "avg_value": 0.286031,
            "avg_rank": 18.0,
            "2b_value": 25.0,
            "2b_rank": "37",
            "3b_value": 2.0,
            "3b_rank": "64",
            "hr_value": 13.0,
            "hr_rank": "123",
            "rbi_value": 60.0,
            "rbi_rank": "71",
            "tb_value": 197.0,
            "tb_rank": "566",
            "bb_value": 53.0,
            "bb_rank": "53",
            "so_value": 74.0,
            "so_rank": "181",
            "sb_value": 0.0,
            "sb_rank": "421",
            "obp_value": 0.3708737,
            "obp_rank": "15",
            "slg_value": 0.436807,
            "slg_rank": "59",
            "ops_value": 0.8076807,
            "ops_rank": 44.0,
            "war_value": 2.67,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 486.0,
          "k_percent": 14.4,
          "bb_percent": 10.3,
          "woba": 0.357,
          "xwoba": 0.321,
          "xba": 0.253,
          "xslg": 0.373,
          "sweet_spot_percent": 36.1,
          "barrel_batted_rate": 4.5,
          "hard_hit_percent": 26.9,
          "exit_velocity_avg": 83.8,
          "launch_angle_avg": 16.4,
          "whiff_percent": 20.1,
          "swing_percent": 50.3
        },
        "components": {
          "expected_quality": 0.023,
          "regression_edge": -1.0286,
          "xwoba_edge": 0.5429,
          "xba_edge": 0.4857,
          "xslg_edge": 0.0857,
          "barrel_edge": -0.4889,
          "hard_hit_edge": -1.5571,
          "exit_velocity_edge": -1.92,
          "sweet_spot_edge": 0.4667,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}

Savant Pitcher Quality

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

TeamPitcherAvailableESPN RankQualitySample WtRun PrevK FactorBB FactorHR FactorRegressionxwOBAwOBAK%BB%Whiff%Barrel%HardHit%
Away COLTrue5600.10690.64800.99090.96480.98570.9293positive_pitcher_regression0.28900.324018.908.1018.804.5030.10
Home WASTrue750-0.552011.04690.99141.01001.1589neutral0.35300.337022.409.7023.3011.7045

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away COLTrueNone8289.29217200000000-0.0315
Home WASTrueNone8287.25237600000000-0.1455
Run FactorValue
away_runs_vs_home_pitcher1.0262
home_runs_vs_away_pitcher0.9950
home_pitcher_starter_only_factor1.0469
away_pitcher_starter_only_factor0.9941
home_pitcher_workload_share0.5556
away_pitcher_workload_share0.5185
home_pitcher_quality_edge-0.3621
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "663623",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 313.0,
      "k_percent": 22.4,
      "bb_percent": 9.7,
      "woba": 0.337,
      "xwoba": 0.353,
      "sweet_spot_percent": 35.1,
      "barrel_batted_rate": 11.7,
      "hard_hit_percent": 45.0,
      "avg_best_speed": 77.3962,
      "avg_hyper_speed": 94.7037,
      "whiff_percent": 23.3,
      "swing_percent": 46.8
    },
    "league_medians": {
      "pa": 123.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.316,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.4,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.8,
      "avg_best_speed": 77.614,
      "avg_hyper_speed": 93.9187,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": -0.8396,
      "command_and_miss": -0.0943,
      "regression_edge": -0.4571,
      "xwoba_edge": -1.2,
      "barrel_edge": -1.0222,
      "hard_hit_edge": -1.0286,
      "whiff_edge": -0.2714,
      "bb_edge": -0.125,
      "pitch_design_score": -0.1455
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "663623",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 82,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 82,
        "pitch_usage": 0.0,
        "release_speed": 87.2489732816989,
        "release_spin_rate": 2375.958323028785,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 82,
          "pitch_usage": 0.0,
          "release_speed": 87.2489732816989,
          "release_spin_rate": 2375.958323028785,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.249,
        "release_spin_rate": 2375.9583,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.1455,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -1.0396,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -0.0
      },
      "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
    },
    "quality_score": -0.552,
    "sample_weight": 1.0,
    "run_prevention_factor": 1.0469,
    "strikeout_factor": 0.9914,
    "walk_factor": 1.01,
    "homer_factor": 1.1589,
    "woba_minus_xwoba": -0.016,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "663623",
      "espn_id": 41290,
      "player_name": "Jake Irvin",
      "team": "WSH",
      "role": "pitcher",
      "espn_rank": 750,
      "espn_total_ranked": 831,
      "metrics": {
        "espn_rank": 750,
        "gp_value": 16.0,
        "gp_rank": 419,
        "gs_value": 16.0,
        "gs_rank": 117,
        "qs_value": 0.0,
        "qs_rank": 203,
        "era_value": 5.8189,
        "era_rank": null,
        "w_value": 2.0,
        "w_rank": 293,
        "l_value": 8.0,
        "l_rank": 38,
        "sv_value": 0.0,
        "sv_rank": 241,
        "hld_value": 0.0,
        "hld_rank": 331,
        "ip_value": 77.1,
        "ip_rank": 148,
        "h_value": 72.0,
        "h_rank": 150,
        "er_value": 50.0,
        "er_rank": 84,
        "hr_value": 14.0,
        "hr_rank": 85,
        "bb_value": 33.0,
        "bb_rank": 119,
        "k_value": 76.0,
        "k_rank": 140,
        "k_per_9_value": 8.844828,
        "k_per_9_rank": 25.0,
        "whip_value": 1.3577,
        "whip_rank": null,
        "war_value": -0.49,
        "war_rank": null
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "687312",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 162.0,
      "k_percent": 18.9,
      "bb_percent": 8.1,
      "woba": 0.324,
      "xwoba": 0.289,
      "sweet_spot_percent": 34.6,
      "barrel_batted_rate": 4.5,
      "hard_hit_percent": 30.1,
      "avg_best_speed": 79.3812,
      "avg_hyper_speed": 92.7374,
      "whiff_percent": 18.8,
      "swing_percent": 47.0
    },
    "league_medians": {
      "pa": 123.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.316,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.4,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.8,
      "avg_best_speed": 77.614,
      "avg_hyper_speed": 93.9187,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.3361,
      "command_and_miss": -0.4643,
      "regression_edge": 1.0,
      "xwoba_edge": 0.6286,
      "barrel_edge": 0.5778,
      "hard_hit_edge": 1.1,
      "whiff_edge": -0.9143,
      "bb_edge": 0.275,
      "pitch_design_score": -0.0315
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "687312",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 82,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 82,
        "pitch_usage": 0.0,
        "release_speed": 89.28619381193431,
        "release_spin_rate": 2171.9113714304062,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 82,
          "pitch_usage": 0.0,
          "release_speed": 89.28619381193431,
          "release_spin_rate": 2171.9113714304062,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.2862,
        "release_spin_rate": 2171.9114,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "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.1069,
    "sample_weight": 0.648,
    "run_prevention_factor": 0.9909,
    "strikeout_factor": 0.9648,
    "walk_factor": 0.9857,
    "homer_factor": 0.9293,
    "woba_minus_xwoba": 0.035,
    "regression_flag": "positive_pitcher_regression",
    "espn_rank": {
      "available": true,
      "player_id": "687312",
      "espn_id": 4634930,
      "player_name": "Gabriel Hughes",
      "team": "COL",
      "role": "pitcher",
      "espn_rank": 560,
      "espn_total_ranked": 831,
      "metrics": {
        "espn_rank": 560,
        "gp_value": 9.0,
        "gp_rank": 517,
        "gs_value": 8.0,
        "gs_rank": 178,
        "qs_value": 1.0,
        "qs_rank": 173,
        "era_value": 6.539,
        "era_rank": null,
        "w_value": 0.0,
        "w_rank": 507,
        "l_value": 5.0,
        "l_rank": 123,
        "sv_value": 1.0,
        "sv_rank": 128,
        "hld_value": 0.0,
        "hld_rank": 331,
        "ip_value": 42.2,
        "ip_rank": 325,
        "h_value": 43.0,
        "h_rank": 267,
        "er_value": 31.0,
        "er_rank": 172,
        "hr_value": 4.0,
        "hr_rank": 347,
        "bb_value": 15.0,
        "bb_rank": 352,
        "k_value": 35.0,
        "k_rank": 361,
        "k_per_9_value": 7.3828125,
        "k_per_9_rank": 29.0,
        "whip_value": 1.3593,
        "whip_rank": null,
        "war_value": -0.08,
        "war_rank": null
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 1.0262,
    "home_runs_vs_away_pitcher": 0.995,
    "home_pitcher_starter_only_factor": 1.0469,
    "away_pitcher_starter_only_factor": 0.9941,
    "home_pitcher_workload_share": 0.5556,
    "away_pitcher_workload_share": 0.5185,
    "home_pitcher_quality_edge": -0.3621
  },
  "score_before": {
    "away_runs": 5.3334,
    "home_runs": 4.9834
  },
  "score_after": {
    "away_runs": 5.4729,
    "home_runs": 4.9585,
    "home_win_probability": 0.4498
  },
  "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 COL2-80.2004.107.20-311Waverageweak
Home WAS2-80.2003.303.50-21Lcoldaverage

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away COL51-810.386-144-1.091True
Home WAS62-720.463180.134True
Signal--1.2250.981applied=True

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-08-25COL @ WAS3 - 1COL2close
2026-08-24COL @ WAS3 - 13WAS10blowout
2026-07-22WAS @ COL8 - 0WAS8blowout
2026-07-21WAS @ COL7 - 8COL1close
2026-07-20WAS @ COL7 - 3WAS4blowout

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target COL--4----
Game target WAS--6----
Player finalized COL35841439
Player finalized WAS31851539
Player model fractional COL32.507.744.061.184.032.888.24
Player model fractional WAS30.087.054.451.134.282.757.55
Simulation box COL369404311
Simulation box WAS29660666

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 COLStarterGabriel Hughes4.1042437.041.43True
Away COLSetup ManBrennan Bernardino1.1012123.851.40True
Away COLCloserJordan Romano1.1011113.141.16True
Away COLMiddle Reliever (High Leverage)Jimmy Herget101003.251.16True
Home WASStarterJake Irvin4.2036536.081.39True
Home WASMiddle Reliever (High Leverage)Will Dion1.1001002.580.96True
Home WASCloserClayton Beeter111204.071.87True
Home WASSetup ManOrlando Ribalta101002.961.08True
Home WASMiddle Reliever (High Leverage)Jake Bird102203.971.12True
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
awayCOLbatter1BTJ Rumfieldworse113829predicted_SO2.4160boostworse
homeWASbatter1BAbimelec Ortizworse116556predicted_SO2.2270boostworse
homeWASbatterLFDaylen Lileworse93645predicted_AB-2.0700deboostworse
awayCOLbatterRFMickey Moniakworse1129110predicted_SO2.0110boostworse
homeWASbatter2BJosé Tenadeboosted83544predicted_RBI1.7630boostbetter
awayCOLbatterSSEzequiel Tovarworse114756predicted_H1.7100boostbetter
awayCOLbatterCFCole Carriggboosted127566predicted_RBI1.4330boostbetter
homeWASbatterSSNasim Nuñezworse92718predicted_SO1.2310boostworse
awayCOLbatter2BConnor Norbyworse102837predicted_SO-1.0910deboostbetter
awayCOLbatter3BWilli Castrobetter95463predicted_SO-1.0800deboostbetter
homeWASbatterCHarry Fordbetter106473predicted_AB-1.0530deboostworse
homeWASbatterDHCJ Abramsdeboosted104655predicted_SO-1.0080deboostbetter
awayCOLbatterCHunter Goodmanworse113829predicted_H-1.0000deboostworse
awayCOLpitcherStarterGabriel Hughesworse32103predicted_ER1.0000boostworse
awayCOLpitcherSetup ManBrennan Bernardinobetter21120predicted_ER-1.0000deboostbetter
awayCOLpitcherCloserJordan Romanobetter21120predicted_H-1.0000deboostbetter
homeWASpitcherStarterJake Irvinworse32103predicted_ER1.0000boostworse
homeWASpitcherMiddle Reliever (High Leverage)Jake Birdbetter31230predicted_ER-1.0000deboostbetter
homeWASbatterRFDylan Crewsworse101919predicted_H-0.9400deboostworse
awayCOLbatterLFJake McCarthyworse126657predicted_2B0.7660boostbetter
homeWASbatter3BAndrés Chaparrobetter116574predicted_BB0.7240boostbetter
homeWASbatterCFJacob Youngworse114756predicted_RBI0.7200boostbetter
awayCOLpitcherMiddle Reliever (High Leverage)Jimmy Hergetbetter11010predicted_IP0.6667boostbetter
awayCOLbatterDHTroy Johnstonworse82635predicted_SO-0.6250deboostbetter
homeWASpitcherMiddle Reliever (High Leverage)Will Dionworse10101predicted_IP-0.2333deboostworse

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

Away Team: COL

Away Pitcher Deep Analysis

FieldValue
PitcherGabriel Hughes
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.1069
ESPN Rank560
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0315
Avg Velo89.2862
Avg Spin2171.9114
HB Inches0
IVB Inches0
Release Extension0
Pre IP4.1000
Pre ER4
Pre H4
Pre BB3
Pre SO2
Season ERA6.5391
Season WHIP1.3594
Role Avg IP4.9580
Recent Avg IP4.6670
Last Start IP5
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "COL",
    "games": 132,
    "wins": 51,
    "losses": 81,
    "win_pct": 0.3864,
    "runs_scored": 623.0,
    "runs_allowed": 767.0,
    "run_differential": -144.0,
    "run_differential_per_game": -1.0909,
    "avg_runs_scored": 4.7197,
    "avg_runs_allowed": 5.8106,
    "offense_index": 1.0536,
    "defense_index": 0.7709,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 7.2,
      "run_differential": -31.0
    },
    "available": true,
    "quality_score": -0.3355
  },
  "opponent": {
    "team": "WAS",
    "games": 134,
    "wins": 62,
    "losses": 72,
    "win_pct": 0.4627,
    "runs_scored": 696.0,
    "runs_allowed": 678.0,
    "run_differential": 18.0,
    "run_differential_per_game": 0.1343,
    "avg_runs_scored": 5.194,
    "avg_runs_allowed": 5.0597,
    "offense_index": 1.1595,
    "defense_index": 0.8853,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 3.3,
      "avg_runs_allowed": 3.5,
      "run_differential": -2.0
    },
    "available": true,
    "quality_score": -0.1202
  },
  "edges": {
    "quality_edge": -0.2153,
    "offense_edge": 0.0536,
    "opponent_offense_edge": 0.1595,
    "defense_strength": -0.2291,
    "opponent_defense_weakness": 0.1147,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9781,
    "run_prevention": 1.0592,
    "strikeout": 0.9808
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "687312",
    "profile": {
      "available": true,
      "pitcher_id": "687312",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 162.0,
        "k_percent": 18.9,
        "bb_percent": 8.1,
        "woba": 0.324,
        "xwoba": 0.289,
        "sweet_spot_percent": 34.6,
        "barrel_batted_rate": 4.5,
        "hard_hit_percent": 30.1,
        "avg_best_speed": 79.3812,
        "avg_hyper_speed": 92.7374,
        "whiff_percent": 18.8,
        "swing_percent": 47.0
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.3361,
        "command_and_miss": -0.4643,
        "regression_edge": 1.0,
        "xwoba_edge": 0.6286,
        "barrel_edge": 0.5778,
        "hard_hit_edge": 1.1,
        "whiff_edge": -0.9143,
        "bb_edge": 0.275,
        "pitch_design_score": -0.0315
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "687312",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 82,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 82,
          "pitch_usage": 0.0,
          "release_speed": 89.28619381193431,
          "release_spin_rate": 2171.9113714304062,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 82,
            "pitch_usage": 0.0,
            "release_speed": 89.28619381193431,
            "release_spin_rate": 2171.9113714304062,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.2862,
          "release_spin_rate": 2171.9114,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.1069,
      "sample_weight": 0.648,
      "run_prevention_factor": 0.9909,
      "strikeout_factor": 0.9648,
      "walk_factor": 0.9857,
      "homer_factor": 0.9293,
      "woba_minus_xwoba": 0.035,
      "regression_flag": "positive_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "687312",
        "espn_id": 4634930,
        "player_name": "Gabriel Hughes",
        "team": "COL",
        "role": "pitcher",
        "espn_rank": 560,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 560,
          "gp_value": 9.0,
          "gp_rank": 517,
          "gs_value": 8.0,
          "gs_rank": 178,
          "qs_value": 1.0,
          "qs_rank": 173,
          "era_value": 6.539,
          "era_rank": null,
          "w_value": 0.0,
          "w_rank": 507,
          "l_value": 5.0,
          "l_rank": 123,
          "sv_value": 1.0,
          "sv_rank": 128,
          "hld_value": 0.0,
          "hld_rank": 331,
          "ip_value": 42.2,
          "ip_rank": 325,
          "h_value": 43.0,
          "h_rank": 267,
          "er_value": 31.0,
          "er_rank": 172,
          "hr_value": 4.0,
          "hr_rank": 347,
          "bb_value": 15.0,
          "bb_rank": 352,
          "k_value": 35.0,
          "k_rank": 361,
          "k_per_9_value": 7.3828125,
          "k_per_9_rank": 29.0,
          "whip_value": 1.3593,
          "whip_rank": null,
          "war_value": -0.08,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 4.0,
        "factor": 0.9941,
        "adjusted": 4
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 0.9941,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.9907,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 0.9542,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 4.0,
        "factor": 0.9772,
        "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": 42.2,
    "ER": 31,
    "H": 43,
    "BB": 15,
    "SO": 35,
    "HR": 4,
    "ERA": 6.5390625,
    "WHIP": 1.359375,
    "K9": 7.3828125,
    "HR9": 0.84375,
    "games_pitched": 9,
    "quality_starts": 1,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 9,
    "error_prone": false
  },
  "games_count": 9,
  "latest_game_date": "2026-08-22T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "687312",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 82,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 82,
    "pitch_usage": 0.0,
    "release_speed": 89.28619381193431,
    "release_spin_rate": 2171.9113714304062,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 82,
      "pitch_usage": 0.0,
      "release_speed": 89.28619381193431,
      "release_spin_rate": 2171.9113714304062,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.2862,
    "release_spin_rate": 2171.9114,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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.6164383561643836,
    "last_10": 0.3835616438356164
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6429,
    "prior_weight": 0.3571
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "687312",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 9,
  "reference_playing_time": 4.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 23.1,
        "ER": 25.0,
        "R": 25.0,
        "H": 27.0,
        "BB": 9.0,
        "SO": 16.0,
        "HR": 4.0,
        "BF": 108.0,
        "Pitches": 408.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 5.0,
        "R": 5.0,
        "H": 5.4,
        "BB": 1.8,
        "SO": 3.2,
        "HR": 0.8,
        "BF": 21.6,
        "Pitches": 81.6
      },
      "rates": {
        "ERA": 9.6429,
        "WHIP": 1.5429,
        "ER_per_IP": 1.07143,
        "H_per_IP": 1.15714,
        "BB_per_IP": 0.38571,
        "SO_per_IP": 0.68571,
        "HR_per_IP": 0.17143
      }
    },
    "last_10": {
      "games": 9,
      "totals": {
        "IP": 42.2,
        "ER": 31.0,
        "R": 31.0,
        "H": 43.0,
        "BB": 15.0,
        "SO": 35.0,
        "HR": 4.0,
        "BF": 185.0,
        "Pitches": 725.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 3.4444,
        "R": 3.4444,
        "H": 4.7778,
        "BB": 1.6667,
        "SO": 3.8889,
        "HR": 0.4444,
        "BF": 20.5556,
        "Pitches": 80.5556
      },
      "rates": {
        "ERA": 6.5391,
        "WHIP": 1.3594,
        "ER_per_IP": 0.72656,
        "H_per_IP": 1.00781,
        "BB_per_IP": 0.35156,
        "SO_per_IP": 0.82031,
        "HR_per_IP": 0.09375
      }
    },
    "season": {
      "games": 9,
      "totals": {
        "IP": 42.2,
        "ER": 31.0,
        "R": 31.0,
        "H": 43.0,
        "BB": 15.0,
        "SO": 35.0,
        "HR": 4.0,
        "BF": 185.0,
        "Pitches": 725.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 3.4444,
        "R": 3.4444,
        "H": 4.7778,
        "BB": 1.6667,
        "SO": 3.8889,
        "HR": 0.4444,
        "BF": 20.5556,
        "Pitches": 80.5556
      },
      "rates": {
        "ERA": 6.5391,
        "WHIP": 1.3594,
        "ER_per_IP": 0.72656,
        "H_per_IP": 1.00781,
        "BB_per_IP": 0.35156,
        "SO_per_IP": 0.82031,
        "HR_per_IP": 0.09375
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 4.2,
    "predicted_ER": 3.652,
    "predicted_H": 4.924,
    "predicted_BB": 1.731,
    "predicted_SO": 3.788,
    "predicted_HR": 0.669,
    "predicted_ERA": 7.0433,
    "predicted_WHIP": 1.4261
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5009,
  "form_weight": 0.4991,
  "form_reliability": 0.6429,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6429,
    "prior_weight": 0.3571
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 4.2,
      "form": 4.2,
      "final": 4.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 3.0,
      "form": 3.652,
      "final": 3.3254,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 3.0,
      "form": 4.924,
      "final": 3.9603,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 3.0,
      "form": 1.731,
      "final": 2.3666,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 3.788,
      "final": 2.8924,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.669,
      "final": 0.3339,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 7.0433,
      "final": 7.0433,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4261,
      "final": 1.4261,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherBrennan Bernardino
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.0278
ESPN Rank97
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2800
Avg Velo84.5872
Avg Spin2318.7377
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER1
Pre H1
Pre BB2
Pre SO2
Season ERA2.7170
Season WHIP1.1887
Role Avg IP0.8760
Recent Avg IP0.8670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "COL",
    "games": 132,
    "wins": 51,
    "losses": 81,
    "win_pct": 0.3864,
    "runs_scored": 623.0,
    "runs_allowed": 767.0,
    "run_differential": -144.0,
    "run_differential_per_game": -1.0909,
    "avg_runs_scored": 4.7197,
    "avg_runs_allowed": 5.8106,
    "offense_index": 1.0536,
    "defense_index": 0.7709,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 7.2,
      "run_differential": -31.0
    },
    "available": true,
    "quality_score": -0.3355
  },
  "opponent": {
    "team": "WAS",
    "games": 134,
    "wins": 62,
    "losses": 72,
    "win_pct": 0.4627,
    "runs_scored": 696.0,
    "runs_allowed": 678.0,
    "run_differential": 18.0,
    "run_differential_per_game": 0.1343,
    "avg_runs_scored": 5.194,
    "avg_runs_allowed": 5.0597,
    "offense_index": 1.1595,
    "defense_index": 0.8853,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 3.3,
      "avg_runs_allowed": 3.5,
      "run_differential": -2.0
    },
    "available": true,
    "quality_score": -0.1202
  },
  "edges": {
    "quality_edge": -0.2153,
    "offense_edge": 0.0536,
    "opponent_offense_edge": 0.1595,
    "defense_strength": -0.2291,
    "opponent_defense_weakness": 0.1147,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9781,
    "run_prevention": 1.0592,
    "strikeout": 0.9808
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "657514",
    "profile": {
      "available": true,
      "pitcher_id": "657514",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 204.0,
        "k_percent": 18.0,
        "bb_percent": 6.3,
        "woba": 0.298,
        "xwoba": 0.308,
        "sweet_spot_percent": 32.3,
        "barrel_batted_rate": 5.5,
        "hard_hit_percent": 32.3,
        "avg_best_speed": 76.3454,
        "avg_hyper_speed": 92.9506,
        "whiff_percent": 22.1,
        "swing_percent": 46.4
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.2759,
        "command_and_miss": -0.2671,
        "regression_edge": -0.2857,
        "xwoba_edge": 0.0857,
        "barrel_edge": 0.3556,
        "hard_hit_edge": 0.7857,
        "whiff_edge": -0.4429,
        "bb_edge": 0.725,
        "pitch_design_score": -0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "657514",
        "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": 84.58717916345407,
          "release_spin_rate": 2318.7377419572817,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 84.58717916345407,
            "release_spin_rate": 2318.7377419572817,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.5872,
          "release_spin_rate": 2318.7377,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.0278,
      "sample_weight": 0.816,
      "run_prevention_factor": 0.9976,
      "strikeout_factor": 0.9669,
      "walk_factor": 0.9527,
      "homer_factor": 0.949,
      "woba_minus_xwoba": -0.01,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "657514",
        "espn_id": 35876,
        "player_name": "Brennan Bernardino",
        "team": "COL",
        "role": "pitcher",
        "espn_rank": 97,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 97,
          "gp_value": 61.0,
          "gp_rank": 12,
          "gs_value": 2.0,
          "gs_rank": 265,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 2.7169,
          "era_rank": null,
          "w_value": 3.0,
          "w_rank": 226,
          "l_value": 3.0,
          "l_rank": 219,
          "sv_value": 1.0,
          "sv_rank": 128,
          "hld_value": 11.0,
          "hld_rank": 64,
          "ip_value": 53.0,
          "ip_rank": 250,
          "h_value": 49.0,
          "h_rank": 224,
          "er_value": 16.0,
          "er_rank": 363,
          "hr_value": 4.0,
          "hr_rank": 347,
          "bb_value": 14.0,
          "bb_rank": 370,
          "k_value": 40.0,
          "k_rank": 328,
          "k_per_9_value": 6.792453,
          "k_per_9_rank": 35.0,
          "whip_value": 1.1886,
          "whip_rank": null,
          "war_value": 1.62,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.998,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.998,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9614,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9584,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.973,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 8.1,
    "ER": 3,
    "H": 9,
    "BB": 2,
    "SO": 6,
    "HR": 2,
    "ERA": 3.2399999999999998,
    "WHIP": 1.3199999999999998,
    "K9": 6.4799999999999995,
    "HR9": 2.1599999999999997,
    "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-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "657514",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 14,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 14,
    "pitch_usage": 0.0,
    "release_speed": 84.58717916345407,
    "release_spin_rate": 2318.7377419572817,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 84.58717916345407,
      "release_spin_rate": 2318.7377419572817,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.5872,
    "release_spin_rate": 2318.7377,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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": 10.637,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6802,
    "prior_weight": 0.3198
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "657514",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 61,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 7.0,
        "BB": 0.0,
        "SO": 3.0,
        "HR": 1.0,
        "BF": 19.0,
        "Pitches": 72.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.4,
        "BB": 0.0,
        "SO": 0.6,
        "HR": 0.2,
        "BF": 3.8,
        "Pitches": 14.4
      },
      "rates": {
        "ERA": 4.1538,
        "WHIP": 1.6154,
        "ER_per_IP": 0.46154,
        "H_per_IP": 1.61538,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.69231,
        "HR_per_IP": 0.23077
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.1,
        "ER": 3.0,
        "R": 3.0,
        "H": 9.0,
        "BB": 2.0,
        "SO": 6.0,
        "HR": 2.0,
        "BF": 36.0,
        "Pitches": 147.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.3,
        "R": 0.3,
        "H": 0.9,
        "BB": 0.2,
        "SO": 0.6,
        "HR": 0.2,
        "BF": 3.6,
        "Pitches": 14.7
      },
      "rates": {
        "ERA": 3.24,
        "WHIP": 1.32,
        "ER_per_IP": 0.36,
        "H_per_IP": 1.08,
        "BB_per_IP": 0.24,
        "SO_per_IP": 0.72,
        "HR_per_IP": 0.24
      }
    },
    "season": {
      "games": 61,
      "totals": {
        "IP": 53.0,
        "ER": 16.0,
        "R": 21.0,
        "H": 49.0,
        "BB": 14.0,
        "SO": 40.0,
        "HR": 4.0,
        "BF": 222.0,
        "Pitches": 840.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2623,
        "R": 0.3443,
        "H": 0.8033,
        "BB": 0.2295,
        "SO": 0.6557,
        "HR": 0.0656,
        "BF": 3.6393,
        "Pitches": 13.7705
      },
      "rates": {
        "ERA": 2.717,
        "WHIP": 1.1887,
        "ER_per_IP": 0.30189,
        "H_per_IP": 0.92453,
        "BB_per_IP": 0.26415,
        "SO_per_IP": 0.75472,
        "HR_per_IP": 0.07547
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.394,
    "predicted_H": 1.095,
    "predicted_BB": 0.194,
    "predicted_SO": 0.726,
    "predicted_HR": 0.17,
    "predicted_ERA": 3.8535,
    "predicted_WHIP": 1.3998
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4851,
  "form_weight": 0.5149,
  "form_reliability": 0.6802,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.637,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6802,
    "prior_weight": 0.3198
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 0.394,
      "final": 1.1731,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 1.095,
      "final": 1.0489,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 0.194,
      "final": 1.0701,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 0.726,
      "final": 1.344,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.17,
      "final": 0.0875,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.8535,
      "final": 3.8535,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3998,
      "final": 1.3998,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherJordan Romano
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.1331
ESPN Rank294
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0669
Avg Velo88.6530
Avg Spin2218.6092
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER1
Pre H1
Pre BB1
Pre SO1
Season ERA3.8028
Season WHIP1.3521
Role Avg IP0.9100
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "COL",
    "games": 132,
    "wins": 51,
    "losses": 81,
    "win_pct": 0.3864,
    "runs_scored": 623.0,
    "runs_allowed": 767.0,
    "run_differential": -144.0,
    "run_differential_per_game": -1.0909,
    "avg_runs_scored": 4.7197,
    "avg_runs_allowed": 5.8106,
    "offense_index": 1.0536,
    "defense_index": 0.7709,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 7.2,
      "run_differential": -31.0
    },
    "available": true,
    "quality_score": -0.3355
  },
  "opponent": {
    "team": "WAS",
    "games": 134,
    "wins": 62,
    "losses": 72,
    "win_pct": 0.4627,
    "runs_scored": 696.0,
    "runs_allowed": 678.0,
    "run_differential": 18.0,
    "run_differential_per_game": 0.1343,
    "avg_runs_scored": 5.194,
    "avg_runs_allowed": 5.0597,
    "offense_index": 1.1595,
    "defense_index": 0.8853,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 3.3,
      "avg_runs_allowed": 3.5,
      "run_differential": -2.0
    },
    "available": true,
    "quality_score": -0.1202
  },
  "edges": {
    "quality_edge": -0.2153,
    "offense_edge": 0.0536,
    "opponent_offense_edge": 0.1595,
    "defense_strength": -0.2291,
    "opponent_defense_weakness": 0.1147,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9781,
    "run_prevention": 1.0592,
    "strikeout": 0.9808
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "605447",
    "profile": {
      "available": true,
      "pitcher_id": "605447",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 101.0,
        "k_percent": 24.8,
        "bb_percent": 12.8,
        "woba": 0.305,
        "xwoba": 0.296,
        "sweet_spot_percent": 34.3,
        "barrel_batted_rate": 3.0,
        "hard_hit_percent": 32.8,
        "avg_best_speed": 76.1393,
        "avg_hyper_speed": 92.9547,
        "whiff_percent": 27.2,
        "swing_percent": 43.7
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.4452,
        "command_and_miss": 0.1,
        "regression_edge": 0.2571,
        "xwoba_edge": 0.4286,
        "barrel_edge": 0.9111,
        "hard_hit_edge": 0.7143,
        "whiff_edge": 0.2857,
        "bb_edge": -0.9,
        "pitch_design_score": -0.0669
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "605447",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 14,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 14,
          "pitch_usage": 0.0,
          "release_speed": 88.65298244560856,
          "release_spin_rate": 2218.6091694522706,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 14,
            "pitch_usage": 0.0,
            "release_speed": 88.65298244560856,
            "release_spin_rate": 2218.6091694522706,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 88.653,
          "release_spin_rate": 2218.6092,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0669,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.478,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.1331,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9887,
      "strikeout_factor": 1.0123,
      "walk_factor": 1.0324,
      "homer_factor": 0.9486,
      "woba_minus_xwoba": 0.009,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "605447",
        "espn_id": 36380,
        "player_name": "Jordan Romano",
        "team": "COL",
        "role": "pitcher",
        "espn_rank": 294,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 294,
          "gp_value": 27.0,
          "gp_rank": 223,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 4.9436,
          "era_rank": null,
          "w_value": 0.0,
          "w_rank": 507,
          "l_value": 2.0,
          "l_rank": 301,
          "sv_value": 13.0,
          "sv_rank": 22,
          "hld_value": 1.0,
          "hld_rank": 252,
          "ip_value": 23.2,
          "ip_rank": 457,
          "h_value": 23.0,
          "h_rank": 454,
          "er_value": 13.0,
          "er_rank": 423,
          "hr_value": 1.0,
          "hr_rank": 584,
          "bb_value": 14.0,
          "bb_rank": 370,
          "k_value": 27.0,
          "k_rank": 418,
          "k_per_9_value": 10.267606,
          "k_per_9_rank": 24.0,
          "whip_value": 1.5633,
          "whip_rank": null,
          "war_value": 0.3,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9949,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9949,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0146,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9769,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0055,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 10.0,
    "ER": 3,
    "H": 8,
    "BB": 4,
    "SO": 7,
    "HR": 0,
    "ERA": 2.7,
    "WHIP": 1.2,
    "K9": 6.3,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "605447",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 14,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 14,
    "pitch_usage": 0.0,
    "release_speed": 88.65298244560856,
    "release_spin_rate": 2218.6091694522706,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 14,
      "pitch_usage": 0.0,
      "release_speed": 88.65298244560856,
      "release_spin_rate": 2218.6091694522706,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 88.653,
    "release_spin_rate": 2218.6092,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0669,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.478,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": 4.75,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4872,
    "prior_weight": 0.5128
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "605447",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 26,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 2.0,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 18.0,
        "Pitches": 70.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.2,
        "BB": 0.4,
        "SO": 0.2,
        "HR": 0.0,
        "BF": 3.6,
        "Pitches": 14.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.6,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.2,
        "BB_per_IP": 0.4,
        "SO_per_IP": 0.2,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 8.0,
        "BB": 4.0,
        "SO": 7.0,
        "HR": 0.0,
        "BF": 42.0,
        "Pitches": 167.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3,
        "R": 0.3,
        "H": 0.8,
        "BB": 0.4,
        "SO": 0.7,
        "HR": 0.0,
        "BF": 4.2,
        "Pitches": 16.7
      },
      "rates": {
        "ERA": 2.7,
        "WHIP": 1.2,
        "ER_per_IP": 0.3,
        "H_per_IP": 0.8,
        "BB_per_IP": 0.4,
        "SO_per_IP": 0.7,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 26,
      "totals": {
        "IP": 23.2,
        "ER": 10.0,
        "R": 10.0,
        "H": 20.0,
        "BB": 12.0,
        "SO": 27.0,
        "HR": 0.0,
        "BF": 104.0,
        "Pitches": 446.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3846,
        "R": 0.3846,
        "H": 0.7692,
        "BB": 0.4615,
        "SO": 1.0385,
        "HR": 0.0,
        "BF": 4.0,
        "Pitches": 17.1538
      },
      "rates": {
        "ERA": 3.8028,
        "WHIP": 1.3521,
        "ER_per_IP": 0.42254,
        "H_per_IP": 0.84507,
        "BB_per_IP": 0.50704,
        "SO_per_IP": 1.14085,
        "HR_per_IP": 0.0
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.349,
    "predicted_H": 0.762,
    "predicted_BB": 0.394,
    "predicted_SO": 0.759,
    "predicted_HR": 0.075,
    "predicted_ERA": 3.1418,
    "predicted_WHIP": 1.1564
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5667,
  "form_weight": 0.4333,
  "form_reliability": 0.4872,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.75,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4872,
    "prior_weight": 0.5128
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.349,
      "final": 0.7179,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.762,
      "final": 1.4635,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.394,
      "final": 0.7374,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.759,
      "final": 0.8956,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.075,
      "final": 0.0325,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.1418,
      "final": 3.1418,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1564,
      "final": 1.1564,
      "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
PitcherJimmy Herget
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.1530
ESPN Rank497
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2606
Avg Velo85.1949
Avg Spin2584.1621
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA5.6723
Season WHIP1.5378
Role Avg IP0.9910
Recent Avg IP1.1330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "COL",
    "games": 132,
    "wins": 51,
    "losses": 81,
    "win_pct": 0.3864,
    "runs_scored": 623.0,
    "runs_allowed": 767.0,
    "run_differential": -144.0,
    "run_differential_per_game": -1.0909,
    "avg_runs_scored": 4.7197,
    "avg_runs_allowed": 5.8106,
    "offense_index": 1.0536,
    "defense_index": 0.7709,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 7.2,
      "run_differential": -31.0
    },
    "available": true,
    "quality_score": -0.3355
  },
  "opponent": {
    "team": "WAS",
    "games": 134,
    "wins": 62,
    "losses": 72,
    "win_pct": 0.4627,
    "runs_scored": 696.0,
    "runs_allowed": 678.0,
    "run_differential": 18.0,
    "run_differential_per_game": 0.1343,
    "avg_runs_scored": 5.194,
    "avg_runs_allowed": 5.0597,
    "offense_index": 1.1595,
    "defense_index": 0.8853,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 3.3,
      "avg_runs_allowed": 3.5,
      "run_differential": -2.0
    },
    "available": true,
    "quality_score": -0.1202
  },
  "edges": {
    "quality_edge": -0.2153,
    "offense_edge": 0.0536,
    "opponent_offense_edge": 0.1595,
    "defense_strength": -0.2291,
    "opponent_defense_weakness": 0.1147,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9781,
    "run_prevention": 1.0592,
    "strikeout": 0.9808
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "623474",
    "profile": {
      "available": true,
      "pitcher_id": "623474",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 165.0,
        "k_percent": 20.2,
        "bb_percent": 12.4,
        "woba": 0.364,
        "xwoba": 0.327,
        "sweet_spot_percent": 33.9,
        "barrel_batted_rate": 9.3,
        "hard_hit_percent": 36.4,
        "avg_best_speed": 77.2041,
        "avg_hyper_speed": 94.1005,
        "whiff_percent": 25.7,
        "swing_percent": 46.4
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.449,
        "command_and_miss": -0.2507,
        "regression_edge": 1.0571,
        "xwoba_edge": -0.4571,
        "barrel_edge": -0.4889,
        "hard_hit_edge": 0.2,
        "whiff_edge": 0.0714,
        "bb_edge": -0.8,
        "pitch_design_score": -0.2606
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "623474",
        "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": 85.19488260839296,
          "release_spin_rate": 2584.1620913988945,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 85.19488260839296,
            "release_spin_rate": 2584.1620913988945,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 85.1949,
          "release_spin_rate": 2584.1621,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.2606,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -1.8612,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": -0.153,
      "sample_weight": 0.66,
      "run_prevention_factor": 1.013,
      "strikeout_factor": 0.9951,
      "walk_factor": 1.0422,
      "homer_factor": 1.0296,
      "woba_minus_xwoba": 0.037,
      "regression_flag": "positive_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "623474",
        "espn_id": 36093,
        "player_name": "Jimmy Herget",
        "team": "COL",
        "role": "pitcher",
        "espn_rank": 497,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 497,
          "gp_value": 41.0,
          "gp_rank": 140,
          "gs_value": 3.0,
          "gs_rank": 245,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 5.6722,
          "era_rank": null,
          "w_value": 0.0,
          "w_rank": 507,
          "l_value": 5.0,
          "l_rank": 123,
          "sv_value": 3.0,
          "sv_rank": 65,
          "hld_value": 8.0,
          "hld_rank": 102,
          "ip_value": 39.2,
          "ip_rank": 348,
          "h_value": 41.0,
          "h_rank": 288,
          "er_value": 25.0,
          "er_rank": 216,
          "hr_value": 6.0,
          "hr_rank": 251,
          "bb_value": 22.0,
          "bb_rank": 233,
          "k_value": 36.0,
          "k_rank": 355,
          "k_per_9_value": 8.168068,
          "k_per_9_rank": 27.0,
          "whip_value": 1.5882,
          "whip_rank": null,
          "war_value": -0.01,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 1.0086,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0086,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.0279,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0195,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9968,
        "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": 4,
    "BB": 6,
    "SO": 6,
    "HR": 0,
    "ERA": 1.741935483870968,
    "WHIP": 0.9677419354838711,
    "K9": 5.225806451612904,
    "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-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "623474",
  "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": 85.19488260839296,
    "release_spin_rate": 2584.1620913988945,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 85.19488260839296,
      "release_spin_rate": 2584.1620913988945,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 85.1949,
    "release_spin_rate": 2584.1621,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.2606,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.8612,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.961,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6142,
    "prior_weight": 0.3858
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "623474",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 40,
  "reference_playing_time": 0.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.2,
        "ER": 1.0,
        "R": 2.0,
        "H": 2.0,
        "BB": 3.0,
        "SO": 2.0,
        "HR": 0.0,
        "BF": 20.0,
        "Pitches": 83.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.4,
        "H": 0.4,
        "BB": 0.6,
        "SO": 0.4,
        "HR": 0.0,
        "BF": 4.0,
        "Pitches": 16.6
      },
      "rates": {
        "ERA": 1.5882,
        "WHIP": 0.8824,
        "ER_per_IP": 0.17647,
        "H_per_IP": 0.35294,
        "BB_per_IP": 0.52941,
        "SO_per_IP": 0.35294,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.1,
        "ER": 2.0,
        "R": 3.0,
        "H": 4.0,
        "BB": 6.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 38.0,
        "Pitches": 162.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.3,
        "H": 0.4,
        "BB": 0.6,
        "SO": 0.6,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 16.2
      },
      "rates": {
        "ERA": 1.7419,
        "WHIP": 0.9677,
        "ER_per_IP": 0.19355,
        "H_per_IP": 0.3871,
        "BB_per_IP": 0.58065,
        "SO_per_IP": 0.58065,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 40,
      "totals": {
        "IP": 39.2,
        "ER": 25.0,
        "R": 27.0,
        "H": 40.0,
        "BB": 21.0,
        "SO": 36.0,
        "HR": 6.0,
        "BF": 176.0,
        "Pitches": 719.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.625,
        "R": 0.675,
        "H": 1.0,
        "BB": 0.525,
        "SO": 0.9,
        "HR": 0.15,
        "BF": 4.4,
        "Pitches": 17.975
      },
      "rates": {
        "ERA": 5.6723,
        "WHIP": 1.5378,
        "ER_per_IP": 0.63025,
        "H_per_IP": 1.0084,
        "BB_per_IP": 0.52941,
        "SO_per_IP": 0.90756,
        "HR_per_IP": 0.15126
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.268,
    "predicted_H": 0.506,
    "predicted_BB": 0.355,
    "predicted_SO": 0.519,
    "predicted_HR": 0.056,
    "predicted_ERA": 3.2487,
    "predicted_WHIP": 1.1588
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.513,
  "form_weight": 0.487,
  "form_reliability": 0.6142,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 7.961,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6142,
    "prior_weight": 0.3858
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.1,
      "form": 0.2,
      "final": 0.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.268,
      "final": 0.1305,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.506,
      "final": 0.2464,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.355,
      "final": 0.1729,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.519,
      "final": 0.7658,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.056,
      "final": 0.0273,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.2487,
      "final": 3.2487,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1588,
      "final": 1.1588,
      "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."
}
Cole Carrigg (694249) · BATTER · CF · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 241
All-history rows before 20260827: 241
System season_avg: 0.2680
Data season_avg (2026 season-to-date): 0.2835
Diff (system - data): -0.0155
System opponent_avg: 0.2350
System season_avg diverges from 2026 season-to-date by -0.0155. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2830.0001.000Hitting_2B0.3110.000-0.3110.000
predicted_3B0.0501.0000.000Hitting_3B0.0580.0000.9421.000
predicted_AB3.5504.0004.000Hitting_AB3.6896.0000.311-2.000
predicted_AVG0.2680.2500.250Hitting_AVG0.2830.333-0.033-0.083
predicted_BB0.4331.0001.000Hitting_BB0.4610.0000.5391.000
predicted_CS-0.0000.000BaseRunning_CS0.0460.000-0.0460.000
predicted_H0.9501.0001.000Hitting_H1.0462.000-0.046-1.000
predicted_HR0.0830.0000.000Hitting_HR0.0871.000-0.087-1.000
predicted_OBP0.3470.4000.400Hitting_OBP0.3660.3330.0340.067
predicted_R0.5831.0001.000Hitting_R0.6682.0000.332-1.000
predicted_RBI0.5672.0001.000Hitting_RBI0.6602.0001.3400.000
predicted_SLG0.4460.7500.500Hitting_SLG0.4700.8330.280-0.083
predicted_SO0.9172.0001.000Hitting_SO0.8801.0001.1201.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectboosted
Changed Metrics12
Boosted Metrics7
Deboosted Metrics5
Better Metrics6
Worse Metrics6
Biggest Boostpredicted_RBI: 0.5670 -> 2.0000 (boost 1.4330, better)
Biggest Deboostpredicted_2B: 0.2830 -> 0.0000 (deboost -0.2830, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend82617predicted_SO: 0.9170 -> 1.0124 (boost 0.0954, worse)predicted_R: 0.5830 -> 0.4972 (deboost -0.0858, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73434predicted_RBI: 0.5135 -> 1.0000 (boost 0.4865, better)predicted_BB: 0.4128 -> 0.0000 (deboost -0.4128, worse)AB rounded to 4 (raw=3.61), rates preserved: AVG=0.247 HR/AB=0.020
5consistency_constraints10101-predicted_R: 0.4997 -> 0.0000 (deboost -0.4997, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation33030predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context41313predicted_OBP: 0.3240 -> 0.3290 (boost 0.0050, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference55041predicted_3B: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final10101-predicted_OBP: 0.3290 -> 0.3240 (deboost -0.0050, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "694249",
  "player_name": "Cole Carrigg",
  "position": "CF",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.283,
        "predicted_3B": 0.05,
        "predicted_AB": 3.55,
        "predicted_AVG": 0.268,
        "predicted_BB": 0.433,
        "predicted_H": 0.95,
        "predicted_HR": 0.083,
        "predicted_OBP": 0.347,
        "predicted_R": 0.583,
        "predicted_RBI": 0.567,
        "predicted_SLG": 0.446,
        "predicted_SO": 0.917
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2738,
        "predicted_3B": 0.0416,
        "predicted_AB": 3.6136,
        "predicted_AVG": 0.246,
        "predicted_BB": 0.4146,
        "predicted_H": 0.8864,
        "predicted_HBP": 0.057,
        "predicted_HR": 0.0734,
        "predicted_OBP": 0.3257,
        "predicted_R": 0.4972,
        "predicted_RBI": 0.5109,
        "predicted_SLG": 0.4063,
        "predicted_SO": 1.0124
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.283,
          "after": 0.2738,
          "delta": -0.0092,
          "percent_delta": -0.0325,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.05,
          "after": 0.0416,
          "delta": -0.0084,
          "percent_delta": -0.168,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.55,
          "after": 3.6136,
          "delta": 0.0636,
          "percent_delta": 0.0179,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.268,
          "after": 0.246,
          "delta": -0.022,
          "percent_delta": -0.0821,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.433,
          "after": 0.4146,
          "delta": -0.0184,
          "percent_delta": -0.0425,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.95,
          "after": 0.8864,
          "delta": -0.0636,
          "percent_delta": -0.0669,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.083,
          "after": 0.0734,
          "delta": -0.0096,
          "percent_delta": -0.1157,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.347,
          "after": 0.3257,
          "delta": -0.0213,
          "percent_delta": -0.0614,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.583,
          "after": 0.4972,
          "delta": -0.0858,
          "percent_delta": -0.1472,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.567,
          "after": 0.5109,
          "delta": -0.0561,
          "percent_delta": -0.0989,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.446,
          "after": 0.4063,
          "delta": -0.0397,
          "percent_delta": -0.089,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.917,
          "after": 1.0124,
          "delta": 0.0954,
          "percent_delta": 0.104,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.917,
          "after": 1.0124,
          "delta": 0.0954,
          "percent_delta": 0.104,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.583,
          "after": 0.4972,
          "delta": -0.0858,
          "percent_delta": -0.1472,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 60
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2738,
        "predicted_3B": 0.0416,
        "predicted_AB": 3.6136,
        "predicted_AVG": 0.2467,
        "predicted_BB": 0.4128,
        "predicted_H": 0.8916,
        "predicted_HBP": 0.057,
        "predicted_HR": 0.0739,
        "predicted_OBP": 0.324,
        "predicted_R": 0.4997,
        "predicted_RBI": 0.5135,
        "predicted_SLG": 0.4069,
        "predicted_SO": 1.0168
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2738,
          "after": 0.2738,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0416,
          "after": 0.0416,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6136,
          "after": 3.6136,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.2467,
          "delta": 0.0007,
          "percent_delta": 0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4146,
          "after": 0.4128,
          "delta": -0.0018,
          "percent_delta": -0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8864,
          "after": 0.8916,
          "delta": 0.0052,
          "percent_delta": 0.0059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.057,
          "after": 0.057,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0734,
          "after": 0.0739,
          "delta": 0.0005,
          "percent_delta": 0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3257,
          "after": 0.324,
          "delta": -0.0017,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4972,
          "after": 0.4997,
          "delta": 0.0025,
          "percent_delta": 0.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5109,
          "after": 0.5135,
          "delta": 0.0026,
          "percent_delta": 0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4063,
          "after": 0.4069,
          "delta": 0.0006,
          "percent_delta": 0.0015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0124,
          "after": 1.0168,
          "delta": 0.0044,
          "percent_delta": 0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.61), rates preserved: AVG=0.247 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.2738,
          "after": 0.0,
          "delta": -0.2738,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0416,
          "after": 0.0,
          "delta": -0.0416,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6136,
          "after": 4.0,
          "delta": 0.3864,
          "percent_delta": 0.1069,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4128,
          "after": 0.0,
          "delta": -0.4128,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8916,
          "after": 1.0,
          "delta": 0.1084,
          "percent_delta": 0.1216,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.057,
          "after": 0.0,
          "delta": -0.057,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0739,
          "after": 0.0,
          "delta": -0.0739,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5135,
          "after": 1.0,
          "delta": 0.4865,
          "percent_delta": 0.9474,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0168,
          "after": 1.0,
          "delta": -0.0168,
          "percent_delta": -0.0165,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5135,
          "after": 1.0,
          "delta": 0.4865,
          "percent_delta": 0.9474,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "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": 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.4997,
          "after": 0.0,
          "delta": -0.4997,
          "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.4997,
          "after": 0.0,
          "delta": -0.4997,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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_SO",
          "before": 1.0,
          "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": 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.247,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.329,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.407,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2467,
          "after": 0.247,
          "delta": 0.0003,
          "percent_delta": 0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.324,
          "after": 0.329,
          "delta": 0.005,
          "percent_delta": 0.0154,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4069,
          "after": 0.407,
          "delta": 0.0001,
          "percent_delta": 0.0002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "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_OBP",
          "before": 0.324,
          "after": 0.329,
          "delta": 0.005,
          "percent_delta": 0.0154,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 1.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 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": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 1.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2467,
        "predicted_BB": 1.0,
        "predicted_CF": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.324,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4069,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.247,
          "after": 0.2467,
          "delta": -0.0003,
          "percent_delta": -0.001,
          "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.329,
          "after": 0.324,
          "delta": -0.005,
          "percent_delta": -0.0153,
          "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.407,
          "after": 0.4069,
          "delta": -0.0001,
          "percent_delta": -0.0002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.329,
          "after": 0.324,
          "delta": -0.005,
          "percent_delta": -0.0153,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.283,
        "after": 0.0,
        "delta": -0.283,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.05,
        "after": 1.0,
        "delta": 0.95,
        "percent_delta": 19.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.55,
        "after": 4.0,
        "delta": 0.45,
        "percent_delta": 0.1268,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.268,
        "after": 0.2467,
        "delta": -0.0213,
        "percent_delta": -0.0795,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.433,
        "after": 1.0,
        "delta": 0.567,
        "percent_delta": 1.3095,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.95,
        "after": 1.0,
        "delta": 0.05,
        "percent_delta": 0.0526,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.083,
        "after": 0.0,
        "delta": -0.083,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.347,
        "after": 0.324,
        "delta": -0.023,
        "percent_delta": -0.0663,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.583,
        "after": 1.0,
        "delta": 0.417,
        "percent_delta": 0.7153,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.567,
        "after": 2.0,
        "delta": 1.433,
        "percent_delta": 2.5273,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.446,
        "after": 0.4069,
        "delta": -0.0391,
        "percent_delta": -0.0877,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.917,
        "after": 2.0,
        "delta": 1.083,
        "percent_delta": 1.181,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 7,
      "deboosted_metrics": 5,
      "better_metrics": 6,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.567,
        "after": 2.0,
        "delta": 1.433,
        "percent_delta": 2.5273,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_2B",
        "before": 0.283,
        "after": 0.0,
        "delta": -0.283,
        "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.283-
predicted_3B0.050-
predicted_AB3.550-
predicted_AVG0.268-
predicted_BB0.433-
predicted_H0.950-
predicted_HR0.083-
predicted_OBP0.347-
predicted_R0.583-
predicted_RBI0.567-
predicted_SLG0.446-
predicted_SO0.917-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.274-0.009
predicted_3B0.042-0.008
predicted_AB3.6140.064
predicted_AVG0.246-0.022
predicted_BB0.415-0.018
predicted_H0.886-0.064
predicted_HBP0.057-
predicted_HR0.073-0.010
predicted_OBP0.326-0.021
predicted_R0.497-0.086
predicted_RBI0.511-0.056
predicted_SLG0.406-0.040
predicted_SO1.0120.095
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2740.000
predicted_3B0.0420.000
predicted_AB3.6140.000
predicted_AVG0.2470.001
predicted_BB0.413-0.002
predicted_H0.8920.005
predicted_HBP0.0570.000
predicted_HR0.0740.000
predicted_OBP0.324-0.002
predicted_R0.5000.003
predicted_RBI0.5130.003
predicted_SLG0.4070.001
predicted_SO1.0170.004
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.61), rates preserved: AVG=0.247 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. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
H1.0000.000
HR0.0000.000
R1.0001.000
RBI1.0000.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.274
predicted_3B0.000-0.042
predicted_AB4.0000.386
predicted_AVG0.2470.000
predicted_BB0.000-0.413
predicted_H1.0000.108
predicted_HR0.000-0.074
predicted_OBP0.3290.005
predicted_R0.000-0.500
predicted_RBI1.0000.487
predicted_SLG0.4070.000
predicted_SO1.000-0.017
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B1.0001.000
AB4.0000.000
BB1.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0000.000
RBI2.0001.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 60
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.0002.0001.0000.0000.0000.0000.0002.0009.0000.10530.19050.15790.10530.00000.00000.10530.4737
last_100.2010-40.0006.0003.0000.0000.0004.0000.0003.00014.0000.15000.22730.22500.15000.00000.10000.07500.3500
season0.6060-213.00057.00017.0003.0005.00034.00035.00026.00055.0000.26760.35220.44600.26760.02350.15960.12210.2582
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2610
predicted_3B0.0300
predicted_AB3.7020
predicted_AVG0.2155
predicted_BB0.3890
predicted_H0.7980
predicted_HBP0.0570
predicted_HR0.0600
predicted_OBP0.2960
predicted_R0.3780
predicted_RBI0.4330
predicted_SLG0.3510
predicted_SO1.1450
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.28300.26100.2738model_form_blend
predicted_3B0.05000.03000.0416model_form_blend
predicted_AB3.55003.70203.6136model_form_blend
predicted_AVG0.26800.21550.2460model_form_blend
predicted_BB0.43300.38900.4146model_form_blend
predicted_H0.95000.79800.8864model_form_blend
predicted_HBP-0.05700.0570form_only
predicted_HR0.08300.06000.0734model_form_blend
predicted_OBP0.34700.29600.3257model_form_blend
predicted_R0.58300.37800.4972model_form_blend
predicted_RBI0.56700.43300.5109model_form_blend
predicted_SLG0.44600.35100.4063model_form_blend
predicted_SO0.91701.14501.0124model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB6
Hitting_AVG0.333
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R2
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB5
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260826_COL@WAS
game_typefull
mlbID694249
playerID694249
playerNameCole Carrigg
posOF
startedTrue
startingPositionCF
teamCOL
teamID9
game_date2026-08-26
sl_k_percent22.1
sl_bb_percent10.0
sl_woba0.338
sl_xwoba0.32
sl_xba0.253
sl_xslg0.386
sl_sweet_spot_percent35.6
sl_barrel_batted_rate5.0
sl_hard_hit_percent34.4
sl_exit_velocity_avg87.3
sl_launch_angle_avg16.9
sl_whiff_percent24.3
sl_swing_percent51.5
Willi Castro (650489) · BATTER · 3B · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 442
All-history rows before 20260827: 442
System season_avg: 0.2640
Data season_avg (2026 season-to-date): 0.2706
Diff (system - data): -0.0066
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.1771.0000.000Hitting_2B0.1760.0000.8241.000
predicted_3B0.0090.0000.000Hitting_3B0.0110.000-0.0110.000
predicted_AB3.5934.0004.000Hitting_AB3.8212.0000.1792.000
predicted_AVG0.2640.5000.250Hitting_AVG0.2710.0000.2290.500
predicted_BB0.3270.0000.000Hitting_BB0.3763.000-0.376-3.000
predicted_CS-0.0000.000BaseRunning_CS0.0411.000-0.041-1.000
predicted_H0.9472.0001.000Hitting_H1.0340.0000.9662.000
predicted_HR0.1330.0000.000Hitting_HR0.1490.000-0.1490.000
predicted_OBP0.3250.5000.250Hitting_OBP0.3410.6000.159-0.100
predicted_R0.5581.0001.000Hitting_R0.6271.0000.3730.000
predicted_RBI0.4780.0001.000Hitting_RBI0.5450.000-0.5450.000
predicted_SLG0.4290.7500.250Hitting_SLG0.4400.0000.3100.750
predicted_SO1.0800.0001.000Hitting_SO1.1360.000-1.1360.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics9
Boosted Metrics5
Deboosted Metrics4
Better Metrics6
Worse Metrics3
Biggest Boostpredicted_H: 0.9470 -> 2.0000 (boost 1.0530, better)
Biggest Deboostpredicted_SO: 1.0800 -> 0.0000 (deboost -1.0800, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11010predicted_SLG: 0.4290 -> 0.4398 (boost 0.0108, 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_scaling62433predicted_RBI: 0.4683 -> 1.0000 (boost 0.5317, better)predicted_BB: 0.2976 -> 0.0000 (deboost -0.2976, worse)AB rounded to 4 (raw=3.63), rates preserved: AVG=0.265 HR/AB=0.040
5consistency_constraints11010predicted_R: 0.5830 -> 1.0000 (boost 0.4170, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context11010predicted_OBP: 0.3205 -> 0.3260 (boost 0.0055, better)-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_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final10101-predicted_OBP: 0.3260 -> 0.3205 (deboost -0.0055, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "650489",
  "player_name": "Willi Castro",
  "position": "3B",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.177,
        "predicted_3B": 0.009,
        "predicted_AB": 3.593,
        "predicted_AVG": 0.264,
        "predicted_BB": 0.327,
        "predicted_H": 0.947,
        "predicted_HR": 0.133,
        "predicted_OBP": 0.325,
        "predicted_R": 0.558,
        "predicted_RBI": 0.478,
        "predicted_SLG": 0.429,
        "predicted_SO": 1.08
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1956,
        "predicted_3B": 0.0077,
        "predicted_AB": 3.6323,
        "predicted_AVG": 0.2634,
        "predicted_BB": 0.2989,
        "predicted_H": 0.9561,
        "predicted_HBP": 0.027,
        "predicted_HR": 0.1434,
        "predicted_OBP": 0.3206,
        "predicted_R": 0.58,
        "predicted_RBI": 0.4659,
        "predicted_SLG": 0.4398,
        "predicted_SO": 1.077
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.177,
          "after": 0.1956,
          "delta": 0.0186,
          "percent_delta": 0.1051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.009,
          "after": 0.0077,
          "delta": -0.0013,
          "percent_delta": -0.1444,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.593,
          "after": 3.6323,
          "delta": 0.0393,
          "percent_delta": 0.0109,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.264,
          "after": 0.2634,
          "delta": -0.0006,
          "percent_delta": -0.0023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.327,
          "after": 0.2989,
          "delta": -0.0281,
          "percent_delta": -0.0859,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.947,
          "after": 0.9561,
          "delta": 0.0091,
          "percent_delta": 0.0096,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.133,
          "after": 0.1434,
          "delta": 0.0104,
          "percent_delta": 0.0782,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.325,
          "after": 0.3206,
          "delta": -0.0044,
          "percent_delta": -0.0135,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.558,
          "after": 0.58,
          "delta": 0.022,
          "percent_delta": 0.0394,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.478,
          "after": 0.4659,
          "delta": -0.0121,
          "percent_delta": -0.0253,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.429,
          "after": 0.4398,
          "delta": 0.0108,
          "percent_delta": 0.0252,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.08,
          "after": 1.077,
          "delta": -0.003,
          "percent_delta": -0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.429,
          "after": 0.4398,
          "delta": 0.0108,
          "percent_delta": 0.0252,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 113
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1956,
        "predicted_3B": 0.0077,
        "predicted_AB": 3.6323,
        "predicted_AVG": 0.2648,
        "predicted_BB": 0.2976,
        "predicted_H": 0.9617,
        "predicted_HBP": 0.027,
        "predicted_HR": 0.1444,
        "predicted_OBP": 0.3205,
        "predicted_R": 0.583,
        "predicted_RBI": 0.4683,
        "predicted_SLG": 0.4421,
        "predicted_SO": 1.0816
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1956,
          "after": 0.1956,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0077,
          "after": 0.0077,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6323,
          "after": 3.6323,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2634,
          "after": 0.2648,
          "delta": 0.0014,
          "percent_delta": 0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2989,
          "after": 0.2976,
          "delta": -0.0013,
          "percent_delta": -0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9561,
          "after": 0.9617,
          "delta": 0.0056,
          "percent_delta": 0.0059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.027,
          "after": 0.027,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1434,
          "after": 0.1444,
          "delta": 0.001,
          "percent_delta": 0.007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3206,
          "after": 0.3205,
          "delta": -0.0001,
          "percent_delta": -0.0003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.58,
          "after": 0.583,
          "delta": 0.003,
          "percent_delta": 0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4659,
          "after": 0.4683,
          "delta": 0.0024,
          "percent_delta": 0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4398,
          "after": 0.4421,
          "delta": 0.0023,
          "percent_delta": 0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.077,
          "after": 1.0816,
          "delta": 0.0046,
          "percent_delta": 0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.265 HR/AB=0.040",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1956,
          "after": 0.0,
          "delta": -0.1956,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0077,
          "after": 0.0,
          "delta": -0.0077,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6323,
          "after": 4.0,
          "delta": 0.3677,
          "percent_delta": 0.1012,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2976,
          "after": 0.0,
          "delta": -0.2976,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9617,
          "after": 1.0,
          "delta": 0.0383,
          "percent_delta": 0.0398,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.027,
          "after": 0.0,
          "delta": -0.027,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1444,
          "after": 0.0,
          "delta": -0.1444,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4683,
          "after": 1.0,
          "delta": 0.5317,
          "percent_delta": 1.1354,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0816,
          "after": 1.0,
          "delta": -0.0816,
          "percent_delta": -0.0754,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.4683,
          "after": 1.0,
          "delta": 0.5317,
          "percent_delta": 1.1354,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2976,
          "after": 0.0,
          "delta": -0.2976,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.583,
          "after": 1.0,
          "delta": 0.417,
          "percent_delta": 0.7153,
          "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.583,
          "after": 1.0,
          "delta": 0.417,
          "percent_delta": 0.7153,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.265,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.326,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.442,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2648,
          "after": 0.265,
          "delta": 0.0002,
          "percent_delta": 0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.326,
          "delta": 0.0055,
          "percent_delta": 0.0172,
          "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.4421,
          "after": 0.442,
          "delta": -0.0001,
          "percent_delta": -0.0002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.3205,
          "after": 0.326,
          "delta": 0.0055,
          "percent_delta": 0.0172,
          "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": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 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_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2648,
        "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": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4421,
        "predicted_SO": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.265,
          "after": 0.2648,
          "delta": -0.0002,
          "percent_delta": -0.0009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.326,
          "after": 0.3205,
          "delta": -0.0055,
          "percent_delta": -0.017,
          "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.442,
          "after": 0.4421,
          "delta": 0.0001,
          "percent_delta": 0.0003,
          "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_OBP",
          "before": 0.326,
          "after": 0.3205,
          "delta": -0.0055,
          "percent_delta": -0.017,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.177,
        "after": 1.0,
        "delta": 0.823,
        "percent_delta": 4.6497,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.009,
        "after": 0.0,
        "delta": -0.009,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.593,
        "after": 4.0,
        "delta": 0.407,
        "percent_delta": 0.1133,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.264,
        "after": 0.2648,
        "delta": 0.0008,
        "percent_delta": 0.003,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.327,
        "after": 0.0,
        "delta": -0.327,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.947,
        "after": 2.0,
        "delta": 1.053,
        "percent_delta": 1.1119,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.133,
        "after": 0.0,
        "delta": -0.133,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.325,
        "after": 0.3205,
        "delta": -0.0045,
        "percent_delta": -0.0138,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.558,
        "after": 1.0,
        "delta": 0.442,
        "percent_delta": 0.7921,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.478,
        "after": 0.0,
        "delta": -0.478,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.429,
        "after": 0.4421,
        "delta": 0.0131,
        "percent_delta": 0.0305,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.08,
        "after": 0.0,
        "delta": -1.08,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 5,
      "deboosted_metrics": 4,
      "better_metrics": 6,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.947,
        "after": 2.0,
        "delta": 1.053,
        "percent_delta": 1.1119,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.08,
        "after": 0.0,
        "delta": -1.08,
        "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.177-
predicted_3B0.009-
predicted_AB3.593-
predicted_AVG0.264-
predicted_BB0.327-
predicted_H0.947-
predicted_HR0.133-
predicted_OBP0.325-
predicted_R0.558-
predicted_RBI0.478-
predicted_SLG0.429-
predicted_SO1.080-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1960.019
predicted_3B0.008-0.001
predicted_AB3.6320.039
predicted_AVG0.263-0.001
predicted_BB0.299-0.028
predicted_H0.9560.009
predicted_HBP0.027-
predicted_HR0.1430.010
predicted_OBP0.321-0.004
predicted_R0.5800.022
predicted_RBI0.466-0.012
predicted_SLG0.4400.011
predicted_SO1.077-0.003
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1960.000
predicted_3B0.0080.000
predicted_AB3.6320.000
predicted_AVG0.2650.001
predicted_BB0.298-0.001
predicted_H0.9620.006
predicted_HBP0.0270.000
predicted_HR0.1440.001
predicted_OBP0.321-0.000
predicted_R0.5830.003
predicted_RBI0.4680.002
predicted_SLG0.4420.002
predicted_SO1.0820.005
4. ab_floor_and_scaling

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

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
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-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI1.0000.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.196
predicted_3B0.000-0.008
predicted_AB4.0000.368
predicted_AVG0.2650.000
predicted_BB0.000-0.298
predicted_H1.0000.038
predicted_HR0.000-0.144
predicted_OBP0.3260.006
predicted_R1.0000.417
predicted_RBI1.0000.532
predicted_SLG0.442-0.000
predicted_SO1.000-0.082
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
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0000.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 113
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0005.0002.0000.0001.0002.0003.0000.0006.0000.25000.25000.50000.25000.05000.10000.00000.3000
last_100.2010-36.00010.0002.0000.0002.0004.0008.0003.00010.0000.27780.33330.50000.27780.05560.11110.08330.2778
season0.60113-406.000107.00020.0001.00015.00054.00063.00037.000122.0000.26350.33110.42860.26360.03690.13300.09110.3005
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2200
predicted_3B0.0060
predicted_AB3.6840
predicted_AVG0.2627
predicted_BB0.2620
predicted_H0.9680
predicted_HBP0.0270
predicted_HR0.1570
predicted_OBP0.3147
predicted_R0.6090
predicted_RBI0.4500
predicted_SLG0.4541
predicted_SO1.0730
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17700.22000.1956model_form_blend
predicted_3B0.00900.00600.0077model_form_blend
predicted_AB3.59303.68403.6323model_form_blend
predicted_AVG0.26400.26270.2634model_form_blend
predicted_BB0.32700.26200.2989model_form_blend
predicted_H0.94700.96800.9561model_form_blend
predicted_HBP-0.02700.0270form_only
predicted_HR0.13300.15700.1434model_form_blend
predicted_OBP0.32500.31470.3206model_form_blend
predicted_R0.55800.60900.5800model_form_blend
predicted_RBI0.47800.45000.4659model_form_blend
predicted_SLG0.42900.45410.4398model_form_blend
predicted_SO1.08001.07301.0770model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS1
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB3
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260826_COL@WAS
game_typefull
mlbID650489
playerID650489
playerNameWilli Castro
pos2B
startedTrue
startingPosition3B
teamCOL
teamID9
game_date2026-08-26
sl_k_percent27.0
sl_bb_percent8.6
sl_woba0.33
sl_xwoba0.309
sl_xba0.236
sl_xslg0.39
sl_sweet_spot_percent31.9
sl_barrel_batted_rate8.0
sl_hard_hit_percent39.9
sl_exit_velocity_avg87.6
sl_launch_angle_avg17.7
sl_whiff_percent30.8
sl_swing_percent53.6
Mickey Moniak (666160) · BATTER · RF · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 336
All-history rows before 20260827: 336
System season_avg: 0.2560
Data season_avg (2026 season-to-date): 0.2759
Diff (system - data): -0.0199
System opponent_avg: 0.1790
System season_avg diverges from 2026 season-to-date by -0.0199. 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.1650.0000.000Hitting_2B0.1880.000-0.1880.000
predicted_3B0.0440.0000.000Hitting_3B0.0540.000-0.0540.000
predicted_AB3.5164.0004.000Hitting_AB3.7865.0000.214-1.000
predicted_AVG0.2560.0000.250Hitting_AVG0.2760.000-0.2760.000
predicted_BB0.1870.0000.000Hitting_BB0.2381.000-0.238-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9010.0001.000Hitting_H1.0450.000-1.0450.000
predicted_HR0.2310.0000.000Hitting_HR0.2740.000-0.2740.000
predicted_OBP0.2940.0000.250Hitting_OBP0.3180.167-0.318-0.167
predicted_R0.4840.0000.000Hitting_R0.5651.000-0.565-1.000
predicted_RBI0.6590.0001.000Hitting_RBI0.7860.000-0.7860.000
predicted_SLG0.5250.0000.250Hitting_SLG0.5710.000-0.5710.000
predicted_SO0.9893.0001.000Hitting_SO1.0573.0001.9430.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.9890 -> 3.0000 (boost 2.0110, worse)
Biggest Deboostpredicted_H: 0.9010 -> 0.0000 (deboost -0.9010, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend51414predicted_AB: 3.5160 -> 3.5783 (boost 0.0623, better)predicted_H: 0.9010 -> 0.8430 (deboost -0.0580, worse)Final model input calibrated 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_AB: 3.5783 -> 4.0000 (boost 0.4217, better)predicted_HR: 0.2249 -> 0.0000 (deboost -0.2249, worse)AB rounded to 4 (raw=3.58), rates preserved: AVG=0.237 HR/AB=0.063
5consistency_constraints10101-predicted_R: 0.4672 -> 0.0000 (deboost -0.4672, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context11010predicted_OBP: 0.2756 -> 0.2810 (boost 0.0054, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference31203predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final10101-predicted_OBP: 0.2810 -> 0.2756 (deboost -0.0054, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "666160",
  "player_name": "Mickey Moniak",
  "position": "RF",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.165,
        "predicted_3B": 0.044,
        "predicted_AB": 3.516,
        "predicted_AVG": 0.256,
        "predicted_BB": 0.187,
        "predicted_H": 0.901,
        "predicted_HR": 0.231,
        "predicted_OBP": 0.294,
        "predicted_R": 0.484,
        "predicted_RBI": 0.659,
        "predicted_SLG": 0.525,
        "predicted_SO": 0.989
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local 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.0363,
        "predicted_AB": 3.5783,
        "predicted_AVG": 0.2359,
        "predicted_BB": 0.1917,
        "predicted_H": 0.843,
        "predicted_HBP": 0.021,
        "predicted_HR": 0.2233,
        "predicted_OBP": 0.2749,
        "predicted_R": 0.4648,
        "predicted_RBI": 0.6223,
        "predicted_SLG": 0.4854,
        "predicted_SO": 1.0167
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.165,
          "after": 0.1484,
          "delta": -0.0166,
          "percent_delta": -0.1006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.044,
          "after": 0.0363,
          "delta": -0.0077,
          "percent_delta": -0.175,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.516,
          "after": 3.5783,
          "delta": 0.0623,
          "percent_delta": 0.0177,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.256,
          "after": 0.2359,
          "delta": -0.0201,
          "percent_delta": -0.0785,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.187,
          "after": 0.1917,
          "delta": 0.0047,
          "percent_delta": 0.0251,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.901,
          "after": 0.843,
          "delta": -0.058,
          "percent_delta": -0.0644,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.231,
          "after": 0.2233,
          "delta": -0.0077,
          "percent_delta": -0.0333,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.294,
          "after": 0.2749,
          "delta": -0.0191,
          "percent_delta": -0.065,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.484,
          "after": 0.4648,
          "delta": -0.0192,
          "percent_delta": -0.0397,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.659,
          "after": 0.6223,
          "delta": -0.0367,
          "percent_delta": -0.0557,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.525,
          "after": 0.4854,
          "delta": -0.0396,
          "percent_delta": -0.0754,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.989,
          "after": 1.0167,
          "delta": 0.0277,
          "percent_delta": 0.028,
          "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.516,
          "after": 3.5783,
          "delta": 0.0623,
          "percent_delta": 0.0177,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.901,
          "after": 0.843,
          "delta": -0.058,
          "percent_delta": -0.0644,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 91
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1484,
        "predicted_3B": 0.0363,
        "predicted_AB": 3.5783,
        "predicted_AVG": 0.237,
        "predicted_BB": 0.1909,
        "predicted_H": 0.848,
        "predicted_HBP": 0.021,
        "predicted_HR": 0.2249,
        "predicted_OBP": 0.2756,
        "predicted_R": 0.4672,
        "predicted_RBI": 0.6255,
        "predicted_SLG": 0.4873,
        "predicted_SO": 1.0211
      },
      "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.0363,
          "after": 0.0363,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5783,
          "after": 3.5783,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2359,
          "after": 0.237,
          "delta": 0.0011,
          "percent_delta": 0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1917,
          "after": 0.1909,
          "delta": -0.0008,
          "percent_delta": -0.0042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.843,
          "after": 0.848,
          "delta": 0.005,
          "percent_delta": 0.0059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.021,
          "after": 0.021,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2233,
          "after": 0.2249,
          "delta": 0.0016,
          "percent_delta": 0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2749,
          "after": 0.2756,
          "delta": 0.0007,
          "percent_delta": 0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4648,
          "after": 0.4672,
          "delta": 0.0024,
          "percent_delta": 0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6223,
          "after": 0.6255,
          "delta": 0.0032,
          "percent_delta": 0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4854,
          "after": 0.4873,
          "delta": 0.0019,
          "percent_delta": 0.0039,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0167,
          "after": 1.0211,
          "delta": 0.0044,
          "percent_delta": 0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.58), rates preserved: AVG=0.237 HR/AB=0.063",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.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.0363,
          "after": 0.0,
          "delta": -0.0363,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5783,
          "after": 4.0,
          "delta": 0.4217,
          "percent_delta": 0.1178,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1909,
          "after": 0.0,
          "delta": -0.1909,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.848,
          "after": 1.0,
          "delta": 0.152,
          "percent_delta": 0.1792,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.021,
          "after": 0.0,
          "delta": -0.021,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2249,
          "after": 0.0,
          "delta": -0.2249,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6255,
          "after": 1.0,
          "delta": 0.3745,
          "percent_delta": 0.5987,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0211,
          "after": 1.0,
          "delta": -0.0211,
          "percent_delta": -0.0207,
          "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_AB",
          "before": 3.5783,
          "after": 4.0,
          "delta": 0.4217,
          "percent_delta": 0.1178,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.2249,
          "after": 0.0,
          "delta": -0.2249,
          "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.4672,
          "after": 0.0,
          "delta": -0.4672,
          "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.4672,
          "after": 0.0,
          "delta": -0.4672,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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": 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": {}
    },
    {
      "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.237,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.281,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.487,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.237,
          "after": 0.237,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.281,
          "delta": 0.0054,
          "percent_delta": 0.0196,
          "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.4873,
          "after": 0.487,
          "delta": -0.0003,
          "percent_delta": -0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2756,
          "after": 0.281,
          "delta": 0.0054,
          "percent_delta": 0.0196,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.237,
        "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_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4873,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.237,
          "after": 0.237,
          "delta": -0.0,
          "percent_delta": -0.0001,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.281,
          "after": 0.2756,
          "delta": -0.0054,
          "percent_delta": -0.0192,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.487,
          "after": 0.4873,
          "delta": 0.0003,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.281,
          "after": 0.2756,
          "delta": -0.0054,
          "percent_delta": -0.0192,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.165,
        "after": 0.0,
        "delta": -0.165,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.044,
        "after": 0.0,
        "delta": -0.044,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.516,
        "after": 4.0,
        "delta": 0.484,
        "percent_delta": 0.1377,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.256,
        "after": 0.237,
        "delta": -0.019,
        "percent_delta": -0.0742,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.187,
        "after": 0.0,
        "delta": -0.187,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.901,
        "after": 0.0,
        "delta": -0.901,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.231,
        "after": 0.0,
        "delta": -0.231,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.294,
        "after": 0.2756,
        "delta": -0.0184,
        "percent_delta": -0.0626,
        "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.659,
        "after": 0.0,
        "delta": -0.659,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.525,
        "after": 0.4873,
        "delta": -0.0377,
        "percent_delta": -0.0718,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.989,
        "after": 3.0,
        "delta": 2.011,
        "percent_delta": 2.0334,
        "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.989,
        "after": 3.0,
        "delta": 2.011,
        "percent_delta": 2.0334,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.901,
        "after": 0.0,
        "delta": -0.901,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.165-
predicted_3B0.044-
predicted_AB3.516-
predicted_AVG0.256-
predicted_BB0.187-
predicted_H0.901-
predicted_HR0.231-
predicted_OBP0.294-
predicted_R0.484-
predicted_RBI0.659-
predicted_SLG0.525-
predicted_SO0.989-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.148-0.017
predicted_3B0.036-0.008
predicted_AB3.5780.062
predicted_AVG0.236-0.020
predicted_BB0.1920.005
predicted_H0.843-0.058
predicted_HBP0.021-
predicted_HR0.223-0.008
predicted_OBP0.275-0.019
predicted_R0.465-0.019
predicted_RBI0.622-0.037
predicted_SLG0.485-0.040
predicted_SO1.0170.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.1480.000
predicted_3B0.0360.000
predicted_AB3.5780.000
predicted_AVG0.2370.001
predicted_BB0.191-0.001
predicted_H0.8480.005
predicted_HBP0.0210.000
predicted_HR0.2250.002
predicted_OBP0.2760.001
predicted_R0.4670.002
predicted_RBI0.6250.003
predicted_SLG0.4870.002
predicted_SO1.0210.004
4. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI1.0000.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.148
predicted_3B0.000-0.036
predicted_AB4.0000.422
predicted_AVG0.2370.000
predicted_BB0.000-0.191
predicted_H1.0000.152
predicted_HR0.000-0.225
predicted_OBP0.2810.005
predicted_R0.000-0.467
predicted_RBI1.0000.375
predicted_SLG0.487-0.000
predicted_SO1.000-0.021
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.0002.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 91
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.0002.0000.0000.0001.0001.0002.0001.0006.0000.10530.15000.26320.10530.05260.05260.05260.3158
last_100.2010-39.0006.0001.0000.0002.0007.0003.0002.00012.0000.15380.19050.33330.15380.05130.17950.05130.3077
season0.6091-320.00082.00015.0004.00021.00060.00044.00017.00090.0000.25620.29390.52500.25620.06560.18750.05310.2812
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1260
predicted_3B0.0260
predicted_AB3.6620
predicted_AVG0.2089
predicted_BB0.1980
predicted_H0.7650
predicted_HBP0.0210
predicted_HR0.2130
predicted_OBP0.2493
predicted_R0.4390
predicted_RBI0.5730
predicted_SLG0.4322
predicted_SO1.0540
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16500.12600.1484model_form_blend
predicted_3B0.04400.02600.0363model_form_blend
predicted_AB3.51603.66203.5783model_form_blend
predicted_AVG0.25600.20890.2359model_form_blend
predicted_BB0.18700.19800.1917model_form_blend
predicted_H0.90100.76500.8430model_form_blend
predicted_HBP-0.02100.0210form_only
predicted_HR0.23100.21300.2233model_form_blend
predicted_OBP0.29400.24930.2749model_form_blend
predicted_R0.48400.43900.4648model_form_blend
predicted_RBI0.65900.57300.6223model_form_blend
predicted_SLG0.52500.43220.4854model_form_blend
predicted_SO0.98901.05401.0167model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
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
allPositionsPlayedRF
gameID20260826_COL@WAS
game_typefull
mlbID666160
playerID666160
playerNameMickey Moniak
posLF
startedTrue
startingPositionRF
teamCOL
teamID9
game_date2026-08-26
sl_k_percent26.2
sl_bb_percent5.3
sl_woba0.339
sl_xwoba0.285
sl_xba0.217
sl_xslg0.398
sl_sweet_spot_percent30.8
sl_barrel_batted_rate9.9
sl_hard_hit_percent41.5
sl_exit_velocity_avg89.6
sl_launch_angle_avg21.5
sl_whiff_percent29.4
sl_swing_percent58.0
Connor Norby (681393) · BATTER · 2B · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 33
All-history rows before 20260827: 33
System season_avg: 0.2180
Data season_avg (2026 season-to-date): 0.2727
Diff (system - data): -0.0547
System opponent_avg: 0.2220
System season_avg diverges from 2026 season-to-date by -0.0547. 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.2210.0000.000Hitting_2B0.4550.000-0.4550.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.0913.0003.000Hitting_AB3.0004.0000.000-1.000
predicted_AVG0.2590.3330.333Hitting_AVG0.2730.5000.061-0.167
predicted_BB0.3901.0001.000Hitting_BB0.5451.0000.4550.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8001.0001.000Hitting_H0.8182.0000.182-1.000
predicted_HR0.1100.0000.000Hitting_HR0.0611.000-0.061-1.000
predicted_OBP0.3510.5000.500Hitting_OBP0.3850.6000.115-0.100
predicted_R0.2990.0000.000Hitting_R0.5763.000-0.576-3.000
predicted_RBI0.4000.0000.000Hitting_RBI0.3335.000-0.333-5.000
predicted_SB-0.0000.000BaseRunning_SB0.1820.000-0.1820.000
predicted_SLG0.4730.3330.333Hitting_SLG0.4851.250-0.152-0.917
predicted_SO1.0910.0001.000Hitting_SO0.9390.000-0.9390.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics2
Deboosted Metrics8
Better Metrics3
Worse Metrics7
Biggest Boostpredicted_BB: 0.3900 -> 1.0000 (boost 0.6100, better)
Biggest Deboostpredicted_SO: 1.0910 -> 0.0000 (deboost -1.0910, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend10101-predicted_SLG: 0.4730 -> 0.4632 (deboost -0.0098, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot20202-predicted_SLG: 0.4632 -> 0.4449 (deboost -0.0183, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling81726predicted_H: 0.8212 -> 1.0000 (boost 0.1788, better)predicted_RBI: 0.3889 -> 0.0000 (deboost -0.3889, worse)AB rounded to 3 (raw=3.11), rates preserved: AVG=0.264 HR/AB=0.035
5consistency_constraints10101-predicted_R: 0.3315 -> 0.0000 (deboost -0.3315, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context21111predicted_SLG: 0.4449 -> 0.4530 (boost 0.0081, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference21120predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
9current_json_final10101-predicted_SLG: 0.4530 -> 0.4449 (deboost -0.0081, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "681393",
  "player_name": "Connor Norby",
  "position": "2B",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.221,
        "predicted_3B": 0.0,
        "predicted_AB": 3.091,
        "predicted_AVG": 0.259,
        "predicted_BB": 0.39,
        "predicted_H": 0.8,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.351,
        "predicted_R": 0.299,
        "predicted_RBI": 0.4,
        "predicted_SLG": 0.473,
        "predicted_SO": 1.091
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.24,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.1142,
        "predicted_AVG": 0.2622,
        "predicted_BB": 0.3723,
        "predicted_H": 0.8164,
        "predicted_HBP": 0.06,
        "predicted_HR": 0.1071,
        "predicted_OBP": 0.351,
        "predicted_R": 0.3298,
        "predicted_RBI": 0.3869,
        "predicted_SLG": 0.4632,
        "predicted_SO": 1.11
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.221,
          "after": 0.24,
          "delta": 0.019,
          "percent_delta": 0.086,
          "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.091,
          "after": 3.1142,
          "delta": 0.0232,
          "percent_delta": 0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.259,
          "after": 0.2622,
          "delta": 0.0032,
          "percent_delta": 0.0124,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.39,
          "after": 0.3723,
          "delta": -0.0177,
          "percent_delta": -0.0454,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8,
          "after": 0.8164,
          "delta": 0.0164,
          "percent_delta": 0.0205,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.1071,
          "delta": -0.0029,
          "percent_delta": -0.0264,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.351,
          "after": 0.351,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.299,
          "after": 0.3298,
          "delta": 0.0308,
          "percent_delta": 0.103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4,
          "after": 0.3869,
          "delta": -0.0131,
          "percent_delta": -0.0328,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.473,
          "after": 0.4632,
          "delta": -0.0098,
          "percent_delta": -0.0207,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.091,
          "after": 1.11,
          "delta": 0.019,
          "percent_delta": 0.0174,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.473,
          "after": 0.4632,
          "delta": -0.0098,
          "percent_delta": -0.0207,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 77
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.24,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.1142,
        "predicted_AVG": 0.2637,
        "predicted_BB": 0.3707,
        "predicted_H": 0.8212,
        "predicted_HBP": 0.06,
        "predicted_HR": 0.1079,
        "predicted_OBP": 0.342,
        "predicted_R": 0.3315,
        "predicted_RBI": 0.3889,
        "predicted_SLG": 0.4449,
        "predicted_SO": 1.1148
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.24,
          "after": 0.24,
          "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.1142,
          "after": 3.1142,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2622,
          "after": 0.2637,
          "delta": 0.0015,
          "percent_delta": 0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3723,
          "after": 0.3707,
          "delta": -0.0016,
          "percent_delta": -0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8164,
          "after": 0.8212,
          "delta": 0.0048,
          "percent_delta": 0.0059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.06,
          "after": 0.06,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1071,
          "after": 0.1079,
          "delta": 0.0008,
          "percent_delta": 0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.351,
          "after": 0.342,
          "delta": -0.009,
          "percent_delta": -0.0256,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3298,
          "after": 0.3315,
          "delta": 0.0017,
          "percent_delta": 0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3869,
          "after": 0.3889,
          "delta": 0.002,
          "percent_delta": 0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4632,
          "after": 0.4449,
          "delta": -0.0183,
          "percent_delta": -0.0395,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.11,
          "after": 1.1148,
          "delta": 0.0048,
          "percent_delta": 0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4632,
          "after": 0.4449,
          "delta": -0.0183,
          "percent_delta": -0.0395,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.11), rates preserved: AVG=0.264 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.24,
          "after": 0.0,
          "delta": -0.24,
          "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.1142,
          "after": 3.0,
          "delta": -0.1142,
          "percent_delta": -0.0367,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3707,
          "after": 0.0,
          "delta": -0.3707,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8212,
          "after": 1.0,
          "delta": 0.1788,
          "percent_delta": 0.2177,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.06,
          "after": 0.0,
          "delta": -0.06,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1079,
          "after": 0.0,
          "delta": -0.1079,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3889,
          "after": 0.0,
          "delta": -0.3889,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1148,
          "after": 1.0,
          "delta": -0.1148,
          "percent_delta": -0.103,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 1,
        "deboosted_metrics": 7,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.8212,
          "after": 1.0,
          "delta": 0.1788,
          "percent_delta": 0.2177,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3889,
          "after": 0.0,
          "delta": -0.3889,
          "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.3315,
          "after": 0.0,
          "delta": -0.3315,
          "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.3315,
          "after": 0.0,
          "delta": -0.3315,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.264,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.347,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.453,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2637,
          "after": 0.264,
          "delta": 0.0003,
          "percent_delta": 0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.342,
          "after": 0.347,
          "delta": 0.005,
          "percent_delta": 0.0146,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4449,
          "after": 0.453,
          "delta": 0.0081,
          "percent_delta": 0.0182,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.4449,
          "after": 0.453,
          "delta": 0.0081,
          "percent_delta": 0.0182,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 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_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2637,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.342,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4449,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.264,
          "after": 0.2637,
          "delta": -0.0003,
          "percent_delta": -0.0011,
          "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.347,
          "after": 0.342,
          "delta": -0.005,
          "percent_delta": -0.0143,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.453,
          "after": 0.4449,
          "delta": -0.0081,
          "percent_delta": -0.0178,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.453,
          "after": 0.4449,
          "delta": -0.0081,
          "percent_delta": -0.0178,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.221,
        "after": 0.0,
        "delta": -0.221,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.091,
        "after": 3.0,
        "delta": -0.091,
        "percent_delta": -0.0294,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.259,
        "after": 0.2637,
        "delta": 0.0047,
        "percent_delta": 0.0181,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.39,
        "after": 1.0,
        "delta": 0.61,
        "percent_delta": 1.5641,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.8,
        "after": 1.0,
        "delta": 0.2,
        "percent_delta": 0.25,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.11,
        "after": 0.0,
        "delta": -0.11,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.351,
        "after": 0.342,
        "delta": -0.009,
        "percent_delta": -0.0256,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.299,
        "after": 0.0,
        "delta": -0.299,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.4,
        "after": 0.0,
        "delta": -0.4,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.473,
        "after": 0.4449,
        "delta": -0.0281,
        "percent_delta": -0.0594,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.091,
        "after": 0.0,
        "delta": -1.091,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.39,
        "after": 1.0,
        "delta": 0.61,
        "percent_delta": 1.5641,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.091,
        "after": 0.0,
        "delta": -1.091,
        "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.221-
predicted_3B0.000-
predicted_AB3.091-
predicted_AVG0.259-
predicted_BB0.390-
predicted_H0.800-
predicted_HR0.110-
predicted_OBP0.351-
predicted_R0.299-
predicted_RBI0.400-
predicted_SLG0.473-
predicted_SO1.091-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2400.019
predicted_3B0.0000.000
predicted_AB3.1140.023
predicted_AVG0.2620.003
predicted_BB0.372-0.018
predicted_H0.8160.016
predicted_HBP0.060-
predicted_HR0.107-0.003
predicted_OBP0.3510.000
predicted_R0.3300.031
predicted_RBI0.387-0.013
predicted_SLG0.463-0.010
predicted_SO1.1100.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.2400.000
predicted_3B0.0000.000
predicted_AB3.1140.000
predicted_AVG0.2640.002
predicted_BB0.371-0.002
predicted_H0.8210.005
predicted_HBP0.0600.000
predicted_HR0.1080.001
predicted_OBP0.342-0.009
predicted_R0.3320.002
predicted_RBI0.3890.002
predicted_SLG0.445-0.018
predicted_SO1.1150.005
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.11), rates preserved: AVG=0.264 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. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0001.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.240
predicted_3B0.000-0.000
predicted_AB3.000-0.114
predicted_AVG0.2640.000
predicted_BB0.000-0.371
predicted_H1.0000.179
predicted_HR0.000-0.108
predicted_OBP0.3470.005
predicted_R0.000-0.332
predicted_RBI0.000-0.389
predicted_SLG0.4530.008
predicted_SO1.000-0.115
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0000.000
CS0.0000.000
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: 77
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.0005.0001.0000.0001.0003.0002.0002.0007.0000.33330.41180.60000.33330.06670.20000.13330.4667
last_100.2010-31.00011.0005.0000.0001.0004.0005.0002.00011.0000.35480.39390.61290.35480.03230.12900.06450.3548
season0.6077-238.00052.00017.0000.0005.00020.00023.00030.00084.0000.21850.32490.35290.21850.02100.08400.12600.3529
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2660
predicted_3B0.0010
predicted_AB3.1460
predicted_AVG0.2667
predicted_BB0.3480
predicted_H0.8390
predicted_HBP0.0600
predicted_HR0.1030
predicted_OBP0.3511
predicted_R0.3720
predicted_RBI0.3690
predicted_SLG0.4497
predicted_SO1.1360
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22100.26600.2400model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.09103.14603.1142model_form_blend
predicted_AVG0.25900.26670.2622model_form_blend
predicted_BB0.39000.34800.3723model_form_blend
predicted_H0.80000.83900.8164model_form_blend
predicted_HBP-0.06000.0600form_only
predicted_HR0.11000.10300.1071model_form_blend
predicted_OBP0.35100.35110.3510model_form_blend
predicted_R0.29900.37200.3298model_form_blend
predicted_RBI0.40000.36900.3869model_form_blend
predicted_SLG0.47300.44970.4632model_form_blend
predicted_SO1.09101.13601.1100model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R3
Hitting_RBI5
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB5
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260826_COL@WAS
game_typefull
mlbID681393
playerID681393
playerNameConnor Norby
pos2B
startedTrue
startingPosition2B
teamCOL
teamID9
game_date2026-08-26
sl_k_percent29.7
sl_bb_percent10.9
sl_woba0.313
sl_xwoba0.298
sl_xba0.208
sl_xslg0.344
sl_sweet_spot_percent33.1
sl_barrel_batted_rate7.0
sl_hard_hit_percent37.2
sl_exit_velocity_avg87.1
sl_launch_angle_avg17.8
sl_whiff_percent31.3
sl_swing_percent49.6
Troy Johnston (687859) · BATTER · DH · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 377
All-history rows before 20260827: 377
System season_avg: 0.2830
Data season_avg (2026 season-to-date): 0.2954
Diff (system - data): -0.0124
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.2600.0001.000Hitting_2B0.2810.000-0.2810.000
predicted_3B0.0100.0000.000Hitting_3B0.0130.000-0.0130.000
predicted_AB3.2313.0003.000Hitting_AB3.4934.000-0.493-1.000
predicted_AVG0.2830.3330.333Hitting_AVG0.2950.5000.038-0.167
predicted_BB0.2880.0000.000Hitting_BB0.3550.000-0.3550.000
predicted_CS-0.0000.000BaseRunning_CS0.0530.000-0.0530.000
predicted_H0.9131.0001.000Hitting_H1.0322.000-0.032-1.000
predicted_HR0.0290.0000.000Hitting_HR0.0451.000-0.045-1.000
predicted_OBP0.3420.5000.333Hitting_OBP0.3630.6000.137-0.100
predicted_R0.3370.0000.000Hitting_R0.4031.000-0.403-1.000
predicted_RBI0.4230.0000.000Hitting_RBI0.4882.000-0.488-2.000
predicted_SLG0.3960.3330.667Hitting_SLG0.4221.250-0.089-0.917
predicted_SO0.6250.0001.000Hitting_SO0.6500.000-0.6500.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics8
Boosted Metrics2
Deboosted Metrics6
Better Metrics3
Worse Metrics5
Biggest Boostpredicted_H: 0.9130 -> 1.0000 (boost 0.0870, better)
Biggest Deboostpredicted_SO: 0.6250 -> 0.0000 (deboost -0.6250, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend22020predicted_SLG: 0.3960 -> 0.4031 (boost 0.0071, 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_scaling72516predicted_SO: 0.6045 -> 1.0000 (boost 0.3955, worse)predicted_RBI: 0.4063 -> 0.0000 (deboost -0.4063, worse)AB rounded to 3 (raw=3.23), rates preserved: AVG=0.279 HR/AB=0.008
5consistency_constraints10101-predicted_R: 0.2935 -> 0.0000 (deboost -0.2935, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context20202-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference21120predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
9current_json_final11010predicted_SLG: 0.4000 -> 0.4051 (boost 0.0051, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "687859",
  "player_name": "Troy Johnston",
  "position": "DH",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.26,
        "predicted_3B": 0.01,
        "predicted_AB": 3.231,
        "predicted_AVG": 0.283,
        "predicted_BB": 0.288,
        "predicted_H": 0.913,
        "predicted_HR": 0.029,
        "predicted_OBP": 0.342,
        "predicted_R": 0.337,
        "predicted_RBI": 0.423,
        "predicted_SLG": 0.396,
        "predicted_SO": 0.625
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2746,
        "predicted_3B": 0.0169,
        "predicted_AB": 3.1886,
        "predicted_AVG": 0.2815,
        "predicted_BB": 0.2991,
        "predicted_H": 0.8967,
        "predicted_HBP": 0.089,
        "predicted_HR": 0.0269,
        "predicted_OBP": 0.349,
        "predicted_R": 0.292,
        "predicted_RBI": 0.4042,
        "predicted_SLG": 0.4031,
        "predicted_SO": 0.6019
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.26,
          "after": 0.2746,
          "delta": 0.0146,
          "percent_delta": 0.0562,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.01,
          "after": 0.0169,
          "delta": 0.0069,
          "percent_delta": 0.69,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.231,
          "after": 3.1886,
          "delta": -0.0424,
          "percent_delta": -0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.283,
          "after": 0.2815,
          "delta": -0.0015,
          "percent_delta": -0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.288,
          "after": 0.2991,
          "delta": 0.0111,
          "percent_delta": 0.0385,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.913,
          "after": 0.8967,
          "delta": -0.0163,
          "percent_delta": -0.0179,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.029,
          "after": 0.0269,
          "delta": -0.0021,
          "percent_delta": -0.0724,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.342,
          "after": 0.349,
          "delta": 0.007,
          "percent_delta": 0.0205,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.337,
          "after": 0.292,
          "delta": -0.045,
          "percent_delta": -0.1335,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.423,
          "after": 0.4042,
          "delta": -0.0188,
          "percent_delta": -0.0444,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.396,
          "after": 0.4031,
          "delta": 0.0071,
          "percent_delta": 0.0179,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.625,
          "after": 0.6019,
          "delta": -0.0231,
          "percent_delta": -0.037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.396,
          "after": 0.4031,
          "delta": 0.0071,
          "percent_delta": 0.0179,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 104
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2746,
        "predicted_3B": 0.0169,
        "predicted_AB": 3.1886,
        "predicted_AVG": 0.2829,
        "predicted_BB": 0.2978,
        "predicted_H": 0.902,
        "predicted_HBP": 0.089,
        "predicted_HR": 0.0271,
        "predicted_OBP": 0.3441,
        "predicted_R": 0.2935,
        "predicted_RBI": 0.4063,
        "predicted_SLG": 0.4051,
        "predicted_SO": 0.6045
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2746,
          "after": 0.2746,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0169,
          "after": 0.0169,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.1886,
          "after": 3.1886,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2815,
          "after": 0.2829,
          "delta": 0.0014,
          "percent_delta": 0.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2991,
          "after": 0.2978,
          "delta": -0.0013,
          "percent_delta": -0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8967,
          "after": 0.902,
          "delta": 0.0053,
          "percent_delta": 0.0059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.089,
          "after": 0.089,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0269,
          "after": 0.0271,
          "delta": 0.0002,
          "percent_delta": 0.0074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.349,
          "after": 0.3441,
          "delta": -0.0049,
          "percent_delta": -0.014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.292,
          "after": 0.2935,
          "delta": 0.0015,
          "percent_delta": 0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4042,
          "after": 0.4063,
          "delta": 0.0021,
          "percent_delta": 0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4031,
          "after": 0.4051,
          "delta": 0.002,
          "percent_delta": 0.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.6019,
          "after": 0.6045,
          "delta": 0.0026,
          "percent_delta": 0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.23), rates preserved: AVG=0.279 HR/AB=0.008",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2746,
          "after": 0.0,
          "delta": -0.2746,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0169,
          "after": 0.0,
          "delta": -0.0169,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.1886,
          "after": 3.0,
          "delta": -0.1886,
          "percent_delta": -0.0591,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2978,
          "after": 0.0,
          "delta": -0.2978,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.902,
          "after": 1.0,
          "delta": 0.098,
          "percent_delta": 0.1086,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.089,
          "after": 0.0,
          "delta": -0.089,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0271,
          "after": 0.0,
          "delta": -0.0271,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4063,
          "after": 0.0,
          "delta": -0.4063,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6045,
          "after": 1.0,
          "delta": 0.3955,
          "percent_delta": 0.6543,
          "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.6045,
          "after": 1.0,
          "delta": 0.3955,
          "percent_delta": 0.6543,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4063,
          "after": 0.0,
          "delta": -0.4063,
          "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.2935,
          "after": 0.0,
          "delta": -0.2935,
          "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.2935,
          "after": 0.0,
          "delta": -0.2935,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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_SO",
          "before": 1.0,
          "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_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": 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.279,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.345,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.4,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2829,
          "after": 0.279,
          "delta": -0.0039,
          "percent_delta": -0.0138,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3441,
          "after": 0.345,
          "delta": 0.0009,
          "percent_delta": 0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4051,
          "after": 0.4,
          "delta": -0.0051,
          "percent_delta": -0.0126,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "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_HBP",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2829,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3441,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4051,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.279,
          "after": 0.2829,
          "delta": 0.0039,
          "percent_delta": 0.0139,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.345,
          "after": 0.3441,
          "delta": -0.0009,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4,
          "after": 0.4051,
          "delta": 0.0051,
          "percent_delta": 0.0127,
          "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_SLG",
          "before": 0.4,
          "after": 0.4051,
          "delta": 0.0051,
          "percent_delta": 0.0127,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.26,
        "after": 0.0,
        "delta": -0.26,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.01,
        "after": 0.0,
        "delta": -0.01,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.231,
        "after": 3.0,
        "delta": -0.231,
        "percent_delta": -0.0715,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.283,
        "after": 0.2829,
        "delta": -0.0001,
        "percent_delta": -0.0004,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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.913,
        "after": 1.0,
        "delta": 0.087,
        "percent_delta": 0.0953,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.029,
        "after": 0.0,
        "delta": -0.029,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.342,
        "after": 0.3441,
        "delta": 0.0021,
        "percent_delta": 0.0061,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.337,
        "after": 0.0,
        "delta": -0.337,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.423,
        "after": 0.0,
        "delta": -0.423,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.396,
        "after": 0.4051,
        "delta": 0.0091,
        "percent_delta": 0.023,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.625,
        "after": 0.0,
        "delta": -0.625,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 8,
      "boosted_metrics": 2,
      "deboosted_metrics": 6,
      "better_metrics": 3,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.913,
        "after": 1.0,
        "delta": 0.087,
        "percent_delta": 0.0953,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.625,
        "after": 0.0,
        "delta": -0.625,
        "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.260-
predicted_3B0.010-
predicted_AB3.231-
predicted_AVG0.283-
predicted_BB0.288-
predicted_H0.913-
predicted_HR0.029-
predicted_OBP0.342-
predicted_R0.337-
predicted_RBI0.423-
predicted_SLG0.396-
predicted_SO0.625-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2750.015
predicted_3B0.0170.007
predicted_AB3.189-0.042
predicted_AVG0.281-0.002
predicted_BB0.2990.011
predicted_H0.897-0.016
predicted_HBP0.089-
predicted_HR0.027-0.002
predicted_OBP0.3490.007
predicted_R0.292-0.045
predicted_RBI0.404-0.019
predicted_SLG0.4030.007
predicted_SO0.602-0.023
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2750.000
predicted_3B0.0170.000
predicted_AB3.1890.000
predicted_AVG0.2830.001
predicted_BB0.298-0.001
predicted_H0.9020.005
predicted_HBP0.0890.000
predicted_HR0.0270.000
predicted_OBP0.344-0.005
predicted_R0.2930.002
predicted_RBI0.4060.002
predicted_SLG0.4050.002
predicted_SO0.6050.003
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.23), rates preserved: AVG=0.279 HR/AB=0.008

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

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

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.275
predicted_3B0.000-0.017
predicted_AB3.000-0.189
predicted_AVG0.279-0.004
predicted_BB0.000-0.298
predicted_H1.0000.098
predicted_HR0.000-0.027
predicted_OBP0.3450.001
predicted_R0.000-0.293
predicted_RBI0.000-0.406
predicted_SLG0.400-0.005
predicted_SO1.0000.395
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 104
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-14.0004.0002.0000.0000.0001.0000.0002.0002.0000.28570.41180.42860.28570.00000.07140.14290.1429
last_100.2010-29.0008.0003.0001.0000.0004.0001.0003.0005.0000.27590.36360.44830.27590.00000.13790.10350.1724
season0.60104-336.00095.00027.0001.0003.00044.00035.00030.00065.0000.28270.34570.39580.28270.00890.13100.08930.1935
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2940
predicted_3B0.0260
predicted_AB3.1320
predicted_AVG0.2794
predicted_BB0.3140
predicted_H0.8750
predicted_HBP0.0890
predicted_HR0.0240
predicted_OBP0.3583
predicted_R0.2320
predicted_RBI0.3790
predicted_SLG0.4125
predicted_SO0.5710
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.26000.29400.2746model_form_blend
predicted_3B0.01000.02600.0169model_form_blend
predicted_AB3.23103.13203.1886model_form_blend
predicted_AVG0.28300.27940.2815model_form_blend
predicted_BB0.28800.31400.2991model_form_blend
predicted_H0.91300.87500.8967model_form_blend
predicted_HBP-0.08900.0890form_only
predicted_HR0.02900.02400.0269model_form_blend
predicted_OBP0.34200.35830.3490model_form_blend
predicted_R0.33700.23200.2920model_form_blend
predicted_RBI0.42300.37900.4042model_form_blend
predicted_SLG0.39600.41250.4031model_form_blend
predicted_SO0.62500.57100.6019model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP1
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB5
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
allPositionsPlayedDH
gameID20260826_COL@WAS
game_typefull
mlbID687859
playerID687859
playerNameTroy Johnston
posRF
startedTrue
startingPositionDH
teamCOL
teamID9
game_date2026-08-26
sl_k_percent16.9
sl_bb_percent8.7
sl_woba0.339
sl_xwoba0.33
sl_xba0.282
sl_xslg0.387
sl_sweet_spot_percent40.4
sl_barrel_batted_rate2.4
sl_hard_hit_percent37.3
sl_exit_velocity_avg89.6
sl_launch_angle_avg13.6
sl_whiff_percent24.2
sl_swing_percent52.1
Jake McCarthy (664983) · BATTER · LF · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 445
All-history rows before 20260827: 445
System season_avg: 0.2920
Data season_avg (2026 season-to-date): 0.2993
Diff (system - data): -0.0073
System opponent_avg: 0.1750

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2341.0000.000Hitting_2B0.2561.0000.7440.000
predicted_3B0.0630.0000.000Hitting_3B0.0580.000-0.0580.000
predicted_AB5.1305.0005.000Hitting_AB3.9425.0001.0580.000
predicted_AVG0.2400.2000.200Hitting_AVG0.2990.400-0.099-0.200
predicted_BB0.1980.0000.000Hitting_BB0.2130.000-0.2130.000
predicted_CS-0.0000.000BaseRunning_CS0.0340.000-0.0340.000
predicted_H1.2301.0001.000Hitting_H1.1802.000-0.180-1.000
predicted_HR0.0800.0000.000Hitting_HR0.1390.000-0.1390.000
predicted_OBP0.3050.2000.200Hitting_OBP0.3390.400-0.139-0.200
predicted_R0.5591.0001.000Hitting_R0.6341.0000.3660.000
predicted_RBI0.4401.0000.000Hitting_RBI0.6740.0000.3261.000
predicted_SLG0.3650.4000.200Hitting_SLG0.5000.600-0.100-0.200
predicted_SO0.7031.0001.000Hitting_SO0.7281.0000.2720.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics6
Deboosted Metrics6
Better Metrics5
Worse Metrics7
Biggest Boostpredicted_2B: 0.2340 -> 1.0000 (boost 0.7660, better)
Biggest Deboostpredicted_H: 1.2300 -> 1.0000 (deboost -0.2300, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend53232predicted_AVG: 0.2400 -> 0.2551 (boost 0.0151, better)predicted_AB: 5.1300 -> 4.5850 (deboost -0.5450, worse)Final model input calibrated 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.3153 -> 0.2910 (deboost -0.0243, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling82617predicted_AB: 4.5850 -> 5.0000 (boost 0.4150, better)predicted_RBI: 0.4218 -> 0.0000 (deboost -0.4218, worse)AB rounded to 5 (raw=5.13), rates preserved: AVG=0.227 HR/AB=0.015
5consistency_constraints11010predicted_R: 0.5354 -> 1.0000 (boost 0.4646, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context30303-predicted_SLG: 0.3722 -> 0.3330 (deboost -0.0392, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference22020predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.3330 -> 0.3722 (boost 0.0392, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "664983",
  "player_name": "Jake McCarthy",
  "position": "LF",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.234,
        "predicted_3B": 0.063,
        "predicted_AB": 5.13,
        "predicted_AVG": 0.24,
        "predicted_BB": 0.198,
        "predicted_H": 1.23,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.305,
        "predicted_R": 0.559,
        "predicted_RBI": 0.44,
        "predicted_SLG": 0.365,
        "predicted_SO": 0.703
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2033,
        "predicted_3B": 0.0518,
        "predicted_AB": 4.585,
        "predicted_AVG": 0.2551,
        "predicted_BB": 0.2399,
        "predicted_H": 1.1579,
        "predicted_HBP": 0.023,
        "predicted_HR": 0.0778,
        "predicted_OBP": 0.3153,
        "predicted_R": 0.5327,
        "predicted_RBI": 0.4197,
        "predicted_SLG": 0.3778,
        "predicted_SO": 0.7069
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.234,
          "after": 0.2033,
          "delta": -0.0307,
          "percent_delta": -0.1312,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.063,
          "after": 0.0518,
          "delta": -0.0112,
          "percent_delta": -0.1778,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.13,
          "after": 4.585,
          "delta": -0.545,
          "percent_delta": -0.1062,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.24,
          "after": 0.2551,
          "delta": 0.0151,
          "percent_delta": 0.0629,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.198,
          "after": 0.2399,
          "delta": 0.0419,
          "percent_delta": 0.2116,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.23,
          "after": 1.1579,
          "delta": -0.0721,
          "percent_delta": -0.0586,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.0778,
          "delta": -0.0022,
          "percent_delta": -0.0275,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.305,
          "after": 0.3153,
          "delta": 0.0103,
          "percent_delta": 0.0338,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.559,
          "after": 0.5327,
          "delta": -0.0263,
          "percent_delta": -0.047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.44,
          "after": 0.4197,
          "delta": -0.0203,
          "percent_delta": -0.0461,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.365,
          "after": 0.3778,
          "delta": 0.0128,
          "percent_delta": 0.0351,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.703,
          "after": 0.7069,
          "delta": 0.0039,
          "percent_delta": 0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.24,
          "after": 0.2551,
          "delta": 0.0151,
          "percent_delta": 0.0629,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.13,
          "after": 4.585,
          "delta": -0.545,
          "percent_delta": -0.1062,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.2033,
        "predicted_3B": 0.0518,
        "predicted_AB": 4.585,
        "predicted_AVG": 0.254,
        "predicted_BB": 0.2389,
        "predicted_H": 1.1647,
        "predicted_HBP": 0.023,
        "predicted_HR": 0.0784,
        "predicted_OBP": 0.291,
        "predicted_R": 0.5354,
        "predicted_RBI": 0.4218,
        "predicted_SLG": 0.3722,
        "predicted_SO": 0.7099
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2033,
          "after": 0.2033,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0518,
          "after": 0.0518,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.585,
          "after": 4.585,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2551,
          "after": 0.254,
          "delta": -0.0011,
          "percent_delta": -0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2399,
          "after": 0.2389,
          "delta": -0.001,
          "percent_delta": -0.0042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1579,
          "after": 1.1647,
          "delta": 0.0068,
          "percent_delta": 0.0059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.023,
          "after": 0.023,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0778,
          "after": 0.0784,
          "delta": 0.0006,
          "percent_delta": 0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3153,
          "after": 0.291,
          "delta": -0.0243,
          "percent_delta": -0.0771,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5327,
          "after": 0.5354,
          "delta": 0.0027,
          "percent_delta": 0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4197,
          "after": 0.4218,
          "delta": 0.0021,
          "percent_delta": 0.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3778,
          "after": 0.3722,
          "delta": -0.0056,
          "percent_delta": -0.0148,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7069,
          "after": 0.7099,
          "delta": 0.003,
          "percent_delta": 0.0042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3153,
          "after": 0.291,
          "delta": -0.0243,
          "percent_delta": -0.0771,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=5.13), rates preserved: AVG=0.227 HR/AB=0.015",
      "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.2033,
          "after": 0.0,
          "delta": -0.2033,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0518,
          "after": 0.0,
          "delta": -0.0518,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.585,
          "after": 5.0,
          "delta": 0.415,
          "percent_delta": 0.0905,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2389,
          "after": 0.0,
          "delta": -0.2389,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1647,
          "after": 1.0,
          "delta": -0.1647,
          "percent_delta": -0.1414,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.023,
          "after": 0.0,
          "delta": -0.023,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0784,
          "after": 0.0,
          "delta": -0.0784,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4218,
          "after": 0.0,
          "delta": -0.4218,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7099,
          "after": 1.0,
          "delta": 0.2901,
          "percent_delta": 0.4086,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.585,
          "after": 5.0,
          "delta": 0.415,
          "percent_delta": 0.0905,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4218,
          "after": 0.0,
          "delta": -0.4218,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5354,
          "after": 1.0,
          "delta": 0.4646,
          "percent_delta": 0.8678,
          "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.5354,
          "after": 1.0,
          "delta": 0.4646,
          "percent_delta": 0.8678,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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_R",
          "before": 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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.227,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.267,
        "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": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.254,
          "after": 0.227,
          "delta": -0.027,
          "percent_delta": -0.1063,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.291,
          "after": 0.267,
          "delta": -0.024,
          "percent_delta": -0.0825,
          "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.3722,
          "after": 0.333,
          "delta": -0.0392,
          "percent_delta": -0.1053,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.3722,
          "after": 0.333,
          "delta": -0.0392,
          "percent_delta": -0.1053,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.254,
        "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.291,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3722,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.227,
          "after": 0.254,
          "delta": 0.027,
          "percent_delta": 0.1191,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.267,
          "after": 0.291,
          "delta": 0.024,
          "percent_delta": 0.0898,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.3722,
          "delta": 0.0392,
          "percent_delta": 0.1178,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.3722,
          "delta": 0.0392,
          "percent_delta": 0.1178,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.234,
        "after": 1.0,
        "delta": 0.766,
        "percent_delta": 3.2735,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.063,
        "after": 0.0,
        "delta": -0.063,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 5.13,
        "after": 5.0,
        "delta": -0.13,
        "percent_delta": -0.0253,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.24,
        "after": 0.254,
        "delta": 0.014,
        "percent_delta": 0.0583,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.198,
        "after": 0.0,
        "delta": -0.198,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.23,
        "after": 1.0,
        "delta": -0.23,
        "percent_delta": -0.187,
        "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.305,
        "after": 0.291,
        "delta": -0.014,
        "percent_delta": -0.0459,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.559,
        "after": 1.0,
        "delta": 0.441,
        "percent_delta": 0.7889,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.44,
        "after": 1.0,
        "delta": 0.56,
        "percent_delta": 1.2727,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.365,
        "after": 0.3722,
        "delta": 0.0072,
        "percent_delta": 0.0197,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.703,
        "after": 1.0,
        "delta": 0.297,
        "percent_delta": 0.4225,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 6,
      "deboosted_metrics": 6,
      "better_metrics": 5,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_2B",
        "before": 0.234,
        "after": 1.0,
        "delta": 0.766,
        "percent_delta": 3.2735,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.23,
        "after": 1.0,
        "delta": -0.23,
        "percent_delta": -0.187,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.234-
predicted_3B0.063-
predicted_AB5.130-
predicted_AVG0.240-
predicted_BB0.198-
predicted_H1.230-
predicted_HR0.080-
predicted_OBP0.305-
predicted_R0.559-
predicted_RBI0.440-
predicted_SLG0.365-
predicted_SO0.703-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.203-0.031
predicted_3B0.052-0.011
predicted_AB4.585-0.545
predicted_AVG0.2550.015
predicted_BB0.2400.042
predicted_H1.158-0.072
predicted_HBP0.023-
predicted_HR0.078-0.002
predicted_OBP0.3150.010
predicted_R0.533-0.026
predicted_RBI0.420-0.020
predicted_SLG0.3780.013
predicted_SO0.7070.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.2030.000
predicted_3B0.0520.000
predicted_AB4.5850.000
predicted_AVG0.254-0.001
predicted_BB0.239-0.001
predicted_H1.1650.007
predicted_HBP0.0230.000
predicted_HR0.0780.001
predicted_OBP0.291-0.024
predicted_R0.5350.003
predicted_RBI0.4220.002
predicted_SLG0.372-0.006
predicted_SO0.7100.003
4. ab_floor_and_scaling

AB rounded to 5 (raw=5.13), rates preserved: AVG=0.227 HR/AB=0.015

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI0.0000.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.203
predicted_3B0.000-0.052
predicted_AB5.0000.415
predicted_AVG0.227-0.027
predicted_BB0.000-0.239
predicted_H1.000-0.165
predicted_HR0.000-0.078
predicted_OBP0.267-0.024
predicted_R1.0000.465
predicted_RBI0.000-0.422
predicted_SLG0.333-0.039
predicted_SO1.0000.290
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0000.000
RBI1.0001.000
SB0.0000.000
SF0.0000.000
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: 5.130
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0005.0000.0000.0000.0000.0001.0002.0003.0000.25000.31820.25000.25000.00000.00000.10000.1500
last_100.2010-39.00010.0001.0000.0000.0001.0006.0005.0008.0000.25640.34090.28210.25640.00000.02560.12820.2051
season0.60111-424.000124.00026.0007.00013.00067.00062.00022.00078.0000.29250.33110.47880.29240.03070.15800.05190.1840
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1630
predicted_3B0.0370
predicted_AB3.8680
predicted_AVG0.2750
predicted_BB0.2950
predicted_H1.0630
predicted_HBP0.0230
predicted_HR0.0750
predicted_OBP0.3289
predicted_R0.4980
predicted_RBI0.3930
predicted_SLG0.3946
predicted_SO0.7120
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.23400.16300.2033model_form_blend
predicted_3B0.06300.03700.0518model_form_blend
predicted_AB5.13003.86804.5850model_form_blend
predicted_AVG0.24000.27500.2551model_form_blend
predicted_BB0.19800.29500.2399model_form_blend
predicted_H1.23001.06301.1579model_form_blend
predicted_HBP-0.02300.0230form_only
predicted_HR0.08000.07500.0778model_form_blend
predicted_OBP0.30500.32890.3153model_form_blend
predicted_R0.55900.49800.5327model_form_blend
predicted_RBI0.44000.39300.4197model_form_blend
predicted_SLG0.36500.39460.3778model_form_blend
predicted_SO0.70300.71200.7069model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H1
2B1
3B0
HR0
R1
RBI1
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB5
Hitting_AVG0.4
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB3
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260826_COL@WAS
game_typefull
mlbID664983
playerID664983
playerNameJake McCarthy
posLF
startedTrue
startingPositionLF
teamCOL
teamID9
game_date2026-08-26
sl_k_percent16.5
sl_bb_percent4.9
sl_woba0.347
sl_xwoba0.32
sl_xba0.275
sl_xslg0.408
sl_sweet_spot_percent39.4
sl_barrel_batted_rate5.3
sl_hard_hit_percent27.5
sl_exit_velocity_avg85.1
sl_launch_angle_avg12.4
sl_whiff_percent21.8
sl_swing_percent58.2
Ezequiel Tovar (678662) · BATTER · SS · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 429
All-history rows before 20260827: 429
System season_avg: 0.2110
Data season_avg (2026 season-to-date): 0.2174
Diff (system - data): -0.0064
System opponent_avg: 0.0840

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1790.0000.000Hitting_2B0.2070.000-0.2070.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.3164.0003.000Hitting_AB3.5804.0000.4200.000
predicted_AVG0.2400.5000.000Hitting_AVG0.2170.5000.2830.000
predicted_BB0.2220.0000.000Hitting_BB0.2331.000-0.233-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0090.000-0.0090.000
predicted_H0.2902.0000.000Hitting_H0.7792.0001.2210.000
predicted_HR0.0700.0000.000Hitting_HR0.0960.000-0.0960.000
predicted_OBP0.2820.5000.000Hitting_OBP0.2620.6000.238-0.100
predicted_R0.3591.0000.000Hitting_R0.4170.0000.5831.000
predicted_RBI0.1601.0000.000Hitting_RBI0.4202.0000.580-1.000
predicted_SLG0.4610.5000.000Hitting_SLG0.3550.5000.1450.000
predicted_SO0.8970.0001.000Hitting_SO0.9721.000-0.972-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_H: 0.2900 -> 2.0000 (boost 1.7100, better)
Biggest Deboostpredicted_SO: 0.8970 -> 0.0000 (deboost -0.8970, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend63342predicted_H: 0.2900 -> 0.4649 (boost 0.1749, better)predicted_AB: 3.3160 -> 3.1424 (deboost -0.1736, worse)Final model input calibrated 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.4501 -> 0.2985 (deboost -0.1516, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling71607predicted_SO: 0.8429 -> 1.0000 (boost 0.1571, worse)predicted_H: 0.4676 -> 0.0000 (deboost -0.4676, worse)AB rounded to 3 (raw=3.32), rates preserved: AVG=0.141 HR/AB=0.028
5bvp_blend00000--Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000)
6consistency_constraints21111predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 0.3366 -> 0.0000 (deboost -0.3366, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation10101-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context41313predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SLG: 0.2985 -> 0.2760 (deboost -0.0225, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference54150predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
10current_json_final33030predicted_SLG: 0.2760 -> 0.2985 (boost 0.0225, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "678662",
  "player_name": "Ezequiel Tovar",
  "position": "SS",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.179,
        "predicted_3B": 0.0,
        "predicted_AB": 3.316,
        "predicted_AVG": 0.24,
        "predicted_BB": 0.222,
        "predicted_H": 0.29,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.282,
        "predicted_R": 0.359,
        "predicted_RBI": 0.16,
        "predicted_SLG": 0.461,
        "predicted_SO": 0.897
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1876,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.1424,
        "predicted_AVG": 0.2396,
        "predicted_BB": 0.2341,
        "predicted_H": 0.4649,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.0933,
        "predicted_OBP": 0.2876,
        "predicted_R": 0.3349,
        "predicted_RBI": 0.216,
        "predicted_SLG": 0.4501,
        "predicted_SO": 0.8393
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.179,
          "after": 0.1876,
          "delta": 0.0086,
          "percent_delta": 0.048,
          "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.316,
          "after": 3.1424,
          "delta": -0.1736,
          "percent_delta": -0.0524,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.24,
          "after": 0.2396,
          "delta": -0.0004,
          "percent_delta": -0.0017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.222,
          "after": 0.2341,
          "delta": 0.0121,
          "percent_delta": 0.0545,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.29,
          "after": 0.4649,
          "delta": 0.1749,
          "percent_delta": 0.6031,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.0933,
          "delta": 0.0233,
          "percent_delta": 0.3329,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.282,
          "after": 0.2876,
          "delta": 0.0056,
          "percent_delta": 0.0199,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.359,
          "after": 0.3349,
          "delta": -0.0241,
          "percent_delta": -0.0671,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.16,
          "after": 0.216,
          "delta": 0.056,
          "percent_delta": 0.35,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.461,
          "after": 0.4501,
          "delta": -0.0109,
          "percent_delta": -0.0236,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.897,
          "after": 0.8393,
          "delta": -0.0577,
          "percent_delta": -0.0643,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.29,
          "after": 0.4649,
          "delta": 0.1749,
          "percent_delta": 0.6031,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.316,
          "after": 3.1424,
          "delta": -0.1736,
          "percent_delta": -0.0524,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 117
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1876,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.1424,
        "predicted_AVG": 0.1488,
        "predicted_BB": 0.2331,
        "predicted_H": 0.4676,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.094,
        "predicted_OBP": 0.2076,
        "predicted_R": 0.3366,
        "predicted_RBI": 0.2171,
        "predicted_SLG": 0.2985,
        "predicted_SO": 0.8429
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1876,
          "after": 0.1876,
          "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.1424,
          "after": 3.1424,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2396,
          "after": 0.1488,
          "delta": -0.0908,
          "percent_delta": -0.379,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2341,
          "after": 0.2331,
          "delta": -0.001,
          "percent_delta": -0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4649,
          "after": 0.4676,
          "delta": 0.0027,
          "percent_delta": 0.0058,
          "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.0933,
          "after": 0.094,
          "delta": 0.0007,
          "percent_delta": 0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2876,
          "after": 0.2076,
          "delta": -0.08,
          "percent_delta": -0.2782,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3349,
          "after": 0.3366,
          "delta": 0.0017,
          "percent_delta": 0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.216,
          "after": 0.2171,
          "delta": 0.0011,
          "percent_delta": 0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4501,
          "after": 0.2985,
          "delta": -0.1516,
          "percent_delta": -0.3368,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8393,
          "after": 0.8429,
          "delta": 0.0036,
          "percent_delta": 0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4501,
          "after": 0.2985,
          "delta": -0.1516,
          "percent_delta": -0.3368,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.32), rates preserved: AVG=0.141 HR/AB=0.028",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1876,
          "after": 0.0,
          "delta": -0.1876,
          "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.1424,
          "after": 3.0,
          "delta": -0.1424,
          "percent_delta": -0.0453,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2331,
          "after": 0.0,
          "delta": -0.2331,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.4676,
          "after": 0.0,
          "delta": -0.4676,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.01,
          "after": 0.0,
          "delta": -0.01,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.094,
          "after": 0.0,
          "delta": -0.094,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2171,
          "after": 0.0,
          "delta": -0.2171,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8429,
          "after": 1.0,
          "delta": 0.1571,
          "percent_delta": 0.1864,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.8429,
          "after": 1.0,
          "delta": 0.1571,
          "percent_delta": 0.1864,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.4676,
          "after": 0.0,
          "delta": -0.4676,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9333,
        "bvp": 0.0667
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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.3366,
          "after": 0.0,
          "delta": -0.3366,
          "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.3366,
          "after": 0.0,
          "delta": -0.3366,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_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": "embedded_savant_player_context",
      "description": "Player 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.132,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.192,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.276,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1488,
          "after": 0.132,
          "delta": -0.0168,
          "percent_delta": -0.1129,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2076,
          "after": 0.192,
          "delta": -0.0156,
          "percent_delta": -0.0751,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.2985,
          "after": 0.276,
          "delta": -0.0225,
          "percent_delta": -0.0754,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.2985,
          "after": 0.276,
          "delta": -0.0225,
          "percent_delta": -0.0754,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "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.1488,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2076,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2985,
        "predicted_SO": 0.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.132,
          "after": 0.1488,
          "delta": 0.0168,
          "percent_delta": 0.1274,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.192,
          "after": 0.2076,
          "delta": 0.0156,
          "percent_delta": 0.0812,
          "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.276,
          "after": 0.2985,
          "delta": 0.0225,
          "percent_delta": 0.0814,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.276,
          "after": 0.2985,
          "delta": 0.0225,
          "percent_delta": 0.0814,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.179,
        "after": 0.0,
        "delta": -0.179,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.316,
        "after": 4.0,
        "delta": 0.684,
        "percent_delta": 0.2063,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.24,
        "after": 0.1488,
        "delta": -0.0912,
        "percent_delta": -0.38,
        "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.29,
        "after": 2.0,
        "delta": 1.71,
        "percent_delta": 5.8966,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.07,
        "after": 0.0,
        "delta": -0.07,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.282,
        "after": 0.2076,
        "delta": -0.0744,
        "percent_delta": -0.2638,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.359,
        "after": 1.0,
        "delta": 0.641,
        "percent_delta": 1.7855,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.16,
        "after": 1.0,
        "delta": 0.84,
        "percent_delta": 5.25,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.461,
        "after": 0.2985,
        "delta": -0.1625,
        "percent_delta": -0.3525,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.897,
        "after": 0.0,
        "delta": -0.897,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.29,
        "after": 2.0,
        "delta": 1.71,
        "percent_delta": 5.8966,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.897,
        "after": 0.0,
        "delta": -0.897,
        "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.179-
predicted_3B0.000-
predicted_AB3.316-
predicted_AVG0.240-
predicted_BB0.222-
predicted_H0.290-
predicted_HR0.070-
predicted_OBP0.282-
predicted_R0.359-
predicted_RBI0.160-
predicted_SLG0.461-
predicted_SO0.897-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1880.009
predicted_3B0.0000.000
predicted_AB3.142-0.174
predicted_AVG0.240-0.000
predicted_BB0.2340.012
predicted_H0.4650.175
predicted_HBP0.010-
predicted_HR0.0930.023
predicted_OBP0.2880.006
predicted_R0.335-0.024
predicted_RBI0.2160.056
predicted_SLG0.450-0.011
predicted_SO0.839-0.058
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1880.000
predicted_3B0.0000.000
predicted_AB3.1420.000
predicted_AVG0.149-0.091
predicted_BB0.233-0.001
predicted_H0.4680.003
predicted_HBP0.0100.000
predicted_HR0.0940.001
predicted_OBP0.208-0.080
predicted_R0.3370.002
predicted_RBI0.2170.001
predicted_SLG0.298-0.152
predicted_SO0.8430.004
4. ab_floor_and_scaling

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

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H0.000-1.000
HR0.0000.000
R0.0000.000
RBI0.0000.000
SO1.0000.000
8. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.188
predicted_3B0.000-0.000
predicted_AB3.000-0.142
predicted_AVG0.132-0.017
predicted_BB0.000-0.233
predicted_H1.0000.532
predicted_HR0.000-0.094
predicted_OBP0.192-0.016
predicted_R0.000-0.337
predicted_RBI0.000-0.217
predicted_SLG0.276-0.022
predicted_SO1.0000.157
9. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H2.0002.000
HBP0.0000.000
HR0.0000.000
PA4.000-
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: 117
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-11.0003.0001.0000.0001.0001.0001.0001.0003.0000.27270.33330.63640.27270.09090.09090.09090.2727
last_100.2010-21.0006.0002.0000.0001.0002.0002.0003.0005.0000.28570.36000.52380.28570.04760.09520.14290.2381
season0.60117-388.00082.00021.0000.00010.00039.00042.00026.000105.0000.21130.25940.34280.21130.02580.10050.06700.2706
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1990
predicted_3B0.0010
predicted_AB2.9130
predicted_AVG0.2391
predicted_BB0.2500
predicted_H0.6960
predicted_HBP0.0100
predicted_HR0.1240
predicted_OBP0.2950
predicted_R0.3030
predicted_RBI0.2900
predicted_SLG0.4357
predicted_SO0.7630
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17900.19900.1876model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.31602.91303.1424model_form_blend
predicted_AVG0.24000.23910.2396model_form_blend
predicted_BB0.22200.25000.2341model_form_blend
predicted_H0.29000.69600.4649model_form_blend
predicted_HBP-0.01000.0100form_only
predicted_HR0.07000.12400.0933model_form_blend
predicted_OBP0.28200.29500.2876model_form_blend
predicted_R0.35900.30300.3349model_form_blend
predicted_RBI0.16000.29000.2160model_form_blend
predicted_SLG0.46100.43570.4501model_form_blend
predicted_SO0.89700.76300.8393model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder9
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260826_COL@WAS
game_typefull
mlbID678662
playerID678662
playerNameEzequiel Tovar
posSS
startedTrue
startingPositionSS
teamCOL
teamID9
game_date2026-08-26
sl_k_percent25.3
sl_bb_percent6.0
sl_woba0.259
sl_xwoba0.277
sl_xba0.223
sl_xslg0.364
sl_sweet_spot_percent34.4
sl_barrel_batted_rate6.6
sl_hard_hit_percent34.1
sl_exit_velocity_avg87.5
sl_launch_angle_avg17.8
sl_whiff_percent29.1
sl_swing_percent61.4
Hunter Goodman (696100) · BATTER · C · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 462
All-history rows before 20260827: 462
System season_avg: 0.2510
Data season_avg (2026 season-to-date): 0.2605
Diff (system - data): -0.0095
System opponent_avg: 0.2260

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1430.0000.000Hitting_2B0.1600.000-0.1600.000
predicted_3B0.0090.0000.000Hitting_3B0.0090.000-0.0090.000
predicted_AB4.5804.0005.000Hitting_AB3.9136.0000.087-2.000
predicted_AVG0.2180.0000.200Hitting_AVG0.2610.333-0.261-0.333
predicted_BB0.3481.0000.000Hitting_BB0.3900.0000.6101.000
predicted_CS-0.0000.000BaseRunning_CS0.0430.000-0.0430.000
predicted_H1.0000.0001.000Hitting_H1.0192.000-1.019-2.000
predicted_HR0.4100.0001.000Hitting_HR0.3511.000-0.351-1.000
predicted_OBP0.3010.2000.200Hitting_OBP0.3310.333-0.131-0.133
predicted_R0.6250.0001.000Hitting_R0.6902.000-0.690-2.000
predicted_RBI0.7600.0001.000Hitting_RBI0.7012.000-0.701-2.000
predicted_SLG0.5580.0000.800Hitting_SLG0.5750.833-0.575-0.833
predicted_SO1.3662.0001.000Hitting_SO1.4071.0000.5931.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_BB: 0.3480 -> 1.0000 (boost 0.6520, better)
Biggest Deboostpredicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend61524predicted_AVG: 0.2180 -> 0.2245 (boost 0.0065, better)predicted_AB: 4.5800 -> 4.1694 (deboost -0.4106, worse)Final model input calibrated 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.5502 -> 0.5319 (deboost -0.0183, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73443predicted_AB: 4.1694 -> 5.0000 (boost 0.8306, better)predicted_HR: 0.3642 -> 0.0000 (deboost -0.3642, worse)AB rounded to 5 (raw=4.58), rates preserved: AVG=0.205 HR/AB=0.080
5bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
6consistency_constraints11010predicted_R: 0.6217 -> 1.0000 (boost 0.3783, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation11010predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context40404-predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference62415predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
10current_json_final33030predicted_SLG: 0.4700 -> 0.5319 (boost 0.0619, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "696100",
  "player_name": "Hunter Goodman",
  "position": "C",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.143,
        "predicted_3B": 0.009,
        "predicted_AB": 4.58,
        "predicted_AVG": 0.218,
        "predicted_BB": 0.348,
        "predicted_H": 1.0,
        "predicted_HR": 0.41,
        "predicted_OBP": 0.301,
        "predicted_R": 0.625,
        "predicted_RBI": 0.76,
        "predicted_SLG": 0.558,
        "predicted_SO": 1.366
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1197,
        "predicted_3B": 0.0332,
        "predicted_AB": 4.1694,
        "predicted_AVG": 0.2245,
        "predicted_BB": 0.3381,
        "predicted_H": 0.9334,
        "predicted_HBP": 0.021,
        "predicted_HR": 0.3616,
        "predicted_OBP": 0.2994,
        "predicted_R": 0.6185,
        "predicted_RBI": 0.6857,
        "predicted_SLG": 0.5502,
        "predicted_SO": 1.248
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.143,
          "after": 0.1197,
          "delta": -0.0233,
          "percent_delta": -0.1629,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.009,
          "after": 0.0332,
          "delta": 0.0242,
          "percent_delta": 2.6889,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.58,
          "after": 4.1694,
          "delta": -0.4106,
          "percent_delta": -0.0897,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.218,
          "after": 0.2245,
          "delta": 0.0065,
          "percent_delta": 0.0298,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.348,
          "after": 0.3381,
          "delta": -0.0099,
          "percent_delta": -0.0284,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9334,
          "delta": -0.0666,
          "percent_delta": -0.0666,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.41,
          "after": 0.3616,
          "delta": -0.0484,
          "percent_delta": -0.118,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.301,
          "after": 0.2994,
          "delta": -0.0016,
          "percent_delta": -0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.625,
          "after": 0.6185,
          "delta": -0.0065,
          "percent_delta": -0.0104,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.76,
          "after": 0.6857,
          "delta": -0.0743,
          "percent_delta": -0.0978,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.558,
          "after": 0.5502,
          "delta": -0.0078,
          "percent_delta": -0.014,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.366,
          "after": 1.248,
          "delta": -0.118,
          "percent_delta": -0.0864,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.218,
          "after": 0.2245,
          "delta": 0.0065,
          "percent_delta": 0.0298,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.58,
          "after": 4.1694,
          "delta": -0.4106,
          "percent_delta": -0.0897,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 112
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1197,
        "predicted_3B": 0.0332,
        "predicted_AB": 4.1694,
        "predicted_AVG": 0.2252,
        "predicted_BB": 0.3366,
        "predicted_H": 0.9389,
        "predicted_HBP": 0.021,
        "predicted_HR": 0.3642,
        "predicted_OBP": 0.2831,
        "predicted_R": 0.6217,
        "predicted_RBI": 0.6892,
        "predicted_SLG": 0.5319,
        "predicted_SO": 1.2534
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1197,
          "after": 0.1197,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0332,
          "after": 0.0332,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1694,
          "after": 4.1694,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2245,
          "after": 0.2252,
          "delta": 0.0007,
          "percent_delta": 0.0031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3381,
          "after": 0.3366,
          "delta": -0.0015,
          "percent_delta": -0.0044,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9334,
          "after": 0.9389,
          "delta": 0.0055,
          "percent_delta": 0.0059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.021,
          "after": 0.021,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3616,
          "after": 0.3642,
          "delta": 0.0026,
          "percent_delta": 0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2994,
          "after": 0.2831,
          "delta": -0.0163,
          "percent_delta": -0.0544,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6185,
          "after": 0.6217,
          "delta": 0.0032,
          "percent_delta": 0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6857,
          "after": 0.6892,
          "delta": 0.0035,
          "percent_delta": 0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5502,
          "after": 0.5319,
          "delta": -0.0183,
          "percent_delta": -0.0333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.248,
          "after": 1.2534,
          "delta": 0.0054,
          "percent_delta": 0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.5502,
          "after": 0.5319,
          "delta": -0.0183,
          "percent_delta": -0.0333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=4.58), rates preserved: AVG=0.205 HR/AB=0.080",
      "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.1197,
          "after": 0.0,
          "delta": -0.1197,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0332,
          "after": 0.0,
          "delta": -0.0332,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1694,
          "after": 5.0,
          "delta": 0.8306,
          "percent_delta": 0.1992,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3366,
          "after": 0.0,
          "delta": -0.3366,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9389,
          "after": 1.0,
          "delta": 0.0611,
          "percent_delta": 0.0651,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.021,
          "after": 0.0,
          "delta": -0.021,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3642,
          "after": 0.0,
          "delta": -0.3642,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6892,
          "after": 1.0,
          "delta": 0.3108,
          "percent_delta": 0.451,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2534,
          "after": 1.0,
          "delta": -0.2534,
          "percent_delta": -0.2022,
          "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.1694,
          "after": 5.0,
          "delta": 0.8306,
          "percent_delta": 0.1992,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.3642,
          "after": 0.0,
          "delta": -0.3642,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.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": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6217,
          "after": 1.0,
          "delta": 0.3783,
          "percent_delta": 0.6085,
          "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.6217,
          "after": 1.0,
          "delta": 0.3783,
          "percent_delta": 0.6085,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "embedded_savant_player_context",
      "description": "Player 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.205,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.262,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.47,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.2252,
          "after": 0.205,
          "delta": -0.0202,
          "percent_delta": -0.0897,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2831,
          "after": 0.262,
          "delta": -0.0211,
          "percent_delta": -0.0745,
          "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.5319,
          "after": 0.47,
          "delta": -0.0619,
          "percent_delta": -0.1164,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "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.2252,
        "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.2831,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5319,
        "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.205,
          "after": 0.2252,
          "delta": 0.0202,
          "percent_delta": 0.0985,
          "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.262,
          "after": 0.2831,
          "delta": 0.0211,
          "percent_delta": 0.0804,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.47,
          "after": 0.5319,
          "delta": 0.0619,
          "percent_delta": 0.1316,
          "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.47,
          "after": 0.5319,
          "delta": 0.0619,
          "percent_delta": 0.1316,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.143,
        "after": 0.0,
        "delta": -0.143,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.009,
        "after": 0.0,
        "delta": -0.009,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.58,
        "after": 4.0,
        "delta": -0.58,
        "percent_delta": -0.1266,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.218,
        "after": 0.2252,
        "delta": 0.0072,
        "percent_delta": 0.033,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.348,
        "after": 1.0,
        "delta": 0.652,
        "percent_delta": 1.8736,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.41,
        "after": 0.0,
        "delta": -0.41,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.301,
        "after": 0.2831,
        "delta": -0.0179,
        "percent_delta": -0.0595,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.625,
        "after": 0.0,
        "delta": -0.625,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.76,
        "after": 0.0,
        "delta": -0.76,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.558,
        "after": 0.5319,
        "delta": -0.0261,
        "percent_delta": -0.0468,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.366,
        "after": 2.0,
        "delta": 0.634,
        "percent_delta": 0.4641,
        "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_BB",
        "before": 0.348,
        "after": 1.0,
        "delta": 0.652,
        "percent_delta": 1.8736,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.143-
predicted_3B0.009-
predicted_AB4.580-
predicted_AVG0.218-
predicted_BB0.348-
predicted_H1.000-
predicted_HR0.410-
predicted_OBP0.301-
predicted_R0.625-
predicted_RBI0.760-
predicted_SLG0.558-
predicted_SO1.366-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.120-0.023
predicted_3B0.0330.024
predicted_AB4.169-0.411
predicted_AVG0.2250.007
predicted_BB0.338-0.010
predicted_H0.933-0.067
predicted_HBP0.021-
predicted_HR0.362-0.048
predicted_OBP0.299-0.002
predicted_R0.619-0.006
predicted_RBI0.686-0.074
predicted_SLG0.550-0.008
predicted_SO1.248-0.118
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1200.000
predicted_3B0.0330.000
predicted_AB4.1690.000
predicted_AVG0.2250.001
predicted_BB0.337-0.002
predicted_H0.9390.005
predicted_HBP0.0210.000
predicted_HR0.3640.003
predicted_OBP0.283-0.016
predicted_R0.6220.003
predicted_RBI0.6890.004
predicted_SLG0.532-0.018
predicted_SO1.2530.005
4. ab_floor_and_scaling

AB rounded to 5 (raw=4.58), rates preserved: AVG=0.205 HR/AB=0.080

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
H1.0000.000
HR1.0001.000
R1.0000.000
RBI1.0000.000
SO1.0000.000
8. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.120
predicted_3B0.000-0.033
predicted_AB5.0000.831
predicted_AVG0.205-0.020
predicted_BB0.000-0.337
predicted_H1.0000.061
predicted_HR0.000-0.364
predicted_OBP0.262-0.021
predicted_R1.0000.378
predicted_RBI1.0000.311
predicted_SLG0.470-0.062
predicted_SO1.000-0.253
9. 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
BB1.0001.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.000-1.000
PA5.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 112
Reference playing time: 4.580
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0004.0000.0001.0002.0003.0004.0002.0002.0000.23530.31580.70590.23530.11770.17650.11770.1177
last_100.2010-35.0006.0000.0001.0002.0005.0004.0002.00011.0000.17140.21050.40000.17140.05710.14290.05710.3143
season0.60112-418.000105.00016.0001.00035.00070.00070.00039.000153.0000.25120.31900.54550.25120.08370.16750.09330.3660
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0890
predicted_3B0.0650
predicted_AB3.6300
predicted_AVG0.2330
predicted_BB0.3250
predicted_H0.8460
predicted_HBP0.0210
predicted_HR0.2980
predicted_OBP0.2972
predicted_R0.6100
predicted_RBI0.5880
predicted_SLG0.5399
predicted_SO1.0930
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14300.08900.1197model_form_blend
predicted_3B0.00900.06500.0332model_form_blend
predicted_AB4.58003.63004.1694model_form_blend
predicted_AVG0.21800.23300.2245model_form_blend
predicted_BB0.34800.32500.3381model_form_blend
predicted_H1.00000.84600.9334model_form_blend
predicted_HBP-0.02100.0210form_only
predicted_HR0.41000.29800.3616model_form_blend
predicted_OBP0.30100.29720.2994model_form_blend
predicted_R0.62500.61000.6185model_form_blend
predicted_RBI0.76000.58800.6857model_form_blend
predicted_SLG0.55800.53990.5502model_form_blend
predicted_SO1.36601.09301.2480model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB6
Hitting_AVG0.333
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R2
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB5
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260826_COL@WAS
game_typefull
mlbID696100
playerID696100
playerNameHunter Goodman
posC
startedTrue
startingPositionC
teamCOL
teamID9
game_date2026-08-26
sl_k_percent32.4
sl_bb_percent8.4
sl_woba0.367
sl_xwoba0.329
sl_xba0.23
sl_xslg0.469
sl_sweet_spot_percent33.0
sl_barrel_batted_rate16.3
sl_hard_hit_percent45.6
sl_exit_velocity_avg90.3
sl_launch_angle_avg18.2
sl_whiff_percent35.5
sl_swing_percent54.0
TJ Rumfield (681198) · BATTER · 1B · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 501
All-history rows before 20260827: 501
System season_avg: 0.2880
Data season_avg (2026 season-to-date): 0.2901
Diff (system - data): -0.0021
System opponent_avg: 0.2140

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2000.0000.000Hitting_2B0.2261.000-0.226-1.000
predicted_3B0.0160.0000.000Hitting_3B0.0200.000-0.0200.000
predicted_AB3.5845.0004.000Hitting_AB3.7704.0001.2301.000
predicted_AVG0.2490.2000.250Hitting_AVG0.2900.500-0.090-0.300
predicted_BB0.4160.0001.000Hitting_BB0.4312.000-0.431-2.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7301.0001.000Hitting_H1.0942.000-0.094-1.000
predicted_HR0.0700.0000.000Hitting_HR0.1140.000-0.1140.000
predicted_OBP0.3500.2000.400Hitting_OBP0.3730.667-0.173-0.467
predicted_R0.4320.0000.000Hitting_R0.4831.000-0.483-1.000
predicted_RBI0.3000.0000.000Hitting_RBI0.5110.000-0.5110.000
predicted_SLG0.3450.2000.250Hitting_SLG0.4510.750-0.251-0.550
predicted_SO0.5843.0001.000Hitting_SO0.5990.0002.4013.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics3
Deboosted Metrics8
Better Metrics2
Worse Metrics9
Biggest Boostpredicted_SO: 0.5840 -> 3.0000 (boost 2.4160, worse)
Biggest Deboostpredicted_R: 0.4320 -> 0.0000 (deboost -0.4320, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_BB: 0.4160 -> 0.5014 (boost 0.0854, better)predicted_AB: 3.5840 -> 3.4773 (deboost -0.1067, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_OBP: 0.3541 -> 0.3132 (deboost -0.0409, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling84435predicted_AB: 3.4773 -> 4.0000 (boost 0.5227, better)predicted_RBI: 0.2980 -> 0.0000 (deboost -0.2980, worse)AB rounded to 4 (raw=3.58), rates preserved: AVG=0.208 HR/AB=0.019
5consistency_constraints10101-predicted_R: 0.3902 -> 0.0000 (deboost -0.3902, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context20202-predicted_SLG: 0.3288 -> 0.3190 (deboost -0.0098, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference32112predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final22020predicted_SLG: 0.3190 -> 0.3288 (boost 0.0098, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "681198",
  "player_name": "TJ Rumfield",
  "position": "1B",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.2,
        "predicted_3B": 0.016,
        "predicted_AB": 3.584,
        "predicted_AVG": 0.249,
        "predicted_BB": 0.416,
        "predicted_H": 0.73,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.35,
        "predicted_R": 0.432,
        "predicted_RBI": 0.3,
        "predicted_SLG": 0.345,
        "predicted_SO": 0.584
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1714,
        "predicted_3B": 0.013,
        "predicted_AB": 3.4773,
        "predicted_AVG": 0.2394,
        "predicted_BB": 0.5014,
        "predicted_H": 0.7417,
        "predicted_HBP": 0.075,
        "predicted_HR": 0.0661,
        "predicted_OBP": 0.3541,
        "predicted_R": 0.3882,
        "predicted_RBI": 0.2965,
        "predicted_SLG": 0.3375,
        "predicted_SO": 0.5966
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2,
          "after": 0.1714,
          "delta": -0.0286,
          "percent_delta": -0.143,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.016,
          "after": 0.013,
          "delta": -0.003,
          "percent_delta": -0.1875,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.584,
          "after": 3.4773,
          "delta": -0.1067,
          "percent_delta": -0.0298,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.249,
          "after": 0.2394,
          "delta": -0.0096,
          "percent_delta": -0.0386,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.416,
          "after": 0.5014,
          "delta": 0.0854,
          "percent_delta": 0.2053,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.73,
          "after": 0.7417,
          "delta": 0.0117,
          "percent_delta": 0.016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.0661,
          "delta": -0.0039,
          "percent_delta": -0.0557,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.35,
          "after": 0.3541,
          "delta": 0.0041,
          "percent_delta": 0.0117,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.432,
          "after": 0.3882,
          "delta": -0.0438,
          "percent_delta": -0.1014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3,
          "after": 0.2965,
          "delta": -0.0035,
          "percent_delta": -0.0117,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.345,
          "after": 0.3375,
          "delta": -0.0075,
          "percent_delta": -0.0217,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.584,
          "after": 0.5966,
          "delta": 0.0126,
          "percent_delta": 0.0216,
          "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.416,
          "after": 0.5014,
          "delta": 0.0854,
          "percent_delta": 0.2053,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.584,
          "after": 3.4773,
          "delta": -0.1067,
          "percent_delta": -0.0298,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 125
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1714,
        "predicted_3B": 0.013,
        "predicted_AB": 3.4773,
        "predicted_AVG": 0.2146,
        "predicted_BB": 0.4992,
        "predicted_H": 0.7461,
        "predicted_HBP": 0.075,
        "predicted_HR": 0.0666,
        "predicted_OBP": 0.3132,
        "predicted_R": 0.3902,
        "predicted_RBI": 0.298,
        "predicted_SLG": 0.3288,
        "predicted_SO": 0.5992
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1714,
          "after": 0.1714,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.013,
          "after": 0.013,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4773,
          "after": 3.4773,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2394,
          "after": 0.2146,
          "delta": -0.0248,
          "percent_delta": -0.1036,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5014,
          "after": 0.4992,
          "delta": -0.0022,
          "percent_delta": -0.0044,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7417,
          "after": 0.7461,
          "delta": 0.0044,
          "percent_delta": 0.0059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.075,
          "after": 0.075,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0661,
          "after": 0.0666,
          "delta": 0.0005,
          "percent_delta": 0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3541,
          "after": 0.3132,
          "delta": -0.0409,
          "percent_delta": -0.1155,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3882,
          "after": 0.3902,
          "delta": 0.002,
          "percent_delta": 0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2965,
          "after": 0.298,
          "delta": 0.0015,
          "percent_delta": 0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3375,
          "after": 0.3288,
          "delta": -0.0087,
          "percent_delta": -0.0258,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5966,
          "after": 0.5992,
          "delta": 0.0026,
          "percent_delta": 0.0044,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3541,
          "after": 0.3132,
          "delta": -0.0409,
          "percent_delta": -0.1155,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.58), rates preserved: AVG=0.208 HR/AB=0.019",
      "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.1714,
          "after": 0.0,
          "delta": -0.1714,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.013,
          "after": 0.0,
          "delta": -0.013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4773,
          "after": 4.0,
          "delta": 0.5227,
          "percent_delta": 0.1503,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4992,
          "after": 1.0,
          "delta": 0.5008,
          "percent_delta": 1.0032,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7461,
          "after": 1.0,
          "delta": 0.2539,
          "percent_delta": 0.3403,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.075,
          "after": 0.0,
          "delta": -0.075,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0666,
          "after": 0.0,
          "delta": -0.0666,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.298,
          "after": 0.0,
          "delta": -0.298,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5992,
          "after": 1.0,
          "delta": 0.4008,
          "percent_delta": 0.6689,
          "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": 3.4773,
          "after": 4.0,
          "delta": 0.5227,
          "percent_delta": 0.1503,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.298,
          "after": 0.0,
          "delta": -0.298,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3902,
          "after": 0.0,
          "delta": -0.3902,
          "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.3902,
          "after": 0.0,
          "delta": -0.3902,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": {},
      "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.208,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.31,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.319,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2146,
          "after": 0.208,
          "delta": -0.0066,
          "percent_delta": -0.0308,
          "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.3132,
          "after": 0.31,
          "delta": -0.0032,
          "percent_delta": -0.0102,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3288,
          "after": 0.319,
          "delta": -0.0098,
          "percent_delta": -0.0298,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.3288,
          "after": 0.319,
          "delta": -0.0098,
          "percent_delta": -0.0298,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2146,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3132,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3288,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.208,
          "after": 0.2146,
          "delta": 0.0066,
          "percent_delta": 0.0315,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.31,
          "after": 0.3132,
          "delta": 0.0032,
          "percent_delta": 0.0102,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.319,
          "after": 0.3288,
          "delta": 0.0098,
          "percent_delta": 0.0306,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.319,
          "after": 0.3288,
          "delta": 0.0098,
          "percent_delta": 0.0306,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.2,
        "after": 0.0,
        "delta": -0.2,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.016,
        "after": 0.0,
        "delta": -0.016,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.584,
        "after": 5.0,
        "delta": 1.416,
        "percent_delta": 0.3951,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.249,
        "after": 0.2146,
        "delta": -0.0344,
        "percent_delta": -0.1382,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.416,
        "after": 0.0,
        "delta": -0.416,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.73,
        "after": 1.0,
        "delta": 0.27,
        "percent_delta": 0.3699,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.07,
        "after": 0.0,
        "delta": -0.07,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.35,
        "after": 0.3132,
        "delta": -0.0368,
        "percent_delta": -0.1051,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.432,
        "after": 0.0,
        "delta": -0.432,
        "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.345,
        "after": 0.3288,
        "delta": -0.0162,
        "percent_delta": -0.047,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.584,
        "after": 3.0,
        "delta": 2.416,
        "percent_delta": 4.137,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.584,
        "after": 3.0,
        "delta": 2.416,
        "percent_delta": 4.137,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.432,
        "after": 0.0,
        "delta": -0.432,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.200-
predicted_3B0.016-
predicted_AB3.584-
predicted_AVG0.249-
predicted_BB0.416-
predicted_H0.730-
predicted_HR0.070-
predicted_OBP0.350-
predicted_R0.432-
predicted_RBI0.300-
predicted_SLG0.345-
predicted_SO0.584-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.171-0.029
predicted_3B0.013-0.003
predicted_AB3.477-0.107
predicted_AVG0.239-0.010
predicted_BB0.5010.085
predicted_H0.7420.012
predicted_HBP0.075-
predicted_HR0.066-0.004
predicted_OBP0.3540.004
predicted_R0.388-0.044
predicted_RBI0.296-0.004
predicted_SLG0.338-0.007
predicted_SO0.5970.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.1710.000
predicted_3B0.0130.000
predicted_AB3.4770.000
predicted_AVG0.215-0.025
predicted_BB0.499-0.002
predicted_H0.7460.004
predicted_HBP0.0750.000
predicted_HR0.0670.001
predicted_OBP0.313-0.041
predicted_R0.3900.002
predicted_RBI0.2980.002
predicted_SLG0.329-0.009
predicted_SO0.5990.003
4. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.171
predicted_3B0.000-0.013
predicted_AB4.0000.523
predicted_AVG0.208-0.007
predicted_BB1.0000.501
predicted_H1.0000.254
predicted_HR0.000-0.067
predicted_OBP0.310-0.003
predicted_R0.000-0.390
predicted_RBI0.000-0.298
predicted_SLG0.319-0.010
predicted_SO1.0000.401
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 125
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.0005.0003.0000.07690.33330.07690.07690.00000.00000.38460.2308
last_100.2010-32.0006.0001.0000.0000.0001.0004.0007.0006.0000.18750.36590.21880.18750.00000.03120.21880.1875
season0.60125-448.000129.00025.0002.00013.00059.00054.00052.00073.0000.28790.37130.43970.28790.02900.13170.11610.1630
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1340
predicted_3B0.0090
predicted_AB3.3380
predicted_AVG0.2269
predicted_BB0.6130
predicted_H0.7570
predicted_HBP0.0750
predicted_HR0.0610
predicted_OBP0.3594
predicted_R0.3310
predicted_RBI0.2920
predicted_SLG0.3277
predicted_SO0.6130
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20000.13400.1714model_form_blend
predicted_3B0.01600.00900.0130model_form_blend
predicted_AB3.58403.33803.4773model_form_blend
predicted_AVG0.24900.22690.2394model_form_blend
predicted_BB0.41600.61300.5014model_form_blend
predicted_H0.73000.75700.7417model_form_blend
predicted_HBP-0.07500.0750form_only
predicted_HR0.07000.06100.0661model_form_blend
predicted_OBP0.35000.35940.3541model_form_blend
predicted_R0.43200.33100.3882model_form_blend
predicted_RBI0.30000.29200.2965model_form_blend
predicted_SLG0.34500.32770.3375model_form_blend
predicted_SO0.58400.61300.5966model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB2
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB3
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260826_COL@WAS
game_typefull
mlbID681198
playerID681198
playerNameTJ Rumfield
pos1B
startedTrue
startingPosition1B
teamCOL
teamID9
game_date2026-08-26
sl_k_percent13.8
sl_bb_percent11.6
sl_woba0.364
sl_xwoba0.328
sl_xba0.256
sl_xslg0.375
sl_sweet_spot_percent36.4
sl_barrel_batted_rate4.3
sl_hard_hit_percent27.8
sl_exit_velocity_avg84.1
sl_launch_angle_avg16.1
sl_whiff_percent19.7
sl_swing_percent49.1
Gabriel Hughes (687312) · PITCHER · Starter · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 9
All-history rows before 20260827: 9

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB3.0003.0003.000Pitching_BB1.6672.0001.3331.000
predicted_ER4.0004.0004.000Pitching_ER3.4443.0000.5561.000
predicted_H4.0004.0004.000Pitching_H4.7784.000-0.7780.000
predicted_IP4.1004.1004.100Pitching_InningsPitched4.6895.000-0.589-0.900
predicted_SO2.0002.0002.000Pitching_SO3.8892.000-1.8890.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics3
Boosted Metrics2
Deboosted Metrics1
Better Metrics0
Worse Metrics3
Biggest Boostpredicted_ER: 3.0000 -> 4.0000 (boost 1.0000, worse)
Biggest Deboostpredicted_IP: 4.6667 -> 4.1000 (deboost -0.5667, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2starter_usage_guardrail10101-predicted_IP: 4.6667 -> 4.1000 (deboost -0.5667, worse)Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
3starter_quality_floor22002predicted_ER: 3.0000 -> 4.0000 (boost 1.0000, worse)-Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.
4current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "687312",
  "player_name": "Gabriel Hughes",
  "position": "Starter",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 3.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.6667,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "starter_usage_guardrail",
      "description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 3.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.1,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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": 4.6667,
          "after": 4.1,
          "delta": -0.5667,
          "percent_delta": -0.1214,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 4.6667,
          "after": 4.1,
          "delta": -0.5667,
          "percent_delta": -0.1214,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "starter_quality_floor",
      "description": "Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 4.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.1,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 4.1,
          "after": 4.1,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 4.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.1,
        "predicted_R": 4.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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": 4.1,
          "after": 4.1,
          "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": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 3.0,
        "after": 4.0,
        "delta": 1.0,
        "percent_delta": 0.3333,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 3.0,
        "after": 4.0,
        "delta": 1.0,
        "percent_delta": 0.3333,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 4.6667,
        "after": 4.1,
        "delta": -0.5667,
        "percent_delta": -0.1214,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 3,
      "boosted_metrics": 2,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_ER",
        "before": 3.0,
        "after": 4.0,
        "delta": 1.0,
        "percent_delta": 0.3333,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 4.6667,
        "after": 4.1,
        "delta": -0.5667,
        "percent_delta": -0.1214,
        "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_ER3.000-
predicted_H3.000-
predicted_HR0.000-
predicted_IP4.667-
predicted_SO2.000-
2. starter_usage_guardrail

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

MetricValueDelta vs Prev Step
predicted_BB3.0000.000
predicted_ER3.0000.000
predicted_H3.0000.000
predicted_HR0.0000.000
predicted_IP4.100-0.567
predicted_SO2.0000.000
3. starter_quality_floor

Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.

MetricValueDelta vs Prev Step
predicted_BB3.0000.000
predicted_ER4.0001.000
predicted_H4.0001.000
predicted_HR0.0000.000
predicted_IP4.1000.000
predicted_SO2.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 9
Reference playing time: 4.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45523.10025.00027.0009.00016.0004.0009.64291.54291.07141.15710.38570.68570.1714
last_100.35942.20031.00043.00015.00035.0004.0006.53911.35940.72661.00780.35160.82030.0938
season0.20942.20031.00043.00015.00035.0004.0006.53911.35940.72661.00780.35160.82030.0938
Weighted Prediction From Real Data
MetricValue
predicted_BB1.7310
predicted_ER3.6520
predicted_ERA7.0433
predicted_H4.9240
predicted_HR0.6690
predicted_IP4.2000
predicted_SO3.7880
predicted_WHIP1.4261
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB3.00001.73102.3666model_form_blend
predicted_ER3.00003.65203.3254model_form_blend
predicted_ERA-7.04337.0433form_only
predicted_H3.00004.92403.9603model_form_blend
predicted_HR0.00000.66900.3339model_form_blend
predicted_IP4.20004.20004.2000model_form_blend
predicted_SO2.00003.78802.8924model_form_blend
predicted_WHIP-1.42611.4261form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP4.1
H4
R4
ER4
BB3
SO2
HR0
BF22
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_BB2
Pitching_Balk0
Pitching_Batters Faced21
Pitching_ER3
Pitching_ERA6.54
Pitching_Flyouts3
Pitching_Groundouts7
Pitching_H4
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched5.0
Pitching_Pitches86
Pitching_R3
Pitching_SO2
Pitching_Strikes51
Pitching_Wild Pitch0
Pitching_decisionL
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260822_CLE@COL
game_typefull
mlbID687312
playerID687312
playerNameGabriel Hughes
posP
startedTrue
startingPositionP
teamCOL
teamID9
game_date2026-08-22
sl_k_percent18.0
sl_bb_percent9.0
sl_woba0.334
sl_xwoba0.295
sl_sweet_spot_percent33.6
sl_barrel_batted_rate4.6
sl_hard_hit_percent28.9
sl_whiff_percent18.7
sl_swing_percent47.7
sl_avg_best_speed77.792712703
sl_avg_hyper_speed92.656864218
Brennan Bernardino (657514) · PITCHER · Setup Man · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 61
All-history rows before 20260827: 61

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB0.2300.0001.7702.000
predicted_ER1.0001.0001.000Pitching_ER0.2620.0000.7381.000
predicted_H1.0001.0001.000Pitching_H0.8031.0000.1970.000
predicted_IP1.1001.1001.100Pitching_InningsPitched0.7081.0000.3920.100
predicted_SO2.0002.0002.000Pitching_SO0.6562.0001.3440.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB2.000-
predicted_ER2.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO2.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 61
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.1002.0007.0000.0003.0001.0004.15381.61540.46151.61540.00000.69230.2308
last_100.35108.1003.0009.0002.0006.0002.0003.24001.32000.36001.08000.24000.72000.2400
season0.206153.00016.00049.00014.00040.0004.0002.71701.18870.30190.92450.26410.75470.0755
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1940
predicted_ER0.3940
predicted_ERA3.8535
predicted_H1.0950
predicted_HR0.1700
predicted_IP1.0000
predicted_SO0.7260
predicted_WHIP1.3998
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00000.19401.0701model_form_blend
predicted_ER2.00000.39401.1731model_form_blend
predicted_ERA-3.85353.8535form_only
predicted_H1.00001.09501.0489model_form_blend
predicted_HR0.00000.17000.0875model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00000.72601.3440model_form_blend
predicted_WHIP-1.39981.3998form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H1
R1
ER1
BB2
SO2
HR0
BF7
Pitches28

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA2.72
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches13
Pitching_R0
Pitching_SO2
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260825_COL@WAS
game_typefull
mlbID657514
playerID657514
playerNameBrennan Bernardino
posP
startedFalse
startingPositionP
teamCOL
teamID9
game_date2026-08-25
sl_k_percent17.7
sl_bb_percent6.0
sl_woba0.289
sl_xwoba0.301
sl_sweet_spot_percent31.2
sl_barrel_batted_rate5.2
sl_hard_hit_percent31.2
sl_whiff_percent21.7
sl_swing_percent46.6
sl_avg_best_speed76.215348471
sl_avg_hyper_speed92.814229586
Jordan Romano (605447) · PITCHER · Closer · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 16
All-history rows before 20260827: 16

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.5001.0000.5000.000
predicted_ER1.0001.0001.000Pitching_ER0.2500.0000.7501.000
predicted_H1.0001.0001.000Pitching_H0.7500.0000.2501.000
predicted_IP1.1001.1001.100Pitching_InningsPitched0.9501.0000.1500.100
predicted_SO1.0001.0001.000Pitching_SO0.9380.0000.0621.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER1.000-
predicted_H2.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 26
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0000.0001.0002.0001.0000.0000.00000.60000.00000.20000.40000.20000.0000
last_100.351010.0003.0008.0004.0007.0000.0002.70001.20000.30000.80000.40000.70000.0000
season0.202623.20010.00020.00012.00027.0000.0003.80281.35210.42250.84510.50701.14080.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3940
predicted_ER0.3490
predicted_ERA3.1418
predicted_H0.7620
predicted_HR0.0750
predicted_IP1.0000
predicted_SO0.7590
predicted_WHIP1.1564
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.39400.7374model_form_blend
predicted_ER1.00000.34900.7179model_form_blend
predicted_ERA-3.14183.1418form_only
predicted_H2.00000.76201.4635model_form_blend
predicted_HR0.00000.07500.0325model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.75900.8956model_form_blend
predicted_WHIP-1.15641.1564form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H1
R1
ER1
BB1
SO1
HR0
BF6
Pitches24

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA4.94
Pitching_Flyouts1
Pitching_Groundouts2
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches13
Pitching_R0
Pitching_SO0
Pitching_Strikes7
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder6
allPositionsPlayedP
gameID20260825_COL@WAS
game_typefull
mlbID605447
playerID605447
playerNameJordan Romano
posP
startedFalse
startingPositionP
teamCOL
teamID9
game_date2026-08-25
sl_k_percent24.8
sl_bb_percent12.4
sl_woba0.294
sl_xwoba0.287
sl_sweet_spot_percent32.9
sl_barrel_batted_rate2.9
sl_hard_hit_percent31.4
sl_whiff_percent27.1
sl_swing_percent43.8
sl_avg_best_speed76.002309143
sl_avg_hyper_speed92.742399571
Jimmy Herget (623474) · PITCHER · Middle Reliever (High Leverage) · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 41
All-history rows before 20260827: 41

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5370.000-0.5370.000
predicted_ER0.0000.0000.000Pitching_ER0.6100.000-0.6100.000
predicted_H0.0000.0000.000Pitching_H1.0000.000-1.0000.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8541.0000.1460.000
predicted_SO1.0001.0001.000Pitching_SO0.8780.0000.1221.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 40
Reference playing time: 0.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.2001.0002.0003.0002.0000.0001.58820.88240.17650.35290.52940.35290.0000
last_100.351010.1002.0004.0006.0006.0000.0001.74190.96770.19350.38710.58060.58060.0000
season0.204039.20025.00040.00021.00036.0006.0005.67231.53780.63021.00840.52940.90760.1513
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3550
predicted_ER0.2680
predicted_ERA3.2487
predicted_H0.5060
predicted_HR0.0560
predicted_IP0.2000
predicted_SO0.5190
predicted_WHIP1.1588
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.35500.1729model_form_blend
predicted_ER0.00000.26800.1305model_form_blend
predicted_ERA-3.24873.2487form_only
predicted_H0.00000.50600.2464model_form_blend
predicted_HR0.00000.05600.0273model_form_blend
predicted_IP0.10000.20000.1000model_form_blend
predicted_SO1.00000.51900.7658model_form_blend
predicted_WHIP-1.15881.1588form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced2
Pitching_ER0
Pitching_ERA5.67
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches7
Pitching_R0
Pitching_SO0
Pitching_Strikes3
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260825_COL@WAS
game_typefull
mlbID623474
playerID623474
playerNameJimmy Herget
posP
startedFalse
startingPositionP
teamCOL
teamID9
game_date2026-08-25
sl_k_percent20.0
sl_bb_percent11.6
sl_woba0.372
sl_xwoba0.323
sl_sweet_spot_percent32.3
sl_barrel_batted_rate8.7
sl_hard_hit_percent36.2
sl_whiff_percent25.6
sl_swing_percent47.3
sl_avg_best_speed75.942255
sl_avg_hyper_speed93.885092581

Home Team: WAS

Home Pitcher Deep Analysis

FieldValue
PitcherJake Irvin
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.5520
ESPN Rank750
Movement AvailableTrue
Primary Pitch-
Movement Score-0.1455
Avg Velo87.2490
Avg Spin2375.9583
HB Inches0
IVB Inches0
Release Extension0
Pre IP4.2000
Pre ER3
Pre H5
Pre BB3
Pre SO6
Season ERA5.8190
Season WHIP1.3578
Role Avg IP4.8330
Recent Avg IP5.1330
Last Start IP6
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "WAS",
    "games": 134,
    "wins": 62,
    "losses": 72,
    "win_pct": 0.4627,
    "runs_scored": 696.0,
    "runs_allowed": 678.0,
    "run_differential": 18.0,
    "run_differential_per_game": 0.1343,
    "avg_runs_scored": 5.194,
    "avg_runs_allowed": 5.0597,
    "offense_index": 1.1595,
    "defense_index": 0.8853,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 3.3,
      "avg_runs_allowed": 3.5,
      "run_differential": -2.0
    },
    "available": true,
    "quality_score": -0.1202
  },
  "opponent": {
    "team": "COL",
    "games": 132,
    "wins": 51,
    "losses": 81,
    "win_pct": 0.3864,
    "runs_scored": 623.0,
    "runs_allowed": 767.0,
    "run_differential": -144.0,
    "run_differential_per_game": -1.0909,
    "avg_runs_scored": 4.7197,
    "avg_runs_allowed": 5.8106,
    "offense_index": 1.0536,
    "defense_index": 0.7709,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 7.2,
      "run_differential": -31.0
    },
    "available": true,
    "quality_score": -0.3355
  },
  "edges": {
    "quality_edge": 0.2153,
    "offense_edge": 0.1595,
    "opponent_offense_edge": 0.0536,
    "defense_strength": -0.1147,
    "opponent_defense_weakness": 0.2291,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.003,
    "run_prevention": 1.0093,
    "strikeout": 1.0022
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "663623",
    "profile": {
      "available": true,
      "pitcher_id": "663623",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 313.0,
        "k_percent": 22.4,
        "bb_percent": 9.7,
        "woba": 0.337,
        "xwoba": 0.353,
        "sweet_spot_percent": 35.1,
        "barrel_batted_rate": 11.7,
        "hard_hit_percent": 45.0,
        "avg_best_speed": 77.3962,
        "avg_hyper_speed": 94.7037,
        "whiff_percent": 23.3,
        "swing_percent": 46.8
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.8396,
        "command_and_miss": -0.0943,
        "regression_edge": -0.4571,
        "xwoba_edge": -1.2,
        "barrel_edge": -1.0222,
        "hard_hit_edge": -1.0286,
        "whiff_edge": -0.2714,
        "bb_edge": -0.125,
        "pitch_design_score": -0.1455
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "663623",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 82,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 82,
          "pitch_usage": 0.0,
          "release_speed": 87.2489732816989,
          "release_spin_rate": 2375.958323028785,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 82,
            "pitch_usage": 0.0,
            "release_speed": 87.2489732816989,
            "release_spin_rate": 2375.958323028785,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.249,
          "release_spin_rate": 2375.9583,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.1455,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -1.0396,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": -0.552,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0469,
      "strikeout_factor": 0.9914,
      "walk_factor": 1.01,
      "homer_factor": 1.1589,
      "woba_minus_xwoba": -0.016,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "663623",
        "espn_id": 41290,
        "player_name": "Jake Irvin",
        "team": "WSH",
        "role": "pitcher",
        "espn_rank": 750,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 750,
          "gp_value": 16.0,
          "gp_rank": 419,
          "gs_value": 16.0,
          "gs_rank": 117,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 5.8189,
          "era_rank": null,
          "w_value": 2.0,
          "w_rank": 293,
          "l_value": 8.0,
          "l_rank": 38,
          "sv_value": 0.0,
          "sv_rank": 241,
          "hld_value": 0.0,
          "hld_rank": 331,
          "ip_value": 77.1,
          "ip_rank": 148,
          "h_value": 72.0,
          "h_rank": 150,
          "er_value": 50.0,
          "er_rank": 84,
          "hr_value": 14.0,
          "hr_rank": 85,
          "bb_value": 33.0,
          "bb_rank": 119,
          "k_value": 76.0,
          "k_rank": 140,
          "k_per_9_value": 8.844828,
          "k_per_9_rank": 25.0,
          "whip_value": 1.3577,
          "whip_rank": null,
          "war_value": -0.49,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 4.0,
        "factor": 1.0469,
        "adjusted": 4
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 1.0469,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 1.01,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 1.1589,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 4.0,
        "factor": 0.9914,
        "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": 47.2,
    "ER": 34,
    "H": 48,
    "BB": 22,
    "SO": 42,
    "HR": 10,
    "ERA": 6.41958041958042,
    "WHIP": 1.4685314685314685,
    "K9": 7.930069930069931,
    "HR9": 1.8881118881118881,
    "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-22T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "663623",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 82,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 82,
    "pitch_usage": 0.0,
    "release_speed": 87.2489732816989,
    "release_spin_rate": 2375.958323028785,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 82,
      "pitch_usage": 0.0,
      "release_speed": 87.2489732816989,
      "release_spin_rate": 2375.958323028785,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.249,
    "release_spin_rate": 2375.9583,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.1455,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.0396,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 16.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7619,
    "prior_weight": 0.2381
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "663623",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 16,
  "reference_playing_time": 5.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 25.2,
        "ER": 20.0,
        "R": 20.0,
        "H": 24.0,
        "BB": 11.0,
        "SO": 18.0,
        "HR": 7.0,
        "BF": 111.0,
        "Pitches": 434.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 4.0,
        "R": 4.0,
        "H": 4.8,
        "BB": 2.2,
        "SO": 3.6,
        "HR": 1.4,
        "BF": 22.2,
        "Pitches": 86.8
      },
      "rates": {
        "ERA": 7.013,
        "WHIP": 1.3636,
        "ER_per_IP": 0.77922,
        "H_per_IP": 0.93506,
        "BB_per_IP": 0.42857,
        "SO_per_IP": 0.7013,
        "HR_per_IP": 0.27273
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 47.2,
        "ER": 34.0,
        "R": 37.0,
        "H": 48.0,
        "BB": 22.0,
        "SO": 42.0,
        "HR": 10.0,
        "BF": 210.0,
        "Pitches": 864.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 3.4,
        "R": 3.7,
        "H": 4.8,
        "BB": 2.2,
        "SO": 4.2,
        "HR": 1.0,
        "BF": 21.0,
        "Pitches": 86.4
      },
      "rates": {
        "ERA": 6.4196,
        "WHIP": 1.4685,
        "ER_per_IP": 0.71329,
        "H_per_IP": 1.00699,
        "BB_per_IP": 0.46154,
        "SO_per_IP": 0.88112,
        "HR_per_IP": 0.20979
      }
    },
    "season": {
      "games": 16,
      "totals": {
        "IP": 77.1,
        "ER": 50.0,
        "R": 54.0,
        "H": 72.0,
        "BB": 33.0,
        "SO": 76.0,
        "HR": 14.0,
        "BF": 339.0,
        "Pitches": 1383.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 3.125,
        "R": 3.375,
        "H": 4.5,
        "BB": 2.0625,
        "SO": 4.75,
        "HR": 0.875,
        "BF": 21.1875,
        "Pitches": 86.4375
      },
      "rates": {
        "ERA": 5.819,
        "WHIP": 1.3578,
        "ER_per_IP": 0.64655,
        "H_per_IP": 0.93103,
        "BB_per_IP": 0.42672,
        "SO_per_IP": 0.98276,
        "HR_per_IP": 0.18103
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.0,
    "predicted_ER": 3.281,
    "predicted_H": 4.681,
    "predicted_BB": 2.054,
    "predicted_SO": 4.133,
    "predicted_HR": 1.03,
    "predicted_ERA": 6.076,
    "predicted_WHIP": 1.3857
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4506,
  "form_weight": 0.5494,
  "form_reliability": 0.7619,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 16.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7619,
    "prior_weight": 0.2381
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.0,
      "form": 5.0,
      "final": 5.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 3.281,
      "final": 2.7038,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 4.0,
      "form": 4.681,
      "final": 4.3741,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 3.0,
      "form": 2.054,
      "final": 2.4803,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 6.0,
      "form": 4.133,
      "final": 4.9743,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 1.03,
      "final": 0.5659,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 6.076,
      "final": 6.076,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3857,
      "final": 1.3857,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherWill Dion
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.2764
ESPN Rank242
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2012
Avg Velo86.2551
Avg Spin2215.1504
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA2.8421
Season WHIP1.0421
Role Avg IP1.4100
Recent Avg IP1.1330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "WAS",
    "games": 134,
    "wins": 62,
    "losses": 72,
    "win_pct": 0.4627,
    "runs_scored": 696.0,
    "runs_allowed": 678.0,
    "run_differential": 18.0,
    "run_differential_per_game": 0.1343,
    "avg_runs_scored": 5.194,
    "avg_runs_allowed": 5.0597,
    "offense_index": 1.1595,
    "defense_index": 0.8853,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 3.3,
      "avg_runs_allowed": 3.5,
      "run_differential": -2.0
    },
    "available": true,
    "quality_score": -0.1202
  },
  "opponent": {
    "team": "COL",
    "games": 132,
    "wins": 51,
    "losses": 81,
    "win_pct": 0.3864,
    "runs_scored": 623.0,
    "runs_allowed": 767.0,
    "run_differential": -144.0,
    "run_differential_per_game": -1.0909,
    "avg_runs_scored": 4.7197,
    "avg_runs_allowed": 5.8106,
    "offense_index": 1.0536,
    "defense_index": 0.7709,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 7.2,
      "run_differential": -31.0
    },
    "available": true,
    "quality_score": -0.3355
  },
  "edges": {
    "quality_edge": 0.2153,
    "offense_edge": 0.1595,
    "opponent_offense_edge": 0.0536,
    "defense_strength": -0.1147,
    "opponent_defense_weakness": 0.2291,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.003,
    "run_prevention": 1.0093,
    "strikeout": 1.0022
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "702021",
    "profile": {
      "available": true,
      "pitcher_id": "702021",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 114.0,
        "k_percent": 30.2,
        "bb_percent": 5.6,
        "woba": 0.277,
        "xwoba": 0.272,
        "sweet_spot_percent": 38.8,
        "barrel_batted_rate": 5.0,
        "hard_hit_percent": 32.5,
        "avg_best_speed": 77.99,
        "avg_hyper_speed": 93.5756,
        "whiff_percent": 28.0,
        "swing_percent": 51.4
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.6923,
        "command_and_miss": 0.8471,
        "regression_edge": 0.1429,
        "xwoba_edge": 1.1143,
        "barrel_edge": 0.4667,
        "hard_hit_edge": 0.7571,
        "whiff_edge": 0.4,
        "bb_edge": 0.9,
        "pitch_design_score": -0.2012
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "702021",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 26,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 26,
          "pitch_usage": 0.0,
          "release_speed": 86.25508831777174,
          "release_spin_rate": 2215.150387818154,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 26,
            "pitch_usage": 0.0,
            "release_speed": 86.25508831777174,
            "release_spin_rate": 2215.150387818154,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 86.2551,
          "release_spin_rate": 2215.1504,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.2012,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -1.4371,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.2764,
      "sample_weight": 0.456,
      "run_prevention_factor": 0.9765,
      "strikeout_factor": 1.0287,
      "walk_factor": 0.9672,
      "homer_factor": 0.9539,
      "woba_minus_xwoba": 0.005,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "702021",
        "espn_id": 4420174,
        "player_name": "Will Dion",
        "team": "WSH",
        "role": "pitcher",
        "espn_rank": 242,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 242,
          "gp_value": 17.0,
          "gp_rank": 405,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 2.8421,
          "era_rank": null,
          "w_value": 1.0,
          "w_rank": 387,
          "l_value": 0.0,
          "l_rank": 554,
          "sv_value": 0.0,
          "sv_rank": 241,
          "hld_value": 0.0,
          "hld_rank": 331,
          "ip_value": 31.2,
          "ip_rank": 401,
          "h_value": 26.0,
          "h_rank": 427,
          "er_value": 10.0,
          "er_rank": 496,
          "hr_value": 4.0,
          "hr_rank": 347,
          "bb_value": 7.0,
          "bb_rank": 527,
          "k_value": 38.0,
          "k_rank": 340,
          "k_per_9_value": 10.8,
          "k_per_9_rank": 22.0,
          "whip_value": 1.0421,
          "whip_rank": null,
          "war_value": 0.53,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9893,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9893,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.985,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.979,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0131,
        "adjusted": 3
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 19.1,
    "ER": 3,
    "H": 8,
    "BB": 4,
    "SO": 24,
    "HR": 2,
    "ERA": 1.396551724137931,
    "WHIP": 0.6206896551724138,
    "K9": 11.172413793103448,
    "HR9": 0.9310344827586208,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-21T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "702021",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 26,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 26,
    "pitch_usage": 0.0,
    "release_speed": 86.25508831777174,
    "release_spin_rate": 2215.150387818154,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 26,
      "pitch_usage": 0.0,
      "release_speed": 86.25508831777174,
      "release_spin_rate": 2215.150387818154,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 86.2551,
    "release_spin_rate": 2215.1504,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.2012,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.4371,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.355,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5597,
    "prior_weight": 0.4403
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "702021",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 17,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 12.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 2.0,
        "BB": 4.0,
        "SO": 13.0,
        "HR": 0.0,
        "BF": 41.0,
        "Pitches": 173.0
      },
      "per_game": {
        "IP": 2.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.4,
        "BB": 0.8,
        "SO": 2.6,
        "HR": 0.0,
        "BF": 8.2,
        "Pitches": 34.6
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.5,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.16667,
        "BB_per_IP": 0.33333,
        "SO_per_IP": 1.08333,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 19.1,
        "ER": 3.0,
        "R": 3.0,
        "H": 8.0,
        "BB": 4.0,
        "SO": 24.0,
        "HR": 2.0,
        "BF": 68.0,
        "Pitches": 274.0
      },
      "per_game": {
        "IP": 2.0,
        "ER": 0.3,
        "R": 0.3,
        "H": 0.8,
        "BB": 0.4,
        "SO": 2.4,
        "HR": 0.2,
        "BF": 6.8,
        "Pitches": 27.4
      },
      "rates": {
        "ERA": 1.3966,
        "WHIP": 0.6207,
        "ER_per_IP": 0.15517,
        "H_per_IP": 0.41379,
        "BB_per_IP": 0.2069,
        "SO_per_IP": 1.24138,
        "HR_per_IP": 0.10345
      }
    },
    "season": {
      "games": 17,
      "totals": {
        "IP": 31.2,
        "ER": 10.0,
        "R": 14.0,
        "H": 26.0,
        "BB": 7.0,
        "SO": 38.0,
        "HR": 4.0,
        "BF": 126.0,
        "Pitches": 479.0
      },
      "per_game": {
        "IP": 2.0,
        "ER": 0.5882,
        "R": 0.8235,
        "H": 1.5294,
        "BB": 0.4118,
        "SO": 2.2353,
        "HR": 0.2353,
        "BF": 7.4118,
        "Pitches": 28.1765
      },
      "rates": {
        "ERA": 2.8421,
        "WHIP": 1.0421,
        "ER_per_IP": 0.31579,
        "H_per_IP": 0.82105,
        "BB_per_IP": 0.22105,
        "SO_per_IP": 1.2,
        "HR_per_IP": 0.12632
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.2,
    "predicted_ER": 0.512,
    "predicted_H": 1.153,
    "predicted_BB": 0.557,
    "predicted_SO": 1.91,
    "predicted_HR": 0.177,
    "predicted_ERA": 2.5759,
    "predicted_WHIP": 0.9553
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.536,
  "form_weight": 0.464,
  "form_reliability": 0.5597,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 6.355,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5597,
    "prior_weight": 0.4403
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.2,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.512,
      "final": 0.2376,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.153,
      "final": 0.535,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.557,
      "final": 0.2584,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.91,
      "final": 1.4222,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.177,
      "final": 0.0821,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.5759,
      "final": 2.5759,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9553,
      "final": 0.9553,
      "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
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.1168
ESPN Rank232
Movement AvailableTrue
Primary Pitch-
Movement Score0.0496
Avg Velo90.7342
Avg Spin2614.1561
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H2
Pre BB0
Pre SO1
Season ERA3.3197
Season WHIP1.3525
Role Avg IP0.9680
Recent Avg IP0.9330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "WAS",
    "games": 134,
    "wins": 62,
    "losses": 72,
    "win_pct": 0.4627,
    "runs_scored": 696.0,
    "runs_allowed": 678.0,
    "run_differential": 18.0,
    "run_differential_per_game": 0.1343,
    "avg_runs_scored": 5.194,
    "avg_runs_allowed": 5.0597,
    "offense_index": 1.1595,
    "defense_index": 0.8853,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 3.3,
      "avg_runs_allowed": 3.5,
      "run_differential": -2.0
    },
    "available": true,
    "quality_score": -0.1202
  },
  "opponent": {
    "team": "COL",
    "games": 132,
    "wins": 51,
    "losses": 81,
    "win_pct": 0.3864,
    "runs_scored": 623.0,
    "runs_allowed": 767.0,
    "run_differential": -144.0,
    "run_differential_per_game": -1.0909,
    "avg_runs_scored": 4.7197,
    "avg_runs_allowed": 5.8106,
    "offense_index": 1.0536,
    "defense_index": 0.7709,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 7.2,
      "run_differential": -31.0
    },
    "available": true,
    "quality_score": -0.3355
  },
  "edges": {
    "quality_edge": 0.2153,
    "offense_edge": 0.1595,
    "opponent_offense_edge": 0.0536,
    "defense_strength": -0.1147,
    "opponent_defense_weakness": 0.2291,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.003,
    "run_prevention": 1.0093,
    "strikeout": 1.0022
  },
  "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": 154.0,
        "k_percent": 23.5,
        "bb_percent": 16.2,
        "woba": 0.309,
        "xwoba": 0.329,
        "sweet_spot_percent": 27.6,
        "barrel_batted_rate": 5.8,
        "hard_hit_percent": 42.9,
        "avg_best_speed": 80.7574,
        "avg_hyper_speed": 94.2706,
        "whiff_percent": 28.6,
        "swing_percent": 44.3
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.2047,
        "command_and_miss": -0.0836,
        "regression_edge": -0.5714,
        "xwoba_edge": -0.5143,
        "barrel_edge": 0.2889,
        "hard_hit_edge": -0.7286,
        "whiff_edge": 0.4857,
        "bb_edge": -1.75,
        "pitch_design_score": 0.0496
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "690925",
        "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.73419189748267,
          "release_spin_rate": 2614.1560685569484,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.73419189748267,
            "release_spin_rate": 2614.1560685569484,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.7342,
          "release_spin_rate": 2614.1561,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0496,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.3545,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": -0.1168,
      "sample_weight": 0.616,
      "run_prevention_factor": 1.0099,
      "strikeout_factor": 1.0172,
      "walk_factor": 1.0862,
      "homer_factor": 1.0132,
      "woba_minus_xwoba": -0.02,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "690925",
        "espn_id": 4313143,
        "player_name": "Clayton Beeter",
        "team": "WSH",
        "role": "pitcher",
        "espn_rank": 232,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 232,
          "gp_value": 43.0,
          "gp_rank": 127,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 3.7622,
          "era_rank": null,
          "w_value": 5.0,
          "w_rank": 123,
          "l_value": 4.0,
          "l_rank": 162,
          "sv_value": 12.0,
          "sv_rank": 24,
          "hld_value": 6.0,
          "hld_rank": 136,
          "ip_value": 40.2,
          "ip_rank": 338,
          "h_value": 29.0,
          "h_rank": 398,
          "er_value": 17.0,
          "er_rank": 341,
          "hr_value": 6.0,
          "hr_rank": 251,
          "bb_value": 29.0,
          "bb_rank": 153,
          "k_value": 42.0,
          "k_rank": 313,
          "k_per_9_value": 9.295082,
          "k_per_9_rank": 25.0,
          "whip_value": 1.4262,
          "whip_rank": null,
          "war_value": 0.59,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0061,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0061,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.0531,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0081,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0106,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 9.0,
    "ER": 4,
    "H": 8,
    "BB": 9,
    "SO": 9,
    "HR": 1,
    "ERA": 4.0,
    "WHIP": 1.8888888888888888,
    "K9": 9.0,
    "HR9": 1.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-24T00: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": 15,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 15,
    "pitch_usage": 0.0,
    "release_speed": 90.73419189748267,
    "release_spin_rate": 2614.1560685569484,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.73419189748267,
      "release_spin_rate": 2614.1560685569484,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.7342,
    "release_spin_rate": 2614.1561,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0496,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.3545,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.161,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6201,
    "prior_weight": 0.3799
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "690925",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 42,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.2,
        "ER": 2.0,
        "R": 2.0,
        "H": 7.0,
        "BB": 6.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 27.0,
        "Pitches": 102.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.4,
        "BB": 1.2,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 5.4,
        "Pitches": 20.4
      },
      "rates": {
        "ERA": 3.8571,
        "WHIP": 2.7857,
        "ER_per_IP": 0.42857,
        "H_per_IP": 1.5,
        "BB_per_IP": 1.28571,
        "SO_per_IP": 1.07143,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.0,
        "ER": 4.0,
        "R": 5.0,
        "H": 8.0,
        "BB": 9.0,
        "SO": 9.0,
        "HR": 1.0,
        "BF": 43.0,
        "Pitches": 165.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.5,
        "H": 0.8,
        "BB": 0.9,
        "SO": 0.9,
        "HR": 0.1,
        "BF": 4.3,
        "Pitches": 16.5
      },
      "rates": {
        "ERA": 4.0,
        "WHIP": 1.8889,
        "ER_per_IP": 0.44444,
        "H_per_IP": 0.88889,
        "BB_per_IP": 1.0,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.11111
      }
    },
    "season": {
      "games": 42,
      "totals": {
        "IP": 40.2,
        "ER": 15.0,
        "R": 16.0,
        "H": 26.0,
        "BB": 29.0,
        "SO": 42.0,
        "HR": 4.0,
        "BF": 176.0,
        "Pitches": 676.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3571,
        "R": 0.381,
        "H": 0.619,
        "BB": 0.6905,
        "SO": 1.0,
        "HR": 0.0952,
        "BF": 4.1905,
        "Pitches": 16.0952
      },
      "rates": {
        "ERA": 3.3197,
        "WHIP": 1.3525,
        "ER_per_IP": 0.36885,
        "H_per_IP": 0.63934,
        "BB_per_IP": 0.71311,
        "SO_per_IP": 1.03279,
        "HR_per_IP": 0.09836
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.452,
    "predicted_H": 1.061,
    "predicted_BB": 0.804,
    "predicted_SO": 1.003,
    "predicted_HR": 0.092,
    "predicted_ERA": 4.0681,
    "predicted_WHIP": 1.8651
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5105,
  "form_weight": 0.4895,
  "form_reliability": 0.6201,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 8.161,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6201,
    "prior_weight": 0.3799
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.452,
      "final": 0.7318,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 1.061,
      "final": 1.5404,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.804,
      "final": 0.3936,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.003,
      "final": 1.0015,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.092,
      "final": 0.045,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.0681,
      "final": 4.0681,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.8651,
      "final": 1.8651,
      "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
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.2163
ESPN Rank222
Movement AvailableTrue
Primary Pitch-
Movement Score0.0810
Avg Velo91.2944
Avg Spin2289.0059
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA3.2034
Season WHIP1.1441
Role Avg IP0.9590
Recent Avg IP1.0670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "WAS",
    "games": 134,
    "wins": 62,
    "losses": 72,
    "win_pct": 0.4627,
    "runs_scored": 696.0,
    "runs_allowed": 678.0,
    "run_differential": 18.0,
    "run_differential_per_game": 0.1343,
    "avg_runs_scored": 5.194,
    "avg_runs_allowed": 5.0597,
    "offense_index": 1.1595,
    "defense_index": 0.8853,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 3.3,
      "avg_runs_allowed": 3.5,
      "run_differential": -2.0
    },
    "available": true,
    "quality_score": -0.1202
  },
  "opponent": {
    "team": "COL",
    "games": 132,
    "wins": 51,
    "losses": 81,
    "win_pct": 0.3864,
    "runs_scored": 623.0,
    "runs_allowed": 767.0,
    "run_differential": -144.0,
    "run_differential_per_game": -1.0909,
    "avg_runs_scored": 4.7197,
    "avg_runs_allowed": 5.8106,
    "offense_index": 1.0536,
    "defense_index": 0.7709,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 7.2,
      "run_differential": -31.0
    },
    "available": true,
    "quality_score": -0.3355
  },
  "edges": {
    "quality_edge": 0.2153,
    "offense_edge": 0.1595,
    "opponent_offense_edge": 0.0536,
    "defense_strength": -0.1147,
    "opponent_defense_weakness": 0.2291,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.003,
    "run_prevention": 1.0093,
    "strikeout": 1.0022
  },
  "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": 150.0,
        "k_percent": 23.1,
        "bb_percent": 9.4,
        "woba": 0.275,
        "xwoba": 0.29,
        "sweet_spot_percent": 26.9,
        "barrel_batted_rate": 7.4,
        "hard_hit_percent": 33.3,
        "avg_best_speed": 71.8199,
        "avg_hyper_speed": 92.5996,
        "whiff_percent": 26.4,
        "swing_percent": 50.9
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.6526,
        "command_and_miss": 0.1207,
        "regression_edge": -0.4286,
        "xwoba_edge": 0.6,
        "barrel_edge": -0.0667,
        "hard_hit_edge": 0.6429,
        "whiff_edge": 0.1714,
        "bb_edge": -0.05,
        "pitch_design_score": 0.081
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "687377",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 14,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 14,
          "pitch_usage": 0.0,
          "release_speed": 91.29439384335468,
          "release_spin_rate": 2289.005893006054,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 14,
            "pitch_usage": 0.0,
            "release_speed": 91.29439384335468,
            "release_spin_rate": 2289.005893006054,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.2944,
          "release_spin_rate": 2289.0059,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.081,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.5786,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.2163,
      "sample_weight": 0.6,
      "run_prevention_factor": 0.9816,
      "strikeout_factor": 1.0079,
      "walk_factor": 1.0024,
      "homer_factor": 0.977,
      "woba_minus_xwoba": -0.015,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "687377",
        "espn_id": 5132036,
        "player_name": "Orlando Ribalta",
        "team": "WSH",
        "role": "pitcher",
        "espn_rank": 222,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 222,
          "gp_value": 41.0,
          "gp_rank": 140,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 3.2033,
          "era_rank": null,
          "w_value": 0.0,
          "w_rank": 507,
          "l_value": 2.0,
          "l_rank": 301,
          "sv_value": 2.0,
          "sv_rank": 84,
          "hld_value": 12.0,
          "hld_rank": 50,
          "ip_value": 39.1,
          "ip_rank": 353,
          "h_value": 30.0,
          "h_rank": 383,
          "er_value": 14.0,
          "er_rank": 403,
          "hr_value": 4.0,
          "hr_rank": 347,
          "bb_value": 15.0,
          "bb_rank": 352,
          "k_value": 37.0,
          "k_rank": 349,
          "k_per_9_value": 8.466102,
          "k_per_9_rank": 26.0,
          "whip_value": 1.144,
          "whip_rank": null,
          "war_value": 0.65,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.989,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.989,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0014,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9862,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0047,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 11.0,
    "ER": 2,
    "H": 7,
    "BB": 4,
    "SO": 12,
    "HR": 1,
    "ERA": 1.6363636363636365,
    "WHIP": 1.0,
    "K9": 9.818181818181818,
    "HR9": 0.8181818181818182,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-21T00: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": 14,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 14,
    "pitch_usage": 0.0,
    "release_speed": 91.29439384335468,
    "release_spin_rate": 2289.005893006054,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 14,
      "pitch_usage": 0.0,
      "release_speed": 91.29439384335468,
      "release_spin_rate": 2289.005893006054,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.2944,
    "release_spin_rate": 2289.0059,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.081,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.5786,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.894,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6122,
    "prior_weight": 0.3878
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "687377",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 41,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 2.0,
        "BB": 2.0,
        "SO": 5.0,
        "HR": 1.0,
        "BF": 20.0,
        "Pitches": 72.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.4,
        "BB": 0.4,
        "SO": 1.0,
        "HR": 0.2,
        "BF": 4.0,
        "Pitches": 14.4
      },
      "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.9375,
        "HR_per_IP": 0.1875
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.0,
        "ER": 2.0,
        "R": 3.0,
        "H": 7.0,
        "BB": 4.0,
        "SO": 12.0,
        "HR": 1.0,
        "BF": 44.0,
        "Pitches": 163.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.3,
        "H": 0.7,
        "BB": 0.4,
        "SO": 1.2,
        "HR": 0.1,
        "BF": 4.4,
        "Pitches": 16.3
      },
      "rates": {
        "ERA": 1.6364,
        "WHIP": 1.0,
        "ER_per_IP": 0.18182,
        "H_per_IP": 0.63636,
        "BB_per_IP": 0.36364,
        "SO_per_IP": 1.09091,
        "HR_per_IP": 0.09091
      }
    },
    "season": {
      "games": 41,
      "totals": {
        "IP": 39.1,
        "ER": 14.0,
        "R": 17.0,
        "H": 30.0,
        "BB": 15.0,
        "SO": 37.0,
        "HR": 4.0,
        "BF": 160.0,
        "Pitches": 670.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3415,
        "R": 0.4146,
        "H": 0.7317,
        "BB": 0.3659,
        "SO": 0.9024,
        "HR": 0.0976,
        "BF": 3.9024,
        "Pitches": 16.3415
      },
      "rates": {
        "ERA": 3.2034,
        "WHIP": 1.1441,
        "ER_per_IP": 0.35593,
        "H_per_IP": 0.76271,
        "BB_per_IP": 0.38136,
        "SO_per_IP": 0.94068,
        "HR_per_IP": 0.10169
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.328,
    "predicted_H": 0.711,
    "predicted_BB": 0.371,
    "predicted_SO": 0.974,
    "predicted_HR": 0.14,
    "predicted_ERA": 2.9553,
    "predicted_WHIP": 1.0816
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5138,
  "form_weight": 0.4862,
  "form_reliability": 0.6122,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 7.894,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6122,
    "prior_weight": 0.3878
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.328,
      "final": 0.1595,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.711,
      "final": 0.3457,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.371,
      "final": 0.1804,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.974,
      "final": 0.9874,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.14,
      "final": 0.0681,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.9553,
      "final": 2.9553,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0816,
      "final": 1.0816,
      "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
PitcherJake Bird
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0102
ESPN Rank685
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0512
Avg Velo88.9340
Avg Spin2541.7524
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H2
Pre BB0
Pre SO2
Season ERA4.6552
Season WHIP1.3707
Role Avg IP0.8990
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "WAS",
    "games": 134,
    "wins": 62,
    "losses": 72,
    "win_pct": 0.4627,
    "runs_scored": 696.0,
    "runs_allowed": 678.0,
    "run_differential": 18.0,
    "run_differential_per_game": 0.1343,
    "avg_runs_scored": 5.194,
    "avg_runs_allowed": 5.0597,
    "offense_index": 1.1595,
    "defense_index": 0.8853,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 3.3,
      "avg_runs_allowed": 3.5,
      "run_differential": -2.0
    },
    "available": true,
    "quality_score": -0.1202
  },
  "opponent": {
    "team": "COL",
    "games": 132,
    "wins": 51,
    "losses": 81,
    "win_pct": 0.3864,
    "runs_scored": 623.0,
    "runs_allowed": 767.0,
    "run_differential": -144.0,
    "run_differential_per_game": -1.0909,
    "avg_runs_scored": 4.7197,
    "avg_runs_allowed": 5.8106,
    "offense_index": 1.0536,
    "defense_index": 0.7709,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 7.2,
      "run_differential": -31.0
    },
    "available": true,
    "quality_score": -0.3355
  },
  "edges": {
    "quality_edge": 0.2153,
    "offense_edge": 0.1595,
    "opponent_offense_edge": 0.0536,
    "defense_strength": -0.1147,
    "opponent_defense_weakness": 0.2291,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.003,
    "run_prevention": 1.0093,
    "strikeout": 1.0022
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "656234",
    "profile": {
      "available": true,
      "pitcher_id": "656234",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 159.0,
        "k_percent": 23.8,
        "bb_percent": 7.6,
        "woba": 0.351,
        "xwoba": 0.318,
        "sweet_spot_percent": 34.5,
        "barrel_batted_rate": 8.8,
        "hard_hit_percent": 36.3,
        "avg_best_speed": 78.8591,
        "avg_hyper_speed": 93.7123,
        "whiff_percent": 27.1,
        "swing_percent": 41.3
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.3246,
        "command_and_miss": 0.2907,
        "regression_edge": 0.9429,
        "xwoba_edge": -0.2,
        "barrel_edge": -0.3778,
        "hard_hit_edge": 0.2143,
        "whiff_edge": 0.2714,
        "bb_edge": 0.4,
        "pitch_design_score": -0.0512
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "656234",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 18,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 18,
          "pitch_usage": 0.0,
          "release_speed": 88.93396818953474,
          "release_spin_rate": 2541.7524438221676,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 18,
            "pitch_usage": 0.0,
            "release_speed": 88.93396818953474,
            "release_spin_rate": 2541.7524438221676,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 88.934,
          "release_spin_rate": 2541.7524,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.3656,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": -0.0102,
      "sample_weight": 0.636,
      "run_prevention_factor": 1.0009,
      "strikeout_factor": 1.0134,
      "walk_factor": 0.9796,
      "homer_factor": 1.0176,
      "woba_minus_xwoba": 0.033,
      "regression_flag": "positive_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "656234",
        "espn_id": 3459223,
        "player_name": "Jake Bird",
        "team": "WSH",
        "role": "pitcher",
        "espn_rank": 685,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 685,
          "gp_value": 44.0,
          "gp_rank": 116,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 5.3534,
          "era_rank": null,
          "w_value": 1.0,
          "w_rank": 387,
          "l_value": 1.0,
          "l_rank": 403,
          "sv_value": 0.0,
          "sv_rank": 241,
          "hld_value": 7.0,
          "hld_rank": 120,
          "ip_value": 38.2,
          "ip_rank": 358,
          "h_value": 42.0,
          "h_rank": 278,
          "er_value": 23.0,
          "er_rank": 242,
          "hr_value": 6.0,
          "hr_rank": 251,
          "bb_value": 13.0,
          "bb_rank": 393,
          "k_value": 41.0,
          "k_rank": 317,
          "k_per_9_value": 9.543104,
          "k_per_9_rank": 23.0,
          "whip_value": 1.4224,
          "whip_rank": null,
          "war_value": -0.3,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0006,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0006,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.987,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0112,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0085,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 9.1,
    "ER": 8,
    "H": 10,
    "BB": 4,
    "SO": 11,
    "HR": 2,
    "ERA": 7.714285714285715,
    "WHIP": 1.5000000000000002,
    "K9": 10.607142857142858,
    "HR9": 1.9285714285714288,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "656234",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 18,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 18,
    "pitch_usage": 0.0,
    "release_speed": 88.93396818953474,
    "release_spin_rate": 2541.7524438221676,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 18,
      "pitch_usage": 0.0,
      "release_speed": 88.93396818953474,
      "release_spin_rate": 2541.7524438221676,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 88.934,
    "release_spin_rate": 2541.7524,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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.3656,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.76,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6082,
    "prior_weight": 0.3918
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "656234",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 43,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 2.0,
        "BB": 0.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 17.0,
        "Pitches": 71.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.4,
        "BB": 0.0,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 3.4,
        "Pitches": 14.2
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.4,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.4,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.2,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 8.0,
        "R": 8.0,
        "H": 10.0,
        "BB": 4.0,
        "SO": 11.0,
        "HR": 2.0,
        "BF": 42.0,
        "Pitches": 174.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.8,
        "R": 0.8,
        "H": 1.0,
        "BB": 0.4,
        "SO": 1.1,
        "HR": 0.2,
        "BF": 4.2,
        "Pitches": 17.4
      },
      "rates": {
        "ERA": 7.7143,
        "WHIP": 1.5,
        "ER_per_IP": 0.85714,
        "H_per_IP": 1.07143,
        "BB_per_IP": 0.42857,
        "SO_per_IP": 1.17857,
        "HR_per_IP": 0.21429
      }
    },
    "season": {
      "games": 43,
      "totals": {
        "IP": 38.2,
        "ER": 20.0,
        "R": 20.0,
        "H": 41.0,
        "BB": 12.0,
        "SO": 41.0,
        "HR": 6.0,
        "BF": 169.0,
        "Pitches": 668.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4651,
        "R": 0.4651,
        "H": 0.9535,
        "BB": 0.2791,
        "SO": 0.9535,
        "HR": 0.1395,
        "BF": 3.9302,
        "Pitches": 15.5349
      },
      "rates": {
        "ERA": 4.6552,
        "WHIP": 1.3707,
        "ER_per_IP": 0.51724,
        "H_per_IP": 1.06034,
        "BB_per_IP": 0.31034,
        "SO_per_IP": 1.06034,
        "HR_per_IP": 0.15517
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.384,
    "predicted_H": 0.738,
    "predicted_BB": 0.237,
    "predicted_SO": 0.938,
    "predicted_HR": 0.106,
    "predicted_ERA": 3.974,
    "predicted_WHIP": 1.1215
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5155,
  "form_weight": 0.4845,
  "form_reliability": 0.6082,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 7.76,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6082,
    "prior_weight": 0.3918
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 1.0,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.384,
      "final": 0.7016,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 3.0,
      "form": 0.738,
      "final": 1.9041,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.237,
      "final": 0.1148,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 0.938,
      "final": 1.4855,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.106,
      "final": 0.0514,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.974,
      "final": 3.974,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1215,
      "final": 1.1215,
      "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."
}
CJ Abrams (682928) · BATTER · DH · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 536
All-history rows before 20260827: 536
System season_avg: 0.2760
Data season_avg (2026 season-to-date): 0.2850
Diff (system - data): -0.0090
System opponent_avg: 0.3810

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2060.0001.000Hitting_2B0.2160.000-0.2160.000
predicted_3B0.0240.0000.000Hitting_3B0.0300.000-0.0300.000
predicted_AB3.7944.0004.000Hitting_AB3.8964.0000.1040.000
predicted_AVG0.2760.2500.250Hitting_AVG0.2850.000-0.0350.250
predicted_BB0.3731.0001.000Hitting_BB0.3970.0000.6031.000
predicted_CS-0.0000.000BaseRunning_CS0.0390.000-0.0390.000
predicted_H1.0481.0001.000Hitting_H1.1100.000-0.1101.000
predicted_HR0.2300.0000.000Hitting_HR0.2370.000-0.2370.000
predicted_OBP0.3410.4000.400Hitting_OBP0.3610.0000.0390.400
predicted_R0.6271.0001.000Hitting_R0.6470.0000.3531.000
predicted_RBI0.7301.0001.000Hitting_RBI0.7670.0000.2331.000
predicted_SLG0.5250.2500.500Hitting_SLG0.5380.000-0.2880.250
predicted_SO1.0080.0001.000Hitting_SO1.0210.000-1.0210.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectdeboosted
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_BB: 0.3730 -> 1.0000 (boost 0.6270, better)
Biggest Deboostpredicted_SO: 1.0080 -> 0.0000 (deboost -1.0080, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend61506predicted_SO: 1.0080 -> 1.0589 (boost 0.0509, worse)predicted_RBI: 0.7300 -> 0.6487 (deboost -0.0813, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot33030predicted_SLG: 0.4887 -> 0.5075 (boost 0.0188, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62424predicted_RBI: 0.6942 -> 1.0000 (boost 0.3058, better)predicted_BB: 0.3725 -> 0.0000 (deboost -0.3725, worse)AB rounded to 4 (raw=3.84), rates preserved: AVG=0.269 HR/AB=0.055
5consistency_constraints11010predicted_R: 0.6385 -> 1.0000 (boost 0.3615, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation22020predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context31212predicted_OBP: 0.3339 -> 0.3390 (boost 0.0051, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference21120predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
9current_json_final10101-predicted_OBP: 0.3390 -> 0.3339 (deboost -0.0051, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "682928",
  "player_name": "CJ Abrams",
  "position": "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.206,
        "predicted_3B": 0.024,
        "predicted_AB": 3.794,
        "predicted_AVG": 0.276,
        "predicted_BB": 0.373,
        "predicted_H": 1.048,
        "predicted_HR": 0.23,
        "predicted_OBP": 0.341,
        "predicted_R": 0.627,
        "predicted_RBI": 0.73,
        "predicted_SLG": 0.525,
        "predicted_SO": 1.008
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2434,
        "predicted_3B": 0.0201,
        "predicted_AB": 3.8362,
        "predicted_AVG": 0.2583,
        "predicted_BB": 0.3678,
        "predicted_H": 0.9902,
        "predicted_HBP": 0.076,
        "predicted_HR": 0.1996,
        "predicted_OBP": 0.3274,
        "predicted_R": 0.5966,
        "predicted_RBI": 0.6487,
        "predicted_SLG": 0.4887,
        "predicted_SO": 1.0589
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.206,
          "after": 0.2434,
          "delta": 0.0374,
          "percent_delta": 0.1816,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.024,
          "after": 0.0201,
          "delta": -0.0039,
          "percent_delta": -0.1625,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.794,
          "after": 3.8362,
          "delta": 0.0422,
          "percent_delta": 0.0111,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.276,
          "after": 0.2583,
          "delta": -0.0177,
          "percent_delta": -0.0641,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.373,
          "after": 0.3678,
          "delta": -0.0052,
          "percent_delta": -0.0139,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.048,
          "after": 0.9902,
          "delta": -0.0578,
          "percent_delta": -0.0552,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.23,
          "after": 0.1996,
          "delta": -0.0304,
          "percent_delta": -0.1322,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.341,
          "after": 0.3274,
          "delta": -0.0136,
          "percent_delta": -0.0399,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.627,
          "after": 0.5966,
          "delta": -0.0304,
          "percent_delta": -0.0485,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.73,
          "after": 0.6487,
          "delta": -0.0813,
          "percent_delta": -0.1114,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.525,
          "after": 0.4887,
          "delta": -0.0363,
          "percent_delta": -0.0691,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.008,
          "after": 1.0589,
          "delta": 0.0509,
          "percent_delta": 0.0505,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.008,
          "after": 1.0589,
          "delta": 0.0509,
          "percent_delta": 0.0505,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.73,
          "after": 0.6487,
          "delta": -0.0813,
          "percent_delta": -0.1114,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.2434,
        "predicted_3B": 0.0201,
        "predicted_AB": 3.8362,
        "predicted_AVG": 0.2692,
        "predicted_BB": 0.3725,
        "predicted_H": 1.0327,
        "predicted_HBP": 0.076,
        "predicted_HR": 0.2101,
        "predicted_OBP": 0.3339,
        "predicted_R": 0.6385,
        "predicted_RBI": 0.6942,
        "predicted_SLG": 0.5075,
        "predicted_SO": 1.0453
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2434,
          "after": 0.2434,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0201,
          "after": 0.0201,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8362,
          "after": 3.8362,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2583,
          "after": 0.2692,
          "delta": 0.0109,
          "percent_delta": 0.0422,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3678,
          "after": 0.3725,
          "delta": 0.0047,
          "percent_delta": 0.0128,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9902,
          "after": 1.0327,
          "delta": 0.0425,
          "percent_delta": 0.0429,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.076,
          "after": 0.076,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1996,
          "after": 0.2101,
          "delta": 0.0105,
          "percent_delta": 0.0526,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3274,
          "after": 0.3339,
          "delta": 0.0065,
          "percent_delta": 0.0199,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5966,
          "after": 0.6385,
          "delta": 0.0419,
          "percent_delta": 0.0702,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6487,
          "after": 0.6942,
          "delta": 0.0455,
          "percent_delta": 0.0701,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4887,
          "after": 0.5075,
          "delta": 0.0188,
          "percent_delta": 0.0385,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0589,
          "after": 1.0453,
          "delta": -0.0136,
          "percent_delta": -0.0128,
          "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.4887,
          "after": 0.5075,
          "delta": 0.0188,
          "percent_delta": 0.0385,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.84), rates preserved: AVG=0.269 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.2434,
          "after": 0.0,
          "delta": -0.2434,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0201,
          "after": 0.0,
          "delta": -0.0201,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8362,
          "after": 4.0,
          "delta": 0.1638,
          "percent_delta": 0.0427,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3725,
          "after": 0.0,
          "delta": -0.3725,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0327,
          "after": 1.0,
          "delta": -0.0327,
          "percent_delta": -0.0317,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.076,
          "after": 0.0,
          "delta": -0.076,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2101,
          "after": 0.0,
          "delta": -0.2101,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6942,
          "after": 1.0,
          "delta": 0.3058,
          "percent_delta": 0.4405,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0453,
          "after": 1.0,
          "delta": -0.0453,
          "percent_delta": -0.0433,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.6942,
          "after": 1.0,
          "delta": 0.3058,
          "percent_delta": 0.4405,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3725,
          "after": 0.0,
          "delta": -0.3725,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6385,
          "after": 1.0,
          "delta": 0.3615,
          "percent_delta": 0.5662,
          "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.6385,
          "after": 1.0,
          "delta": 0.3615,
          "percent_delta": 0.5662,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.269,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.339,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.507,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2692,
          "after": 0.269,
          "delta": -0.0002,
          "percent_delta": -0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3339,
          "after": 0.339,
          "delta": 0.0051,
          "percent_delta": 0.0153,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5075,
          "after": 0.507,
          "delta": -0.0005,
          "percent_delta": -0.001,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.3339,
          "after": 0.339,
          "delta": 0.0051,
          "percent_delta": 0.0153,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "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_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2692,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3339,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5075,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.269,
          "after": 0.2692,
          "delta": 0.0002,
          "percent_delta": 0.0007,
          "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.339,
          "after": 0.3339,
          "delta": -0.0051,
          "percent_delta": -0.0151,
          "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.507,
          "after": 0.5075,
          "delta": 0.0005,
          "percent_delta": 0.0009,
          "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_OBP",
          "before": 0.339,
          "after": 0.3339,
          "delta": -0.0051,
          "percent_delta": -0.0151,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.206,
        "after": 0.0,
        "delta": -0.206,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.024,
        "after": 0.0,
        "delta": -0.024,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.794,
        "after": 4.0,
        "delta": 0.206,
        "percent_delta": 0.0543,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.276,
        "after": 0.2692,
        "delta": -0.0068,
        "percent_delta": -0.0246,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.373,
        "after": 1.0,
        "delta": 0.627,
        "percent_delta": 1.681,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.048,
        "after": 1.0,
        "delta": -0.048,
        "percent_delta": -0.0458,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.23,
        "after": 0.0,
        "delta": -0.23,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.341,
        "after": 0.3339,
        "delta": -0.0071,
        "percent_delta": -0.0208,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.627,
        "after": 1.0,
        "delta": 0.373,
        "percent_delta": 0.5949,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.73,
        "after": 1.0,
        "delta": 0.27,
        "percent_delta": 0.3699,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.525,
        "after": 0.5075,
        "delta": -0.0175,
        "percent_delta": -0.0333,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.008,
        "after": 0.0,
        "delta": -1.008,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.373,
        "after": 1.0,
        "delta": 0.627,
        "percent_delta": 1.681,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.008,
        "after": 0.0,
        "delta": -1.008,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "deboosted"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.206-
predicted_3B0.024-
predicted_AB3.794-
predicted_AVG0.276-
predicted_BB0.373-
predicted_H1.048-
predicted_HR0.230-
predicted_OBP0.341-
predicted_R0.627-
predicted_RBI0.730-
predicted_SLG0.525-
predicted_SO1.008-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2430.037
predicted_3B0.020-0.004
predicted_AB3.8360.042
predicted_AVG0.258-0.018
predicted_BB0.368-0.005
predicted_H0.990-0.058
predicted_HBP0.076-
predicted_HR0.200-0.030
predicted_OBP0.327-0.014
predicted_R0.597-0.030
predicted_RBI0.649-0.081
predicted_SLG0.489-0.036
predicted_SO1.0590.051
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2430.000
predicted_3B0.0200.000
predicted_AB3.8360.000
predicted_AVG0.2690.011
predicted_BB0.3720.005
predicted_H1.0330.042
predicted_HBP0.0760.000
predicted_HR0.2100.011
predicted_OBP0.3340.006
predicted_R0.6380.042
predicted_RBI0.6940.045
predicted_SLG0.5070.019
predicted_SO1.045-0.014
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.84), rates preserved: AVG=0.269 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
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

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

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.243
predicted_3B0.000-0.020
predicted_AB4.0000.164
predicted_AVG0.269-0.000
predicted_BB0.000-0.372
predicted_H1.000-0.033
predicted_HR0.000-0.210
predicted_OBP0.3390.005
predicted_R1.0000.362
predicted_RBI1.0000.306
predicted_SLG0.507-0.000
predicted_SO1.000-0.045
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 126
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-21.0004.0003.0000.0000.0001.0002.0001.0007.0000.19050.22730.33330.19050.00000.04760.04760.3333
last_100.2010-39.0006.0003.0000.0001.0003.0005.0005.00013.0000.15380.26670.30770.15380.02560.07690.12820.3333
season0.60126-478.000132.00026.0003.00029.00092.00079.00047.000127.0000.27620.35170.52510.27620.06070.19250.09830.2657
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2920
predicted_3B0.0150
predicted_AB3.8910
predicted_AVG0.2353
predicted_BB0.3610
predicted_H0.9150
predicted_HBP0.0760
predicted_HR0.1600
predicted_OBP0.3096
predicted_R0.5570
predicted_RBI0.5430
predicted_SLG0.4414
predicted_SO1.1250
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20600.29200.2434model_form_blend
predicted_3B0.02400.01500.0201model_form_blend
predicted_AB3.79403.89103.8362model_form_blend
predicted_AVG0.27600.23530.2583model_form_blend
predicted_BB0.37300.36100.3678model_form_blend
predicted_H1.04800.91500.9902model_form_blend
predicted_HBP-0.07600.0760form_only
predicted_HR0.23000.16000.1996model_form_blend
predicted_OBP0.34100.30960.3274model_form_blend
predicted_R0.62700.55700.5966model_form_blend
predicted_RBI0.73000.54300.6487model_form_blend
predicted_SLG0.52500.44140.4887model_form_blend
predicted_SO1.00801.12501.0589model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260826_COL@WAS
game_typefull
mlbID682928
playerID682928
playerNameCJ Abrams
posSS
startedTrue
startingPositionDH
teamWAS
teamID30
game_date2026-08-26
sl_k_percent24.1
sl_bb_percent8.7
sl_woba0.364
sl_xwoba0.33
sl_xba0.246
sl_xslg0.428
sl_sweet_spot_percent33.2
sl_barrel_batted_rate9.8
sl_hard_hit_percent40.8
sl_exit_velocity_avg89.4
sl_launch_angle_avg18.6
sl_whiff_percent29.1
sl_swing_percent51.2
Andrés Chaparro (665953) · BATTER · 3B · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 142
All-history rows before 20260827: 142
System season_avg: 0.2360
Data season_avg (2026 season-to-date): 0.2654
Diff (system - data): -0.0294
System opponent_avg: 0.1670
System season_avg diverges from 2026 season-to-date by -0.0294. 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.1970.0001.000Hitting_2B0.1831.000-0.183-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.5003.0003.000Hitting_AB2.6274.0000.373-1.000
predicted_AVG0.2360.3330.333Hitting_AVG0.2650.7500.068-0.417
predicted_BB0.2761.0000.000Hitting_BB0.3170.0000.6831.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.5911.0001.000Hitting_H0.6973.0000.303-2.000
predicted_HR0.1570.0000.000Hitting_HR0.2041.000-0.204-1.000
predicted_OBP0.3120.5000.333Hitting_OBP0.3660.7500.134-0.250
predicted_R0.4720.0001.000Hitting_R0.5991.000-0.599-1.000
predicted_RBI0.6300.0001.000Hitting_RBI0.8311.000-0.831-1.000
predicted_SLG0.5040.3330.667Hitting_SLG0.5681.750-0.235-1.417
predicted_SO0.6690.0001.000Hitting_SO0.6410.000-0.6410.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_BB: 0.2760 -> 1.0000 (boost 0.7240, better)
Biggest Deboostpredicted_SO: 0.6690 -> 0.0000 (deboost -0.6690, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend22020predicted_AB: 2.5000 -> 2.6056 (boost 0.1056, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot22020predicted_SLG: 0.5028 -> 0.5228 (boost 0.0200, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling84435predicted_AB: 2.6056 -> 3.0000 (boost 0.3944, better)predicted_BB: 0.2949 -> 0.0000 (deboost -0.2949, worse)AB rounded to 3 (raw=2.61), rates preserved: AVG=0.251 HR/AB=0.065
5consistency_constraints11010predicted_R: 0.5235 -> 1.0000 (boost 0.4765, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context32121predicted_SLG: 0.5228 -> 0.5300 (boost 0.0072, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference41322predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final20202-predicted_SLG: 0.5300 -> 0.5228 (deboost -0.0072, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "665953",
  "player_name": "Andrés Chaparro",
  "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.197,
        "predicted_3B": 0.0,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.236,
        "predicted_BB": 0.276,
        "predicted_H": 0.591,
        "predicted_HR": 0.157,
        "predicted_OBP": 0.312,
        "predicted_R": 0.472,
        "predicted_RBI": 0.63,
        "predicted_SLG": 0.504,
        "predicted_SO": 0.669
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1962,
        "predicted_3B": 0.0008,
        "predicted_AB": 2.6056,
        "predicted_AVG": 0.2404,
        "predicted_BB": 0.2912,
        "predicted_H": 0.6278,
        "predicted_HBP": 0.106,
        "predicted_HR": 0.1614,
        "predicted_OBP": 0.3255,
        "predicted_R": 0.4892,
        "predicted_RBI": 0.6044,
        "predicted_SLG": 0.5028,
        "predicted_SO": 0.675
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.197,
          "after": 0.1962,
          "delta": -0.0008,
          "percent_delta": -0.0041,
          "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.6056,
          "delta": 0.1056,
          "percent_delta": 0.0422,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.236,
          "after": 0.2404,
          "delta": 0.0044,
          "percent_delta": 0.0186,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.276,
          "after": 0.2912,
          "delta": 0.0152,
          "percent_delta": 0.0551,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.591,
          "after": 0.6278,
          "delta": 0.0368,
          "percent_delta": 0.0623,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.157,
          "after": 0.1614,
          "delta": 0.0044,
          "percent_delta": 0.028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.312,
          "after": 0.3255,
          "delta": 0.0135,
          "percent_delta": 0.0433,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.472,
          "after": 0.4892,
          "delta": 0.0172,
          "percent_delta": 0.0364,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.63,
          "after": 0.6044,
          "delta": -0.0256,
          "percent_delta": -0.0406,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.504,
          "after": 0.5028,
          "delta": -0.0012,
          "percent_delta": -0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.669,
          "after": 0.675,
          "delta": 0.006,
          "percent_delta": 0.009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.6056,
          "delta": 0.1056,
          "percent_delta": 0.0422,
          "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": 54
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1962,
        "predicted_3B": 0.0008,
        "predicted_AB": 2.6056,
        "predicted_AVG": 0.2513,
        "predicted_BB": 0.2949,
        "predicted_H": 0.6547,
        "predicted_HBP": 0.106,
        "predicted_HR": 0.1699,
        "predicted_OBP": 0.3274,
        "predicted_R": 0.5235,
        "predicted_RBI": 0.6468,
        "predicted_SLG": 0.5228,
        "predicted_SO": 0.6664
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1962,
          "after": 0.1962,
          "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.6056,
          "after": 2.6056,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2404,
          "after": 0.2513,
          "delta": 0.0109,
          "percent_delta": 0.0453,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2912,
          "after": 0.2949,
          "delta": 0.0037,
          "percent_delta": 0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6278,
          "after": 0.6547,
          "delta": 0.0269,
          "percent_delta": 0.0428,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.106,
          "after": 0.106,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1614,
          "after": 0.1699,
          "delta": 0.0085,
          "percent_delta": 0.0527,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3255,
          "after": 0.3274,
          "delta": 0.0019,
          "percent_delta": 0.0058,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4892,
          "after": 0.5235,
          "delta": 0.0343,
          "percent_delta": 0.0701,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6044,
          "after": 0.6468,
          "delta": 0.0424,
          "percent_delta": 0.0702,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5028,
          "after": 0.5228,
          "delta": 0.02,
          "percent_delta": 0.0398,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.675,
          "after": 0.6664,
          "delta": -0.0086,
          "percent_delta": -0.0127,
          "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.5028,
          "after": 0.5228,
          "delta": 0.02,
          "percent_delta": 0.0398,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.61), rates preserved: AVG=0.251 HR/AB=0.065",
      "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.1962,
          "after": 0.0,
          "delta": -0.1962,
          "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.6056,
          "after": 3.0,
          "delta": 0.3944,
          "percent_delta": 0.1514,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2949,
          "after": 0.0,
          "delta": -0.2949,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6547,
          "after": 1.0,
          "delta": 0.3453,
          "percent_delta": 0.5274,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.106,
          "after": 0.0,
          "delta": -0.106,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1699,
          "after": 0.0,
          "delta": -0.1699,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6468,
          "after": 1.0,
          "delta": 0.3532,
          "percent_delta": 0.5461,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6664,
          "after": 1.0,
          "delta": 0.3336,
          "percent_delta": 0.5006,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 4,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.6056,
          "after": 3.0,
          "delta": 0.3944,
          "percent_delta": 0.1514,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2949,
          "after": 0.0,
          "delta": -0.2949,
          "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.5235,
          "after": 1.0,
          "delta": 0.4765,
          "percent_delta": 0.9102,
          "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.5235,
          "after": 1.0,
          "delta": 0.4765,
          "percent_delta": 0.9102,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.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": 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_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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_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": 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.251,
        "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.53,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2513,
          "after": 0.251,
          "delta": -0.0003,
          "percent_delta": -0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3274,
          "after": 0.333,
          "delta": 0.0056,
          "percent_delta": 0.0171,
          "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.5228,
          "after": 0.53,
          "delta": 0.0072,
          "percent_delta": 0.0138,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.5228,
          "after": 0.53,
          "delta": 0.0072,
          "percent_delta": 0.0138,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 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_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2513,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3274,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5228,
        "predicted_SO": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.251,
          "after": 0.2513,
          "delta": 0.0003,
          "percent_delta": 0.0011,
          "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.333,
          "after": 0.3274,
          "delta": -0.0056,
          "percent_delta": -0.0168,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.53,
          "after": 0.5228,
          "delta": -0.0072,
          "percent_delta": -0.0135,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.53,
          "after": 0.5228,
          "delta": -0.0072,
          "percent_delta": -0.0135,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.197,
        "after": 0.0,
        "delta": -0.197,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 3.0,
        "delta": 0.5,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.236,
        "after": 0.2513,
        "delta": 0.0153,
        "percent_delta": 0.0648,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.276,
        "after": 1.0,
        "delta": 0.724,
        "percent_delta": 2.6232,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.591,
        "after": 1.0,
        "delta": 0.409,
        "percent_delta": 0.692,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.157,
        "after": 0.0,
        "delta": -0.157,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.312,
        "after": 0.3274,
        "delta": 0.0154,
        "percent_delta": 0.0494,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.472,
        "after": 0.0,
        "delta": -0.472,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.63,
        "after": 0.0,
        "delta": -0.63,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.504,
        "after": 0.5228,
        "delta": 0.0188,
        "percent_delta": 0.0373,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.669,
        "after": 0.0,
        "delta": -0.669,
        "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_BB",
        "before": 0.276,
        "after": 1.0,
        "delta": 0.724,
        "percent_delta": 2.6232,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.669,
        "after": 0.0,
        "delta": -0.669,
        "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.197-
predicted_3B0.000-
predicted_AB2.500-
predicted_AVG0.236-
predicted_BB0.276-
predicted_H0.591-
predicted_HR0.157-
predicted_OBP0.312-
predicted_R0.472-
predicted_RBI0.630-
predicted_SLG0.504-
predicted_SO0.669-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.196-0.001
predicted_3B0.0010.001
predicted_AB2.6060.106
predicted_AVG0.2400.004
predicted_BB0.2910.015
predicted_H0.6280.037
predicted_HBP0.106-
predicted_HR0.1610.004
predicted_OBP0.3260.014
predicted_R0.4890.017
predicted_RBI0.604-0.026
predicted_SLG0.503-0.001
predicted_SO0.6750.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.1960.000
predicted_3B0.0010.000
predicted_AB2.6060.000
predicted_AVG0.2510.011
predicted_BB0.2950.004
predicted_H0.6550.027
predicted_HBP0.1060.000
predicted_HR0.1700.009
predicted_OBP0.3270.002
predicted_R0.5230.034
predicted_RBI0.6470.042
predicted_SLG0.5230.020
predicted_SO0.666-0.009
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.61), rates preserved: AVG=0.251 HR/AB=0.065

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

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

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI1.0000.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.196
predicted_3B0.000-0.001
predicted_AB3.0000.394
predicted_AVG0.251-0.000
predicted_BB0.000-0.295
predicted_H1.0000.345
predicted_HR0.000-0.170
predicted_OBP0.3330.006
predicted_R1.0000.477
predicted_RBI1.0000.353
predicted_SLG0.5300.007
predicted_SO1.0000.334
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 54
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0004.0001.0000.0001.0003.0003.0002.0003.0000.26670.38890.53330.26670.06670.20000.13330.2000
last_100.2010-27.0007.0002.0000.0002.0004.0006.0004.0007.0000.25930.37500.55560.25930.07410.14820.14820.2593
season0.6054-127.00030.00010.0000.0008.00032.00024.00014.00034.0000.23620.33560.50390.23620.06300.25200.11020.2677
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1950
predicted_3B0.0020
predicted_AB2.7640
predicted_AVG0.2471
predicted_BB0.3140
predicted_H0.6830
predicted_HBP0.1060
predicted_HR0.1680
predicted_OBP0.3458
predicted_R0.5150
predicted_RBI0.5660
predicted_SLG0.5009
predicted_SO0.6840
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19700.19500.1962model_form_blend
predicted_3B0.00000.00200.0008model_form_blend
predicted_AB2.50002.76402.6056model_form_blend
predicted_AVG0.23600.24710.2404model_form_blend
predicted_BB0.27600.31400.2912model_form_blend
predicted_H0.59100.68300.6278model_form_blend
predicted_HBP-0.10600.1060form_only
predicted_HR0.15700.16800.1614model_form_blend
predicted_OBP0.31200.34580.3255model_form_blend
predicted_R0.47200.51500.4892model_form_blend
predicted_RBI0.63000.56600.6044model_form_blend
predicted_SLG0.50400.50090.5028model_form_blend
predicted_SO0.66900.68400.6750model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.75
Hitting_BB0
Hitting_GIDP0
Hitting_H3
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI1
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
allPositionsPlayed3B
gameID20260826_COL@WAS
game_typefull
mlbID665953
playerID665953
playerNameAndrés Chaparro
pos1B
startedTrue
startingPosition3B
teamWAS
teamID30
game_date2026-08-26
sl_k_percent22.2
sl_bb_percent11.7
sl_woba0.376
sl_xwoba0.361
sl_xba0.243
sl_xslg0.47
sl_sweet_spot_percent29.6
sl_barrel_batted_rate13.9
sl_hard_hit_percent46.3
sl_exit_velocity_avg89.6
sl_launch_angle_avg17.4
sl_whiff_percent29.7
sl_swing_percent48.1
José Tena (677588) · BATTER · 2B · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 253
All-history rows before 20260827: 253
System season_avg: 0.2330
Data season_avg (2026 season-to-date): 0.2434
Diff (system - data): -0.0104
System opponent_avg: 0.2630

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1190.0000.000Hitting_2B0.1781.000-0.178-1.000
predicted_3B0.0220.0000.000Hitting_3B0.0240.000-0.0240.000
predicted_AB2.5002.0003.000Hitting_AB2.9724.000-0.972-2.000
predicted_AVG0.2330.0000.333Hitting_AVG0.2430.250-0.243-0.250
predicted_BB0.2482.0000.000Hitting_BB0.3160.0001.6842.000
predicted_CS-0.0000.000BaseRunning_CS0.0280.000-0.0280.000
predicted_H0.5820.0001.000Hitting_H0.7231.000-0.723-1.000
predicted_HR0.0750.0000.000Hitting_HR0.0870.000-0.0870.000
predicted_OBP0.3020.5000.333Hitting_OBP0.3230.2500.1770.250
predicted_R0.3341.0000.000Hitting_R0.4230.0000.5771.000
predicted_RBI0.2372.0000.000Hitting_RBI0.3160.0001.6842.000
predicted_SB-0.0000.000BaseRunning_SB0.0510.000-0.0510.000
predicted_SLG0.3880.0000.333Hitting_SLG0.4070.500-0.407-0.500
predicted_SO0.8730.0001.000Hitting_SO0.9451.000-0.945-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectdeboosted
Changed Metrics8
Boosted Metrics3
Deboosted Metrics5
Better Metrics4
Worse Metrics4
Biggest Boostpredicted_RBI: 0.2370 -> 2.0000 (boost 1.7630, better)
Biggest Deboostpredicted_SO: 0.8730 -> 0.0000 (deboost -0.8730, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31203predicted_SO: 0.8730 -> 0.9582 (boost 0.0852, worse)predicted_SLG: 0.3880 -> 0.3744 (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_snapshot33030predicted_SLG: 0.3744 -> 0.3893 (boost 0.0149, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_AB: 2.4820 -> 3.0000 (boost 0.5180, better)predicted_BB: 0.2775 -> 0.0000 (deboost -0.2775, worse)AB rounded to 3 (raw=2.50), rates preserved: AVG=0.228 HR/AB=0.035
5consistency_constraints10101-predicted_R: 0.3314 -> 0.0000 (deboost -0.3314, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference63342predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "677588",
  "player_name": "José Tena",
  "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.119,
        "predicted_3B": 0.022,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.233,
        "predicted_BB": 0.248,
        "predicted_H": 0.582,
        "predicted_HR": 0.075,
        "predicted_OBP": 0.302,
        "predicted_R": 0.334,
        "predicted_RBI": 0.237,
        "predicted_SLG": 0.388,
        "predicted_SO": 0.873
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1005,
        "predicted_3B": 0.0178,
        "predicted_AB": 2.482,
        "predicted_AVG": 0.2199,
        "predicted_BB": 0.274,
        "predicted_H": 0.5459,
        "predicted_HBP": 0.041,
        "predicted_HR": 0.0826,
        "predicted_OBP": 0.3017,
        "predicted_R": 0.3097,
        "predicted_RBI": 0.2223,
        "predicted_SLG": 0.3744,
        "predicted_SO": 0.9582
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.119,
          "after": 0.1005,
          "delta": -0.0185,
          "percent_delta": -0.1555,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.022,
          "after": 0.0178,
          "delta": -0.0042,
          "percent_delta": -0.1909,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.482,
          "delta": -0.018,
          "percent_delta": -0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.233,
          "after": 0.2199,
          "delta": -0.0131,
          "percent_delta": -0.0562,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.248,
          "after": 0.274,
          "delta": 0.026,
          "percent_delta": 0.1048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.582,
          "after": 0.5459,
          "delta": -0.0361,
          "percent_delta": -0.062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.075,
          "after": 0.0826,
          "delta": 0.0076,
          "percent_delta": 0.1013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.302,
          "after": 0.3017,
          "delta": -0.0003,
          "percent_delta": -0.001,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.334,
          "after": 0.3097,
          "delta": -0.0243,
          "percent_delta": -0.0728,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.237,
          "after": 0.2223,
          "delta": -0.0147,
          "percent_delta": -0.062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.388,
          "after": 0.3744,
          "delta": -0.0136,
          "percent_delta": -0.0351,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.873,
          "after": 0.9582,
          "delta": 0.0852,
          "percent_delta": 0.0976,
          "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.873,
          "after": 0.9582,
          "delta": 0.0852,
          "percent_delta": 0.0976,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.388,
          "after": 0.3744,
          "delta": -0.0136,
          "percent_delta": -0.0351,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 98
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1005,
        "predicted_3B": 0.0178,
        "predicted_AB": 2.482,
        "predicted_AVG": 0.2294,
        "predicted_BB": 0.2775,
        "predicted_H": 0.5693,
        "predicted_HBP": 0.041,
        "predicted_HR": 0.087,
        "predicted_OBP": 0.3069,
        "predicted_R": 0.3314,
        "predicted_RBI": 0.2379,
        "predicted_SLG": 0.3893,
        "predicted_SO": 0.9459
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1005,
          "after": 0.1005,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0178,
          "after": 0.0178,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.482,
          "after": 2.482,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2199,
          "after": 0.2294,
          "delta": 0.0095,
          "percent_delta": 0.0432,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.274,
          "after": 0.2775,
          "delta": 0.0035,
          "percent_delta": 0.0128,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5459,
          "after": 0.5693,
          "delta": 0.0234,
          "percent_delta": 0.0429,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.041,
          "after": 0.041,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0826,
          "after": 0.087,
          "delta": 0.0044,
          "percent_delta": 0.0533,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3017,
          "after": 0.3069,
          "delta": 0.0052,
          "percent_delta": 0.0172,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3097,
          "after": 0.3314,
          "delta": 0.0217,
          "percent_delta": 0.0701,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2223,
          "after": 0.2379,
          "delta": 0.0156,
          "percent_delta": 0.0702,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3744,
          "after": 0.3893,
          "delta": 0.0149,
          "percent_delta": 0.0398,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9582,
          "after": 0.9459,
          "delta": -0.0123,
          "percent_delta": -0.0128,
          "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.3744,
          "after": 0.3893,
          "delta": 0.0149,
          "percent_delta": 0.0398,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.50), rates preserved: AVG=0.228 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.1005,
          "after": 0.0,
          "delta": -0.1005,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0178,
          "after": 0.0,
          "delta": -0.0178,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.482,
          "after": 3.0,
          "delta": 0.518,
          "percent_delta": 0.2087,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2775,
          "after": 0.0,
          "delta": -0.2775,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5693,
          "after": 1.0,
          "delta": 0.4307,
          "percent_delta": 0.7565,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.041,
          "after": 0.0,
          "delta": -0.041,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.087,
          "after": 0.0,
          "delta": -0.087,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2379,
          "after": 0.0,
          "delta": -0.2379,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9459,
          "after": 1.0,
          "delta": 0.0541,
          "percent_delta": 0.0572,
          "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.482,
          "after": 3.0,
          "delta": 0.518,
          "percent_delta": 0.2087,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2775,
          "after": 0.0,
          "delta": -0.2775,
          "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.3314,
          "after": 0.0,
          "delta": -0.3314,
          "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.3314,
          "after": 0.0,
          "delta": -0.3314,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": {},
      "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.228,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.31,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.387,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2294,
          "after": 0.228,
          "delta": -0.0014,
          "percent_delta": -0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3069,
          "after": 0.31,
          "delta": 0.0031,
          "percent_delta": 0.0101,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3893,
          "after": 0.387,
          "delta": -0.0023,
          "percent_delta": -0.0059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2294,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3069,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3893,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.228,
          "after": 0.2294,
          "delta": 0.0014,
          "percent_delta": 0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.31,
          "after": 0.3069,
          "delta": -0.0031,
          "percent_delta": -0.0101,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.387,
          "after": 0.3893,
          "delta": 0.0023,
          "percent_delta": 0.006,
          "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": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.119,
        "after": 0.0,
        "delta": -0.119,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.022,
        "after": 0.0,
        "delta": -0.022,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 2.0,
        "delta": -0.5,
        "percent_delta": -0.2,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.233,
        "after": 0.2294,
        "delta": -0.0036,
        "percent_delta": -0.0155,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.248,
        "after": 2.0,
        "delta": 1.752,
        "percent_delta": 7.0645,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.582,
        "after": 0.0,
        "delta": -0.582,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.075,
        "after": 0.0,
        "delta": -0.075,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.302,
        "after": 0.3069,
        "delta": 0.0049,
        "percent_delta": 0.0162,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.334,
        "after": 1.0,
        "delta": 0.666,
        "percent_delta": 1.994,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.237,
        "after": 2.0,
        "delta": 1.763,
        "percent_delta": 7.4388,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.388,
        "after": 0.3893,
        "delta": 0.0013,
        "percent_delta": 0.0034,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.873,
        "after": 0.0,
        "delta": -0.873,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 8,
      "boosted_metrics": 3,
      "deboosted_metrics": 5,
      "better_metrics": 4,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.237,
        "after": 2.0,
        "delta": 1.763,
        "percent_delta": 7.4388,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.873,
        "after": 0.0,
        "delta": -0.873,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "deboosted"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.119-
predicted_3B0.022-
predicted_AB2.500-
predicted_AVG0.233-
predicted_BB0.248-
predicted_H0.582-
predicted_HR0.075-
predicted_OBP0.302-
predicted_R0.334-
predicted_RBI0.237-
predicted_SLG0.388-
predicted_SO0.873-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.101-0.018
predicted_3B0.018-0.004
predicted_AB2.482-0.018
predicted_AVG0.220-0.013
predicted_BB0.2740.026
predicted_H0.546-0.036
predicted_HBP0.041-
predicted_HR0.0830.008
predicted_OBP0.302-0.000
predicted_R0.310-0.024
predicted_RBI0.222-0.015
predicted_SLG0.374-0.014
predicted_SO0.9580.085
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1010.000
predicted_3B0.0180.000
predicted_AB2.4820.000
predicted_AVG0.2290.009
predicted_BB0.2780.004
predicted_H0.5690.023
predicted_HBP0.0410.000
predicted_HR0.0870.004
predicted_OBP0.3070.005
predicted_R0.3310.022
predicted_RBI0.2380.016
predicted_SLG0.3890.015
predicted_SO0.946-0.012
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.50), rates preserved: AVG=0.228 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. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.101
predicted_3B0.000-0.018
predicted_AB3.0000.518
predicted_AVG0.228-0.001
predicted_BB0.000-0.278
predicted_H1.0000.431
predicted_HR0.000-0.087
predicted_OBP0.3100.003
predicted_R0.000-0.331
predicted_RBI0.000-0.238
predicted_SLG0.387-0.002
predicted_SO1.0000.054
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-1.000
BB2.0002.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.000
RBI2.0002.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 98
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-12.0001.0000.0000.0000.0000.0000.0002.0008.0000.08330.21430.08330.08330.00000.00000.16670.6667
last_100.2010-20.0004.0000.0000.0002.0002.0003.0004.00012.0000.20000.36000.50000.20000.10000.10000.20000.6000
season0.6098-232.00054.00011.0002.0007.00022.00031.00023.00081.0000.23280.31010.38790.23280.03020.09480.09910.3491
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0750
predicted_3B0.0120
predicted_AB2.4570
predicted_AVG0.2017
predicted_BB0.3100
predicted_H0.4960
predicted_HBP0.0410
predicted_HR0.0930
predicted_OBP0.3014
predicted_R0.2760
predicted_RBI0.2020
predicted_SLG0.3555
predicted_SO1.0760
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11900.07500.1005model_form_blend
predicted_3B0.02200.01200.0178model_form_blend
predicted_AB2.50002.45702.4820model_form_blend
predicted_AVG0.23300.20170.2199model_form_blend
predicted_BB0.24800.31000.2740model_form_blend
predicted_H0.58200.49600.5459model_form_blend
predicted_HBP-0.04100.0410form_only
predicted_HR0.07500.09300.0826model_form_blend
predicted_OBP0.30200.30140.3017model_form_blend
predicted_R0.33400.27600.3097model_form_blend
predicted_RBI0.23700.20200.2223model_form_blend
predicted_SLG0.38800.35550.3744model_form_blend
predicted_SO0.87301.07600.9582model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB2
H0
2B0
3B0
HR0
R1
RBI2
BB2
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260826_COL@WAS
game_typefull
mlbID677588
playerID677588
playerNameJosé Tena
posDH
startedTrue
startingPosition2B
teamWAS
teamID30
game_date2026-08-26
sl_k_percent30.3
sl_bb_percent9.6
sl_woba0.307
sl_xwoba0.299
sl_xba0.226
sl_xslg0.362
sl_sweet_spot_percent30.6
sl_barrel_batted_rate8.8
sl_hard_hit_percent46.9
sl_exit_velocity_avg90.7
sl_launch_angle_avg8.3
sl_whiff_percent34.2
sl_swing_percent48.0
Abimelec Ortiz (694673) · BATTER · 1B · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 57
All-history rows before 20260827: 57
System season_avg: 0.2210
Data season_avg (2026 season-to-date): 0.2239
Diff (system - data): -0.0029
System opponent_avg: 0.3330

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0910.0000.000Hitting_2B0.1230.000-0.1230.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.0914.0003.000Hitting_AB3.5264.0000.4740.000
predicted_AVG0.2350.2500.333Hitting_AVG0.2240.0000.0260.250
predicted_BB0.1821.0000.000Hitting_BB0.1930.0000.8071.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6401.0001.000Hitting_H0.7890.0000.2111.000
predicted_HR0.1400.0000.000Hitting_HR0.2810.000-0.2810.000
predicted_OBP0.2830.4000.333Hitting_OBP0.2640.0000.1360.400
predicted_R0.4551.0001.000Hitting_R0.4910.0000.5091.000
predicted_RBI0.3800.0001.000Hitting_RBI0.6140.000-0.6140.000
predicted_SLG0.3560.2500.333Hitting_SLG0.4980.000-0.2480.250
predicted_SO0.7733.0001.000Hitting_SO0.9471.0002.0532.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_SO: 0.7730 -> 3.0000 (boost 2.2270, worse)
Biggest Deboostpredicted_RBI: 0.3800 -> 0.0000 (deboost -0.3800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42222predicted_AB: 3.0910 -> 3.2038 (boost 0.1128, better)predicted_AVG: 0.2350 -> 0.2235 (deboost -0.0115, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot31212predicted_SLG: 0.3623 -> 0.3887 (boost 0.0264, better)predicted_OBP: 0.2751 -> 0.2628 (deboost -0.0123, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_H: 0.6872 -> 1.0000 (boost 0.3128, better)predicted_RBI: 0.4121 -> 0.0000 (deboost -0.4121, worse)AB rounded to 3 (raw=3.20), rates preserved: AVG=0.214 HR/AB=0.048
5consistency_constraints11010predicted_R: 0.5029 -> 1.0000 (boost 0.4971, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context32121predicted_SLG: 0.3887 -> 0.3960 (boost 0.0073, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference33021predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse)-Attached simulation box score without overwriting model prediction
9current_json_final20202-predicted_SLG: 0.3960 -> 0.3887 (deboost -0.0073, 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": "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.091,
        "predicted_3B": 0.0,
        "predicted_AB": 3.091,
        "predicted_AVG": 0.235,
        "predicted_BB": 0.182,
        "predicted_H": 0.64,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.283,
        "predicted_R": 0.455,
        "predicted_RBI": 0.38,
        "predicted_SLG": 0.356,
        "predicted_SO": 0.773
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0957,
        "predicted_3B": 0.0015,
        "predicted_AB": 3.2038,
        "predicted_AVG": 0.2235,
        "predicted_BB": 0.2071,
        "predicted_H": 0.6589,
        "predicted_HBP": 0.009,
        "predicted_HR": 0.1455,
        "predicted_OBP": 0.2751,
        "predicted_R": 0.4699,
        "predicted_RBI": 0.3851,
        "predicted_SLG": 0.3623,
        "predicted_SO": 0.7905
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.091,
          "after": 0.0957,
          "delta": 0.0047,
          "percent_delta": 0.0516,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0015,
          "delta": 0.0015,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.091,
          "after": 3.2038,
          "delta": 0.1128,
          "percent_delta": 0.0365,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.235,
          "after": 0.2235,
          "delta": -0.0115,
          "percent_delta": -0.0489,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.182,
          "after": 0.2071,
          "delta": 0.0251,
          "percent_delta": 0.1379,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.64,
          "after": 0.6589,
          "delta": 0.0189,
          "percent_delta": 0.0295,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.1455,
          "delta": 0.0055,
          "percent_delta": 0.0393,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.283,
          "after": 0.2751,
          "delta": -0.0079,
          "percent_delta": -0.0279,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.455,
          "after": 0.4699,
          "delta": 0.0149,
          "percent_delta": 0.0327,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.38,
          "after": 0.3851,
          "delta": 0.0051,
          "percent_delta": 0.0134,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.356,
          "after": 0.3623,
          "delta": 0.0063,
          "percent_delta": 0.0177,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.773,
          "after": 0.7905,
          "delta": 0.0175,
          "percent_delta": 0.0226,
          "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": 3.091,
          "after": 3.2038,
          "delta": 0.1128,
          "percent_delta": 0.0365,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.235,
          "after": 0.2235,
          "delta": -0.0115,
          "percent_delta": -0.0489,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 22
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0957,
        "predicted_3B": 0.0015,
        "predicted_AB": 3.2038,
        "predicted_AVG": 0.2145,
        "predicted_BB": 0.2098,
        "predicted_H": 0.6872,
        "predicted_HBP": 0.009,
        "predicted_HR": 0.1532,
        "predicted_OBP": 0.2628,
        "predicted_R": 0.5029,
        "predicted_RBI": 0.4121,
        "predicted_SLG": 0.3887,
        "predicted_SO": 0.7804
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0957,
          "after": 0.0957,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0015,
          "after": 0.0015,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.2038,
          "after": 3.2038,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2235,
          "after": 0.2145,
          "delta": -0.009,
          "percent_delta": -0.0403,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2071,
          "after": 0.2098,
          "delta": 0.0027,
          "percent_delta": 0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6589,
          "after": 0.6872,
          "delta": 0.0283,
          "percent_delta": 0.043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.009,
          "after": 0.009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1455,
          "after": 0.1532,
          "delta": 0.0077,
          "percent_delta": 0.0529,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2751,
          "after": 0.2628,
          "delta": -0.0123,
          "percent_delta": -0.0447,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4699,
          "after": 0.5029,
          "delta": 0.033,
          "percent_delta": 0.0702,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3851,
          "after": 0.4121,
          "delta": 0.027,
          "percent_delta": 0.0701,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3623,
          "after": 0.3887,
          "delta": 0.0264,
          "percent_delta": 0.0729,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7905,
          "after": 0.7804,
          "delta": -0.0101,
          "percent_delta": -0.0128,
          "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.3623,
          "after": 0.3887,
          "delta": 0.0264,
          "percent_delta": 0.0729,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.2751,
          "after": 0.2628,
          "delta": -0.0123,
          "percent_delta": -0.0447,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.20), rates preserved: AVG=0.214 HR/AB=0.048",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0957,
          "after": 0.0,
          "delta": -0.0957,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0015,
          "after": 0.0,
          "delta": -0.0015,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.2038,
          "after": 3.0,
          "delta": -0.2038,
          "percent_delta": -0.0636,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2098,
          "after": 0.0,
          "delta": -0.2098,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6872,
          "after": 1.0,
          "delta": 0.3128,
          "percent_delta": 0.4552,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.009,
          "after": 0.0,
          "delta": -0.009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1532,
          "after": 0.0,
          "delta": -0.1532,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4121,
          "after": 0.0,
          "delta": -0.4121,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7804,
          "after": 1.0,
          "delta": 0.2196,
          "percent_delta": 0.2814,
          "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.6872,
          "after": 1.0,
          "delta": 0.3128,
          "percent_delta": 0.4552,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4121,
          "after": 0.0,
          "delta": -0.4121,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5029,
          "after": 1.0,
          "delta": 0.4971,
          "percent_delta": 0.9885,
          "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.5029,
          "after": 1.0,
          "delta": 0.4971,
          "percent_delta": 0.9885,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 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_SO",
          "before": 1.0,
          "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_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.214,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.269,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.396,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2145,
          "after": 0.214,
          "delta": -0.0005,
          "percent_delta": -0.0023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2628,
          "after": 0.269,
          "delta": 0.0062,
          "percent_delta": 0.0236,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3887,
          "after": 0.396,
          "delta": 0.0073,
          "percent_delta": 0.0188,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.3887,
          "after": 0.396,
          "delta": 0.0073,
          "percent_delta": 0.0188,
          "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": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2145,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2628,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3887,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.214,
          "after": 0.2145,
          "delta": 0.0005,
          "percent_delta": 0.0023,
          "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.269,
          "after": 0.2628,
          "delta": -0.0062,
          "percent_delta": -0.0232,
          "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.396,
          "after": 0.3887,
          "delta": -0.0073,
          "percent_delta": -0.0184,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.396,
          "after": 0.3887,
          "delta": -0.0073,
          "percent_delta": -0.0184,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.091,
        "after": 0.0,
        "delta": -0.091,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.091,
        "after": 4.0,
        "delta": 0.909,
        "percent_delta": 0.2941,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.235,
        "after": 0.2145,
        "delta": -0.0205,
        "percent_delta": -0.0872,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.182,
        "after": 1.0,
        "delta": 0.818,
        "percent_delta": 4.4945,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.64,
        "after": 1.0,
        "delta": 0.36,
        "percent_delta": 0.5625,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.283,
        "after": 0.2628,
        "delta": -0.0202,
        "percent_delta": -0.0714,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.455,
        "after": 1.0,
        "delta": 0.545,
        "percent_delta": 1.1978,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.38,
        "after": 0.0,
        "delta": -0.38,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.356,
        "after": 0.3887,
        "delta": 0.0327,
        "percent_delta": 0.0919,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.773,
        "after": 3.0,
        "delta": 2.227,
        "percent_delta": 2.881,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.773,
        "after": 3.0,
        "delta": 2.227,
        "percent_delta": 2.881,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.38,
        "after": 0.0,
        "delta": -0.38,
        "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.091-
predicted_3B0.000-
predicted_AB3.091-
predicted_AVG0.235-
predicted_BB0.182-
predicted_H0.640-
predicted_HR0.140-
predicted_OBP0.283-
predicted_R0.455-
predicted_RBI0.380-
predicted_SLG0.356-
predicted_SO0.773-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.0960.005
predicted_3B0.0020.002
predicted_AB3.2040.113
predicted_AVG0.224-0.011
predicted_BB0.2070.025
predicted_H0.6590.019
predicted_HBP0.009-
predicted_HR0.1450.005
predicted_OBP0.275-0.008
predicted_R0.4700.015
predicted_RBI0.3850.005
predicted_SLG0.3620.006
predicted_SO0.7900.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.0960.000
predicted_3B0.0020.000
predicted_AB3.2040.000
predicted_AVG0.214-0.009
predicted_BB0.2100.003
predicted_H0.6870.028
predicted_HBP0.0090.000
predicted_HR0.1530.008
predicted_OBP0.263-0.012
predicted_R0.5030.033
predicted_RBI0.4120.027
predicted_SLG0.3890.026
predicted_SO0.780-0.010
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.20), rates preserved: AVG=0.214 HR/AB=0.048

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
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-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI1.0001.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.096
predicted_3B0.000-0.002
predicted_AB3.000-0.204
predicted_AVG0.214-0.001
predicted_BB0.000-0.210
predicted_H1.0000.313
predicted_HR0.000-0.153
predicted_OBP0.2690.006
predicted_R1.0000.497
predicted_RBI0.000-0.412
predicted_SLG0.3960.007
predicted_SO1.0000.220
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
BB1.0001.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0000.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO3.0002.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 22
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.0001.0003.0002.0004.0000.11110.20000.11110.11110.00000.05560.11110.2222
last_100.2010-33.0005.0001.0000.0001.0002.0005.0003.0009.0000.15150.22220.27270.15150.03030.06060.09090.2727
season0.6022-68.00015.0002.0000.0005.00010.00010.0004.00017.0000.22060.26390.47060.22060.07350.14710.05880.2500
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1040
predicted_3B0.0040
predicted_AB3.4010
predicted_AVG0.2034
predicted_BB0.2510
predicted_H0.6920
predicted_HBP0.0090
predicted_HR0.1550
predicted_OBP0.2612
predicted_R0.4960
predicted_RBI0.3940
predicted_SLG0.3733
predicted_SO0.8210
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09100.10400.0957model_form_blend
predicted_3B0.00000.00400.0015model_form_blend
predicted_AB3.09103.40103.2038model_form_blend
predicted_AVG0.23500.20340.2235model_form_blend
predicted_BB0.18200.25100.2071model_form_blend
predicted_H0.64000.69200.6589model_form_blend
predicted_HBP-0.00900.0090form_only
predicted_HR0.14000.15500.1455model_form_blend
predicted_OBP0.28300.26120.2751model_form_blend
predicted_R0.45500.49600.4699model_form_blend
predicted_RBI0.38000.39400.3851model_form_blend
predicted_SLG0.35600.37330.3623model_form_blend
predicted_SO0.77300.82100.7905model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_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_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
gameID20260826_COL@WAS
game_typefull
mlbID694673
playerID694673
playerNameAbimelec Ortiz
pos1B
startedTrue
startingPosition1B
teamWAS
teamID30
game_date2026-08-26
sl_k_percent23.9
sl_bb_percent5.4
sl_woba0.297
sl_xwoba0.31
sl_xba0.235
sl_xslg0.446
sl_sweet_spot_percent41.5
sl_barrel_batted_rate9.2
sl_hard_hit_percent40.0
sl_exit_velocity_avg90.2
sl_launch_angle_avg12.1
sl_whiff_percent22.9
sl_swing_percent51.2
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 20260827: 426
All-history rows before 20260827: 426
System season_avg: 0.2170
Data season_avg (2026 season-to-date): 0.2258
Diff (system - data): -0.0088
System opponent_avg: 0.2780

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0340.0000.000Hitting_2B0.0380.000-0.0380.000
predicted_3B0.0260.0000.000Hitting_3B0.0280.000-0.0280.000
predicted_AB3.2654.0003.000Hitting_AB3.3993.0000.6011.000
predicted_AVG0.2170.0000.333Hitting_AVG0.2260.000-0.2260.000
predicted_BB0.3850.0000.000Hitting_BB0.4200.000-0.4200.000
predicted_CS-0.0000.000BaseRunning_CS0.0610.000-0.0610.000
predicted_H0.7090.0001.000Hitting_H0.7680.000-0.7680.000
predicted_HR0.0090.0000.000Hitting_HR0.0120.000-0.0120.000
predicted_OBP0.3000.0000.333Hitting_OBP0.3110.000-0.3110.000
predicted_R0.3930.0000.000Hitting_R0.4370.000-0.4370.000
predicted_RBI0.2910.0000.000Hitting_RBI0.3260.000-0.3260.000
predicted_SLG0.2510.0000.333Hitting_SLG0.2640.000-0.2640.000
predicted_SO0.7692.0001.000Hitting_SO0.8290.0001.1712.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.7690 -> 2.0000 (boost 1.2310, worse)
Biggest Deboostpredicted_H: 0.7090 -> 0.0000 (deboost -0.7090, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend40404-predicted_H: 0.7090 -> 0.6409 (deboost -0.0681, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot33030predicted_OBP: 0.2725 -> 0.2814 (boost 0.0089, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling52314predicted_H: 0.6684 -> 1.0000 (boost 0.3316, better)predicted_BB: 0.3567 -> 0.0000 (deboost -0.3567, worse)AB rounded to 3 (raw=3.29), rates preserved: AVG=0.203 HR/AB=0.003
5consistency_constraints10101-predicted_R: 0.4082 -> 0.0000 (deboost -0.4082, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context22020predicted_SLG: 0.2361 -> 0.2740 (boost 0.0379, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_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
9current_json_final20202-predicted_SLG: 0.2740 -> 0.2361 (deboost -0.0379, 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.034,
        "predicted_3B": 0.026,
        "predicted_AB": 3.265,
        "predicted_AVG": 0.217,
        "predicted_BB": 0.385,
        "predicted_H": 0.709,
        "predicted_HR": 0.009,
        "predicted_OBP": 0.3,
        "predicted_R": 0.393,
        "predicted_RBI": 0.291,
        "predicted_SLG": 0.251,
        "predicted_SO": 0.769
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0323,
        "predicted_3B": 0.0213,
        "predicted_AB": 3.2857,
        "predicted_AVG": 0.1951,
        "predicted_BB": 0.3522,
        "predicted_H": 0.6409,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.0103,
        "predicted_OBP": 0.2725,
        "predicted_R": 0.3814,
        "predicted_RBI": 0.2488,
        "predicted_SLG": 0.2272,
        "predicted_SO": 0.7686
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.034,
          "after": 0.0323,
          "delta": -0.0017,
          "percent_delta": -0.05,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.026,
          "after": 0.0213,
          "delta": -0.0047,
          "percent_delta": -0.1808,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.265,
          "after": 3.2857,
          "delta": 0.0207,
          "percent_delta": 0.0063,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.217,
          "after": 0.1951,
          "delta": -0.0219,
          "percent_delta": -0.1009,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.385,
          "after": 0.3522,
          "delta": -0.0328,
          "percent_delta": -0.0852,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.709,
          "after": 0.6409,
          "delta": -0.0681,
          "percent_delta": -0.0961,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.009,
          "after": 0.0103,
          "delta": 0.0013,
          "percent_delta": 0.1444,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.2725,
          "delta": -0.0275,
          "percent_delta": -0.0917,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.393,
          "after": 0.3814,
          "delta": -0.0116,
          "percent_delta": -0.0295,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.291,
          "after": 0.2488,
          "delta": -0.0422,
          "percent_delta": -0.145,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.251,
          "after": 0.2272,
          "delta": -0.0238,
          "percent_delta": -0.0948,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.769,
          "after": 0.7686,
          "delta": -0.0004,
          "percent_delta": -0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.709,
          "after": 0.6409,
          "delta": -0.0681,
          "percent_delta": -0.0961,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 117
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0323,
        "predicted_3B": 0.0213,
        "predicted_AB": 3.2857,
        "predicted_AVG": 0.2034,
        "predicted_BB": 0.3567,
        "predicted_H": 0.6684,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.0108,
        "predicted_OBP": 0.2814,
        "predicted_R": 0.4082,
        "predicted_RBI": 0.2663,
        "predicted_SLG": 0.2361,
        "predicted_SO": 0.7588
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0323,
          "after": 0.0323,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0213,
          "after": 0.0213,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.2857,
          "after": 3.2857,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1951,
          "after": 0.2034,
          "delta": 0.0083,
          "percent_delta": 0.0425,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3522,
          "after": 0.3567,
          "delta": 0.0045,
          "percent_delta": 0.0128,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6409,
          "after": 0.6684,
          "delta": 0.0275,
          "percent_delta": 0.0429,
          "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.0103,
          "after": 0.0108,
          "delta": 0.0005,
          "percent_delta": 0.0485,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2725,
          "after": 0.2814,
          "delta": 0.0089,
          "percent_delta": 0.0327,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3814,
          "after": 0.4082,
          "delta": 0.0268,
          "percent_delta": 0.0703,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2488,
          "after": 0.2663,
          "delta": 0.0175,
          "percent_delta": 0.0703,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2272,
          "after": 0.2361,
          "delta": 0.0089,
          "percent_delta": 0.0392,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7686,
          "after": 0.7588,
          "delta": -0.0098,
          "percent_delta": -0.0128,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2725,
          "after": 0.2814,
          "delta": 0.0089,
          "percent_delta": 0.0327,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.29), rates preserved: AVG=0.203 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.0323,
          "after": 0.0,
          "delta": -0.0323,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0213,
          "after": 0.0,
          "delta": -0.0213,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.2857,
          "after": 3.0,
          "delta": -0.2857,
          "percent_delta": -0.087,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3567,
          "after": 0.0,
          "delta": -0.3567,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6684,
          "after": 1.0,
          "delta": 0.3316,
          "percent_delta": 0.4961,
          "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.0108,
          "after": 0.0,
          "delta": -0.0108,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2663,
          "after": 0.0,
          "delta": -0.2663,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7588,
          "after": 1.0,
          "delta": 0.2412,
          "percent_delta": 0.3179,
          "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.6684,
          "after": 1.0,
          "delta": 0.3316,
          "percent_delta": 0.4961,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3567,
          "after": 0.0,
          "delta": -0.3567,
          "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.4082,
          "after": 0.0,
          "delta": -0.4082,
          "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.4082,
          "after": 0.0,
          "delta": -0.4082,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": {},
      "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.203,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.287,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.274,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2034,
          "after": 0.203,
          "delta": -0.0004,
          "percent_delta": -0.002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2814,
          "after": 0.287,
          "delta": 0.0056,
          "percent_delta": 0.0199,
          "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.2361,
          "after": 0.274,
          "delta": 0.0379,
          "percent_delta": 0.1605,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.2361,
          "after": 0.274,
          "delta": 0.0379,
          "percent_delta": 0.1605,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2034,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2814,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2361,
        "predicted_SO": 2.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.203,
          "after": 0.2034,
          "delta": 0.0004,
          "percent_delta": 0.0021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.287,
          "after": 0.2814,
          "delta": -0.0056,
          "percent_delta": -0.0194,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.274,
          "after": 0.2361,
          "delta": -0.0379,
          "percent_delta": -0.1382,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.274,
          "after": 0.2361,
          "delta": -0.0379,
          "percent_delta": -0.1382,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.034,
        "after": 0.0,
        "delta": -0.034,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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.265,
        "after": 4.0,
        "delta": 0.735,
        "percent_delta": 0.2251,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.217,
        "after": 0.2034,
        "delta": -0.0136,
        "percent_delta": -0.0627,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.385,
        "after": 0.0,
        "delta": -0.385,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.709,
        "after": 0.0,
        "delta": -0.709,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "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.3,
        "after": 0.2814,
        "delta": -0.0186,
        "percent_delta": -0.062,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.393,
        "after": 0.0,
        "delta": -0.393,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.291,
        "after": 0.0,
        "delta": -0.291,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.251,
        "after": 0.2361,
        "delta": -0.0149,
        "percent_delta": -0.0594,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.769,
        "after": 2.0,
        "delta": 1.231,
        "percent_delta": 1.6008,
        "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.769,
        "after": 2.0,
        "delta": 1.231,
        "percent_delta": 1.6008,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.709,
        "after": 0.0,
        "delta": -0.709,
        "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.034-
predicted_3B0.026-
predicted_AB3.265-
predicted_AVG0.217-
predicted_BB0.385-
predicted_H0.709-
predicted_HR0.009-
predicted_OBP0.300-
predicted_R0.393-
predicted_RBI0.291-
predicted_SLG0.251-
predicted_SO0.769-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.032-0.002
predicted_3B0.021-0.005
predicted_AB3.2860.021
predicted_AVG0.195-0.022
predicted_BB0.352-0.033
predicted_H0.641-0.068
predicted_HBP0.007-
predicted_HR0.0100.001
predicted_OBP0.273-0.027
predicted_R0.381-0.012
predicted_RBI0.249-0.042
predicted_SLG0.227-0.024
predicted_SO0.769-0.000
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0320.000
predicted_3B0.0210.000
predicted_AB3.2860.000
predicted_AVG0.2030.008
predicted_BB0.3570.005
predicted_H0.6680.027
predicted_HBP0.0070.000
predicted_HR0.0110.001
predicted_OBP0.2810.009
predicted_R0.4080.027
predicted_RBI0.2660.017
predicted_SLG0.2360.009
predicted_SO0.759-0.010
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.29), rates preserved: AVG=0.203 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. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.032
predicted_3B0.000-0.021
predicted_AB3.000-0.286
predicted_AVG0.203-0.000
predicted_BB0.000-0.357
predicted_H1.0000.332
predicted_HR0.000-0.011
predicted_OBP0.2870.006
predicted_R0.000-0.408
predicted_RBI0.000-0.266
predicted_SLG0.2740.038
predicted_SO1.0000.241
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
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: 117
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0001.0000.0000.0000.0000.0002.0001.0004.0000.06250.11760.06250.06250.00000.00000.06250.2500
last_100.2010-34.0003.0000.0000.0000.0000.0002.0002.0007.0000.08820.13890.08820.08820.00000.00000.05880.2059
season0.60117-382.00083.0004.0003.0001.00034.00046.00045.00090.0000.21730.30000.25130.21730.00260.08900.11780.2356
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0300
predicted_3B0.0150
predicted_AB3.3130
predicted_AVG0.1662
predicted_BB0.3090
predicted_H0.5510
predicted_HBP0.0070
predicted_HR0.0120
predicted_OBP0.2361
predicted_R0.3660
predicted_RBI0.1930
predicted_SLG0.1957
predicted_SO0.7680
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.03400.03000.0323model_form_blend
predicted_3B0.02600.01500.0213model_form_blend
predicted_AB3.26503.31303.2857model_form_blend
predicted_AVG0.21700.16620.1951model_form_blend
predicted_BB0.38500.30900.3522model_form_blend
predicted_H0.70900.55100.6409model_form_blend
predicted_HBP-0.00700.0070form_only
predicted_HR0.00900.01200.0103model_form_blend
predicted_OBP0.30000.23610.2725model_form_blend
predicted_R0.39300.36600.3814model_form_blend
predicted_RBI0.29100.19300.2488model_form_blend
predicted_SLG0.25100.19570.2272model_form_blend
predicted_SO0.76900.76800.7686model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260826_COL@WAS
game_typefull
mlbID683083
playerID683083
playerNameNasim Nuñez
pos2B
startedTrue
startingPositionSS
teamWAS
teamID30
game_date2026-08-26
sl_k_percent20.4
sl_bb_percent9.9
sl_woba0.255
sl_xwoba0.266
sl_xba0.222
sl_xslg0.273
sl_sweet_spot_percent29.7
sl_barrel_batted_rate0.6
sl_hard_hit_percent21.5
sl_exit_velocity_avg85.1
sl_launch_angle_avg9.0
sl_whiff_percent21.1
sl_swing_percent47.5
Daylen Lile (695734) · BATTER · LF · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 526
All-history rows before 20260827: 526
System season_avg: 0.2490
Data season_avg (2026 season-to-date): 0.2479
Diff (system - data): 0.0011
System opponent_avg: 0.3890

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1890.0000.000Hitting_2B0.1940.000-0.1940.000
predicted_3B0.0380.0000.000Hitting_3B0.0360.000-0.0360.000
predicted_AB4.0702.0004.000Hitting_AB4.0043.000-2.004-1.000
predicted_AVG0.2800.5000.250Hitting_AVG0.2480.0000.2520.500
predicted_BB0.2350.0000.000Hitting_BB0.2510.000-0.2510.000
predicted_CS-0.0000.000BaseRunning_CS0.0400.000-0.0400.000
predicted_H1.1401.0001.000Hitting_H0.9920.0000.0081.000
predicted_HR0.2600.0001.000Hitting_HR0.1330.000-0.1330.000
predicted_OBP0.3390.7500.250Hitting_OBP0.2980.0000.4520.750
predicted_R0.5081.0001.000Hitting_R0.5340.0000.4661.000
predicted_RBI0.9901.0001.000Hitting_RBI0.5680.0000.4321.000
predicted_SLG0.5290.5001.000Hitting_SLG0.4140.0000.0860.500
predicted_SO0.8030.0001.000Hitting_SO0.8251.000-0.825-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics3
Deboosted Metrics6
Better Metrics4
Worse Metrics5
Biggest Boostpredicted_R: 0.5080 -> 1.0000 (boost 0.4920, better)
Biggest Deboostpredicted_AB: 4.0700 -> 2.0000 (deboost -2.0700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend20202-predicted_RBI: 0.9900 -> 0.8743 (deboost -0.1157, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot33030predicted_RBI: 0.8743 -> 0.9357 (boost 0.0614, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62415predicted_SO: 0.8099 -> 1.0000 (boost 0.1901, worse)predicted_BB: 0.2569 -> 0.0000 (deboost -0.2569, worse)AB rounded to 4 (raw=4.07), rates preserved: AVG=0.289 HR/AB=0.059
5consistency_constraints11010predicted_R: 0.5926 -> 1.0000 (boost 0.4074, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context20202-predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference31221predicted_HBP: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_AB: 4.0000 -> 2.0000 (deboost -2.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final11010predicted_SLG: 0.5340 -> 0.5406 (boost 0.0066, better)-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": "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.189,
        "predicted_3B": 0.038,
        "predicted_AB": 4.07,
        "predicted_AVG": 0.28,
        "predicted_BB": 0.235,
        "predicted_H": 1.14,
        "predicted_HR": 0.26,
        "predicted_OBP": 0.339,
        "predicted_R": 0.508,
        "predicted_RBI": 0.99,
        "predicted_SLG": 0.529,
        "predicted_SO": 0.803
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2064,
        "predicted_3B": 0.0315,
        "predicted_AB": 4.0204,
        "predicted_AVG": 0.2807,
        "predicted_BB": 0.2537,
        "predicted_H": 1.1291,
        "predicted_HBP": 0.028,
        "predicted_HR": 0.23,
        "predicted_OBP": 0.3359,
        "predicted_R": 0.5537,
        "predicted_RBI": 0.8743,
        "predicted_SLG": 0.5145,
        "predicted_SO": 0.8204
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.189,
          "after": 0.2064,
          "delta": 0.0174,
          "percent_delta": 0.0921,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.038,
          "after": 0.0315,
          "delta": -0.0065,
          "percent_delta": -0.1711,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.07,
          "after": 4.0204,
          "delta": -0.0496,
          "percent_delta": -0.0122,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.28,
          "after": 0.2807,
          "delta": 0.0007,
          "percent_delta": 0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.235,
          "after": 0.2537,
          "delta": 0.0187,
          "percent_delta": 0.0796,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.14,
          "after": 1.1291,
          "delta": -0.0109,
          "percent_delta": -0.0096,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.26,
          "after": 0.23,
          "delta": -0.03,
          "percent_delta": -0.1154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.339,
          "after": 0.3359,
          "delta": -0.0031,
          "percent_delta": -0.0091,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.508,
          "after": 0.5537,
          "delta": 0.0457,
          "percent_delta": 0.09,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.99,
          "after": 0.8743,
          "delta": -0.1157,
          "percent_delta": -0.1169,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.529,
          "after": 0.5145,
          "delta": -0.0145,
          "percent_delta": -0.0274,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.803,
          "after": 0.8204,
          "delta": 0.0174,
          "percent_delta": 0.0217,
          "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_RBI",
          "before": 0.99,
          "after": 0.8743,
          "delta": -0.1157,
          "percent_delta": -0.1169,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 132
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2064,
        "predicted_3B": 0.0315,
        "predicted_AB": 4.0204,
        "predicted_AVG": 0.2929,
        "predicted_BB": 0.2569,
        "predicted_H": 1.1775,
        "predicted_HBP": 0.028,
        "predicted_HR": 0.2421,
        "predicted_OBP": 0.3354,
        "predicted_R": 0.5926,
        "predicted_RBI": 0.9357,
        "predicted_SLG": 0.5406,
        "predicted_SO": 0.8099
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2064,
          "after": 0.2064,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0315,
          "after": 0.0315,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0204,
          "after": 4.0204,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2807,
          "after": 0.2929,
          "delta": 0.0122,
          "percent_delta": 0.0435,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2537,
          "after": 0.2569,
          "delta": 0.0032,
          "percent_delta": 0.0126,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1291,
          "after": 1.1775,
          "delta": 0.0484,
          "percent_delta": 0.0429,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.028,
          "after": 0.028,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.23,
          "after": 0.2421,
          "delta": 0.0121,
          "percent_delta": 0.0526,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3359,
          "after": 0.3354,
          "delta": -0.0005,
          "percent_delta": -0.0015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5537,
          "after": 0.5926,
          "delta": 0.0389,
          "percent_delta": 0.0703,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8743,
          "after": 0.9357,
          "delta": 0.0614,
          "percent_delta": 0.0702,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5145,
          "after": 0.5406,
          "delta": 0.0261,
          "percent_delta": 0.0507,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8204,
          "after": 0.8099,
          "delta": -0.0105,
          "percent_delta": -0.0128,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.8743,
          "after": 0.9357,
          "delta": 0.0614,
          "percent_delta": 0.0702,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.07), rates preserved: AVG=0.289 HR/AB=0.059",
      "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.2064,
          "after": 0.0,
          "delta": -0.2064,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0315,
          "after": 0.0,
          "delta": -0.0315,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0204,
          "after": 4.0,
          "delta": -0.0204,
          "percent_delta": -0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2569,
          "after": 0.0,
          "delta": -0.2569,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1775,
          "after": 1.0,
          "delta": -0.1775,
          "percent_delta": -0.1507,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.028,
          "after": 0.0,
          "delta": -0.028,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2421,
          "after": 0.0,
          "delta": -0.2421,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9357,
          "after": 1.0,
          "delta": 0.0643,
          "percent_delta": 0.0687,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8099,
          "after": 1.0,
          "delta": 0.1901,
          "percent_delta": 0.2347,
          "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.8099,
          "after": 1.0,
          "delta": 0.1901,
          "percent_delta": 0.2347,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2569,
          "after": 0.0,
          "delta": -0.2569,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5926,
          "after": 1.0,
          "delta": 0.4074,
          "percent_delta": 0.6875,
          "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.5926,
          "after": 1.0,
          "delta": 0.4074,
          "percent_delta": 0.6875,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "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.289,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.337,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.534,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2929,
          "after": 0.289,
          "delta": -0.0039,
          "percent_delta": -0.0133,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3354,
          "after": 0.337,
          "delta": 0.0016,
          "percent_delta": 0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5406,
          "after": 0.534,
          "delta": -0.0066,
          "percent_delta": -0.0122,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 2.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "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": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 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.2929,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 2.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.3354,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5406,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.289,
          "after": 0.2929,
          "delta": 0.0039,
          "percent_delta": 0.0135,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.337,
          "after": 0.3354,
          "delta": -0.0016,
          "percent_delta": -0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.534,
          "after": 0.5406,
          "delta": 0.0066,
          "percent_delta": 0.0123,
          "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_SLG",
          "before": 0.534,
          "after": 0.5406,
          "delta": 0.0066,
          "percent_delta": 0.0123,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.189,
        "after": 0.0,
        "delta": -0.189,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.038,
        "after": 0.0,
        "delta": -0.038,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.07,
        "after": 2.0,
        "delta": -2.07,
        "percent_delta": -0.5086,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.28,
        "after": 0.2929,
        "delta": 0.0129,
        "percent_delta": 0.0461,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.235,
        "after": 0.0,
        "delta": -0.235,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.14,
        "after": 1.0,
        "delta": -0.14,
        "percent_delta": -0.1228,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.26,
        "after": 0.0,
        "delta": -0.26,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.339,
        "after": 0.3354,
        "delta": -0.0036,
        "percent_delta": -0.0106,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.508,
        "after": 1.0,
        "delta": 0.492,
        "percent_delta": 0.9685,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.99,
        "after": 1.0,
        "delta": 0.01,
        "percent_delta": 0.0101,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SLG",
        "before": 0.529,
        "after": 0.5406,
        "delta": 0.0116,
        "percent_delta": 0.0219,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.803,
        "after": 0.0,
        "delta": -0.803,
        "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_R",
        "before": 0.508,
        "after": 1.0,
        "delta": 0.492,
        "percent_delta": 0.9685,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.07,
        "after": 2.0,
        "delta": -2.07,
        "percent_delta": -0.5086,
        "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.189-
predicted_3B0.038-
predicted_AB4.070-
predicted_AVG0.280-
predicted_BB0.235-
predicted_H1.140-
predicted_HR0.260-
predicted_OBP0.339-
predicted_R0.508-
predicted_RBI0.990-
predicted_SLG0.529-
predicted_SO0.803-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2060.017
predicted_3B0.032-0.006
predicted_AB4.020-0.050
predicted_AVG0.2810.001
predicted_BB0.2540.019
predicted_H1.129-0.011
predicted_HBP0.028-
predicted_HR0.230-0.030
predicted_OBP0.336-0.003
predicted_R0.5540.046
predicted_RBI0.874-0.116
predicted_SLG0.514-0.015
predicted_SO0.8200.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.2060.000
predicted_3B0.0320.000
predicted_AB4.0200.000
predicted_AVG0.2930.012
predicted_BB0.2570.003
predicted_H1.1770.048
predicted_HBP0.0280.000
predicted_HR0.2420.012
predicted_OBP0.335-0.001
predicted_R0.5930.039
predicted_RBI0.9360.061
predicted_SLG0.5410.026
predicted_SO0.810-0.011
4. ab_floor_and_scaling

AB rounded to 4 (raw=4.07), rates preserved: AVG=0.289 HR/AB=0.059

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
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR1.0001.000
R1.0000.000
RBI1.0000.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.206
predicted_3B0.000-0.032
predicted_AB4.000-0.020
predicted_AVG0.289-0.004
predicted_BB0.000-0.257
predicted_H1.000-0.177
predicted_HR0.000-0.242
predicted_OBP0.3370.002
predicted_R1.0000.407
predicted_RBI1.0000.064
predicted_SLG0.534-0.007
predicted_SO1.0000.190
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
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP2.0002.000
HR0.000-1.000
PA4.000-
R1.0000.000
RBI1.0000.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 132
Reference playing time: 4.070
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-21.0009.0002.0000.0002.0007.0005.0002.0003.0000.42860.47830.80950.42860.09520.33330.09520.1429
last_100.2010-41.00010.0002.0000.0002.0007.0006.0003.00012.0000.24390.29550.43900.24390.04880.17070.07320.2927
season0.60132-507.000126.00025.0005.00017.00072.00067.00031.000106.0000.24850.29740.41810.24850.03350.14200.06110.2091
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2290
predicted_3B0.0230
predicted_AB3.9560
predicted_AVG0.2817
predicted_BB0.2780
predicted_H1.1150
predicted_HBP0.0280
predicted_HR0.1910
predicted_OBP0.3318
predicted_R0.6130
predicted_RBI0.7240
predicted_SLG0.4957
predicted_SO0.8430
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18900.22900.2064model_form_blend
predicted_3B0.03800.02300.0315model_form_blend
predicted_AB4.07003.95604.0204model_form_blend
predicted_AVG0.28000.28170.2807model_form_blend
predicted_BB0.23500.27800.2537model_form_blend
predicted_H1.14001.11501.1291model_form_blend
predicted_HBP-0.02800.0280form_only
predicted_HR0.26000.19100.2300model_form_blend
predicted_OBP0.33900.33180.3359model_form_blend
predicted_R0.50800.61300.5537model_form_blend
predicted_RBI0.99000.72400.8743model_form_blend
predicted_SLG0.52900.49570.5145model_form_blend
predicted_SO0.80300.84300.8204model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_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_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260826_COL@WAS
game_typefull
mlbID695734
playerID695734
playerNameDaylen Lile
posLF
startedTrue
startingPositionLF
teamWAS
teamID30
game_date2026-08-26
sl_k_percent18.8
sl_bb_percent6.3
sl_woba0.325
sl_xwoba0.33
sl_xba0.262
sl_xslg0.445
sl_sweet_spot_percent38.8
sl_barrel_batted_rate9.0
sl_hard_hit_percent38.2
sl_exit_velocity_avg88.7
sl_launch_angle_avg18.7
sl_whiff_percent23.5
sl_swing_percent55.7
Dylan Crews (686611) · BATTER · RF · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 313
All-history rows before 20260827: 313
System season_avg: 0.2130
Data season_avg (2026 season-to-date): 0.2194
Diff (system - data): -0.0064
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.1630.0000.000Hitting_2B0.1660.000-0.1660.000
predicted_3B0.0000.0000.000Hitting_3B0.0031.000-0.003-1.000
predicted_AB4.5904.0005.000Hitting_AB3.9174.0000.0830.000
predicted_AVG0.2050.0000.200Hitting_AVG0.2190.500-0.219-0.500
predicted_BB0.3000.0001.000Hitting_BB0.3070.000-0.3070.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9400.0001.000Hitting_H0.8592.000-0.859-2.000
predicted_HR0.1300.0000.000Hitting_HR0.1340.000-0.1340.000
predicted_OBP0.2930.0000.333Hitting_OBP0.2940.500-0.294-0.500
predicted_R0.5120.0000.000Hitting_R0.5620.000-0.5620.000
predicted_RBI0.4800.0001.000Hitting_RBI0.3900.000-0.3900.000
predicted_SLG0.3800.0000.200Hitting_SLG0.3661.000-0.366-1.000
predicted_SO0.9751.0001.000Hitting_SO1.0032.000-0.003-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics1
Deboosted Metrics9
Better Metrics1
Worse Metrics9
Biggest Boostpredicted_AVG: 0.2050 -> 0.2203 (boost 0.0153, better)
Biggest Deboostpredicted_H: 0.9400 -> 0.0000 (deboost -0.9400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend61524predicted_AVG: 0.2050 -> 0.2123 (boost 0.0073, better)predicted_AB: 4.5900 -> 4.1873 (deboost -0.4027, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot31212predicted_AVG: 0.2123 -> 0.2203 (boost 0.0080, better)predicted_SLG: 0.3655 -> 0.3459 (deboost -0.0196, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling74334predicted_AB: 4.1873 -> 5.0000 (boost 0.8127, better)predicted_BB: 0.3357 -> 0.0000 (deboost -0.3357, worse)AB rounded to 5 (raw=4.59), rates preserved: AVG=0.201 HR/AB=0.025
5consistency_constraints10101-predicted_R: 0.4837 -> 0.0000 (deboost -0.4837, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context40404-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference30303-predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.3230 -> 0.3459 (boost 0.0229, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "686611",
  "player_name": "Dylan Crews",
  "position": "RF",
  "team": "WAS",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.163,
        "predicted_3B": 0.0,
        "predicted_AB": 4.59,
        "predicted_AVG": 0.205,
        "predicted_BB": 0.3,
        "predicted_H": 0.94,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.293,
        "predicted_R": 0.512,
        "predicted_RBI": 0.48,
        "predicted_SLG": 0.38,
        "predicted_SO": 0.975
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1856,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.1873,
        "predicted_AVG": 0.2123,
        "predicted_BB": 0.3315,
        "predicted_H": 0.8847,
        "predicted_HBP": 0.049,
        "predicted_HR": 0.1074,
        "predicted_OBP": 0.2971,
        "predicted_R": 0.452,
        "predicted_RBI": 0.4506,
        "predicted_SLG": 0.3655,
        "predicted_SO": 0.9184
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.163,
          "after": 0.1856,
          "delta": 0.0226,
          "percent_delta": 0.1387,
          "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.59,
          "after": 4.1873,
          "delta": -0.4027,
          "percent_delta": -0.0877,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.205,
          "after": 0.2123,
          "delta": 0.0073,
          "percent_delta": 0.0356,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3,
          "after": 0.3315,
          "delta": 0.0315,
          "percent_delta": 0.105,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.94,
          "after": 0.8847,
          "delta": -0.0553,
          "percent_delta": -0.0588,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.13,
          "after": 0.1074,
          "delta": -0.0226,
          "percent_delta": -0.1738,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.293,
          "after": 0.2971,
          "delta": 0.0041,
          "percent_delta": 0.014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.512,
          "after": 0.452,
          "delta": -0.06,
          "percent_delta": -0.1172,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.48,
          "after": 0.4506,
          "delta": -0.0294,
          "percent_delta": -0.0612,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.38,
          "after": 0.3655,
          "delta": -0.0145,
          "percent_delta": -0.0382,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.975,
          "after": 0.9184,
          "delta": -0.0566,
          "percent_delta": -0.0581,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.205,
          "after": 0.2123,
          "delta": 0.0073,
          "percent_delta": 0.0356,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.59,
          "after": 4.1873,
          "delta": -0.4027,
          "percent_delta": -0.0877,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1856,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.1873,
        "predicted_AVG": 0.2203,
        "predicted_BB": 0.3357,
        "predicted_H": 0.9227,
        "predicted_HBP": 0.049,
        "predicted_HR": 0.1131,
        "predicted_OBP": 0.2782,
        "predicted_R": 0.4837,
        "predicted_RBI": 0.4822,
        "predicted_SLG": 0.3459,
        "predicted_SO": 0.9066
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1856,
          "after": 0.1856,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1873,
          "after": 4.1873,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2123,
          "after": 0.2203,
          "delta": 0.008,
          "percent_delta": 0.0377,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3315,
          "after": 0.3357,
          "delta": 0.0042,
          "percent_delta": 0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8847,
          "after": 0.9227,
          "delta": 0.038,
          "percent_delta": 0.043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.049,
          "after": 0.049,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1074,
          "after": 0.1131,
          "delta": 0.0057,
          "percent_delta": 0.0531,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2971,
          "after": 0.2782,
          "delta": -0.0189,
          "percent_delta": -0.0636,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.452,
          "after": 0.4837,
          "delta": 0.0317,
          "percent_delta": 0.0701,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4506,
          "after": 0.4822,
          "delta": 0.0316,
          "percent_delta": 0.0701,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3655,
          "after": 0.3459,
          "delta": -0.0196,
          "percent_delta": -0.0536,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9184,
          "after": 0.9066,
          "delta": -0.0118,
          "percent_delta": -0.0128,
          "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.2123,
          "after": 0.2203,
          "delta": 0.008,
          "percent_delta": 0.0377,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3655,
          "after": 0.3459,
          "delta": -0.0196,
          "percent_delta": -0.0536,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=4.59), rates preserved: AVG=0.201 HR/AB=0.025",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1856,
          "after": 0.0,
          "delta": -0.1856,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1873,
          "after": 5.0,
          "delta": 0.8127,
          "percent_delta": 0.1941,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3357,
          "after": 0.0,
          "delta": -0.3357,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9227,
          "after": 1.0,
          "delta": 0.0773,
          "percent_delta": 0.0838,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.049,
          "after": 0.0,
          "delta": -0.049,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1131,
          "after": 0.0,
          "delta": -0.1131,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4822,
          "after": 1.0,
          "delta": 0.5178,
          "percent_delta": 1.0738,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9066,
          "after": 1.0,
          "delta": 0.0934,
          "percent_delta": 0.103,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.1873,
          "after": 5.0,
          "delta": 0.8127,
          "percent_delta": 0.1941,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3357,
          "after": 0.0,
          "delta": -0.3357,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4837,
          "after": 0.0,
          "delta": -0.4837,
          "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.4837,
          "after": 0.0,
          "delta": -0.4837,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "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.201,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.261,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.323,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.2203,
          "after": 0.201,
          "delta": -0.0193,
          "percent_delta": -0.0876,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2782,
          "after": 0.261,
          "delta": -0.0172,
          "percent_delta": -0.0618,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "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.3459,
          "after": 0.323,
          "delta": -0.0229,
          "percent_delta": -0.0662,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2203,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2782,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3459,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.201,
          "after": 0.2203,
          "delta": 0.0193,
          "percent_delta": 0.0962,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.261,
          "after": 0.2782,
          "delta": 0.0172,
          "percent_delta": 0.066,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.323,
          "after": 0.3459,
          "delta": 0.0229,
          "percent_delta": 0.0708,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.323,
          "after": 0.3459,
          "delta": 0.0229,
          "percent_delta": 0.0708,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.163,
        "after": 0.0,
        "delta": -0.163,
        "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.59,
        "after": 4.0,
        "delta": -0.59,
        "percent_delta": -0.1285,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.205,
        "after": 0.2203,
        "delta": 0.0153,
        "percent_delta": 0.0746,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.3,
        "after": 0.0,
        "delta": -0.3,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.94,
        "after": 0.0,
        "delta": -0.94,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.13,
        "after": 0.0,
        "delta": -0.13,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.293,
        "after": 0.2782,
        "delta": -0.0148,
        "percent_delta": -0.0505,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.512,
        "after": 0.0,
        "delta": -0.512,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.48,
        "after": 0.0,
        "delta": -0.48,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.38,
        "after": 0.3459,
        "delta": -0.0341,
        "percent_delta": -0.0897,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.975,
        "after": 1.0,
        "delta": 0.025,
        "percent_delta": 0.0256,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 1,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AVG",
        "before": 0.205,
        "after": 0.2203,
        "delta": 0.0153,
        "percent_delta": 0.0746,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.94,
        "after": 0.0,
        "delta": -0.94,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.163-
predicted_3B0.000-
predicted_AB4.590-
predicted_AVG0.205-
predicted_BB0.300-
predicted_H0.940-
predicted_HR0.130-
predicted_OBP0.293-
predicted_R0.512-
predicted_RBI0.480-
predicted_SLG0.380-
predicted_SO0.975-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1860.023
predicted_3B0.0000.000
predicted_AB4.187-0.403
predicted_AVG0.2120.007
predicted_BB0.3320.032
predicted_H0.885-0.055
predicted_HBP0.049-
predicted_HR0.107-0.023
predicted_OBP0.2970.004
predicted_R0.452-0.060
predicted_RBI0.451-0.029
predicted_SLG0.365-0.015
predicted_SO0.918-0.057
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1860.000
predicted_3B0.0000.000
predicted_AB4.1870.000
predicted_AVG0.2200.008
predicted_BB0.3360.004
predicted_H0.9230.038
predicted_HBP0.0490.000
predicted_HR0.1130.006
predicted_OBP0.278-0.019
predicted_R0.4840.032
predicted_RBI0.4820.032
predicted_SLG0.346-0.020
predicted_SO0.907-0.012
4. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB1.0001.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI1.0000.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.186
predicted_3B0.000-0.000
predicted_AB5.0000.813
predicted_AVG0.201-0.019
predicted_BB0.000-0.336
predicted_H1.0000.077
predicted_HR0.000-0.113
predicted_OBP0.261-0.017
predicted_R0.000-0.484
predicted_RBI1.0000.518
predicted_SLG0.323-0.023
predicted_SO1.0000.093
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.000-1.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 80
Reference playing time: 4.590
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0005.0002.0000.0000.0003.0001.0003.0003.0000.27780.38100.38890.27780.00000.16670.16670.1667
last_100.2010-33.0006.0002.0000.0000.0003.0001.0004.0007.0000.18180.27030.24240.18180.00000.09090.12120.2121
season0.6080-300.00064.00013.0000.00010.00030.00041.00024.00078.0000.21330.28700.35670.21330.03330.10000.08000.2600
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2160
predicted_3B0.0010
predicted_AB3.6440
predicted_AVG0.2222
predicted_BB0.3740
predicted_H0.8100
predicted_HBP0.0490
predicted_HR0.0770
predicted_OBP0.3027
predicted_R0.3710
predicted_RBI0.4110
predicted_SLG0.3459
predicted_SO0.8420
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16300.21600.1856model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.59003.64404.1873model_form_blend
predicted_AVG0.20500.22220.2123model_form_blend
predicted_BB0.30000.37400.3315model_form_blend
predicted_H0.94000.81000.8847model_form_blend
predicted_HBP-0.04900.0490form_only
predicted_HR0.13000.07700.1074model_form_blend
predicted_OBP0.29300.30270.2971model_form_blend
predicted_R0.51200.37100.4520model_form_blend
predicted_RBI0.48000.41100.4506model_form_blend
predicted_SLG0.38000.34590.3655model_form_blend
predicted_SO0.97500.84200.9184model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B1
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB4
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260826_COL@WAS
game_typefull
mlbID686611
playerID686611
playerNameDylan Crews
posRF
startedTrue
startingPositionRF
teamWAS
teamID30
game_date2026-08-26
sl_k_percent24.4
sl_bb_percent6.8
sl_woba0.291
sl_xwoba0.311
sl_xba0.236
sl_xslg0.409
sl_sweet_spot_percent33.5
sl_barrel_batted_rate9.4
sl_hard_hit_percent42.4
sl_exit_velocity_avg90.1
sl_launch_angle_avg13.0
sl_whiff_percent31.0
sl_swing_percent51.8
Harry Ford (695670) · BATTER · C · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 65
All-history rows before 20260827: 65
System season_avg: 0.1900
Data season_avg (2026 season-to-date): 0.2269
Diff (system - data): -0.0369
System opponent_avg: 0.0000
System season_avg diverges from 2026 season-to-date by -0.0369. 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.2630.0000.000Hitting_2B0.3230.000-0.3230.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.0532.0003.000Hitting_AB3.3234.000-1.323-2.000
predicted_AVG0.1770.5000.000Hitting_AVG0.2270.2500.2730.250
predicted_BB0.4211.0001.000Hitting_BB0.4620.0000.5381.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.4901.0000.000Hitting_H0.7541.0000.2460.000
predicted_HR0.0600.0000.000Hitting_HR0.1380.000-0.1380.000
predicted_OBP0.2650.5000.250Hitting_OBP0.3320.2500.1680.250
predicted_R0.4741.0001.000Hitting_R0.6310.0000.3691.000
predicted_RBI0.2801.0000.000Hitting_RBI0.5080.0000.4921.000
predicted_SLG0.2960.5000.000Hitting_SLG0.4490.2500.0510.250
predicted_SO1.0000.0001.000Hitting_SO1.0921.000-1.092-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics6
Deboosted Metrics4
Better Metrics7
Worse Metrics3
Biggest Boostpredicted_RBI: 0.2800 -> 1.0000 (boost 0.7200, better)
Biggest Deboostpredicted_AB: 3.0530 -> 2.0000 (deboost -1.0530, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend44040predicted_AB: 3.0530 -> 3.1260 (boost 0.0730, 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.3142 -> 0.3319 (boost 0.0177, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling61515predicted_H: 0.5616 -> 1.0000 (boost 0.4384, better)predicted_BB: 0.4056 -> 0.0000 (deboost -0.4056, worse)AB rounded to 3 (raw=3.13), rates preserved: AVG=0.180 HR/AB=0.025
5consistency_constraints10101-predicted_R: 0.4896 -> 0.0000 (deboost -0.4896, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation32121predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context53232predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference64241predicted_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
9current_json_final20202-predicted_SLG: 0.3390 -> 0.3319 (deboost -0.0071, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "695670",
  "player_name": "Harry Ford",
  "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.053,
        "predicted_AVG": 0.177,
        "predicted_BB": 0.421,
        "predicted_H": 0.49,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.265,
        "predicted_R": 0.474,
        "predicted_RBI": 0.28,
        "predicted_SLG": 0.296,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2429,
        "predicted_3B": 0.0014,
        "predicted_AB": 3.126,
        "predicted_AVG": 0.1824,
        "predicted_BB": 0.4005,
        "predicted_H": 0.5385,
        "predicted_HBP": 0.032,
        "predicted_HR": 0.0729,
        "predicted_OBP": 0.2706,
        "predicted_R": 0.4575,
        "predicted_RBI": 0.2994,
        "predicted_SLG": 0.3142,
        "predicted_SO": 1.0183
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.263,
          "after": 0.2429,
          "delta": -0.0201,
          "percent_delta": -0.0764,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0014,
          "delta": 0.0014,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.053,
          "after": 3.126,
          "delta": 0.073,
          "percent_delta": 0.0239,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.177,
          "after": 0.1824,
          "delta": 0.0054,
          "percent_delta": 0.0305,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.421,
          "after": 0.4005,
          "delta": -0.0205,
          "percent_delta": -0.0487,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.49,
          "after": 0.5385,
          "delta": 0.0485,
          "percent_delta": 0.099,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.0729,
          "delta": 0.0129,
          "percent_delta": 0.215,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.265,
          "after": 0.2706,
          "delta": 0.0056,
          "percent_delta": 0.0211,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.474,
          "after": 0.4575,
          "delta": -0.0165,
          "percent_delta": -0.0348,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.28,
          "after": 0.2994,
          "delta": 0.0194,
          "percent_delta": 0.0693,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.296,
          "after": 0.3142,
          "delta": 0.0182,
          "percent_delta": 0.0615,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0183,
          "delta": 0.0183,
          "percent_delta": 0.0183,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.053,
          "after": 3.126,
          "delta": 0.073,
          "percent_delta": 0.0239,
          "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": 19
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2429,
        "predicted_3B": 0.0014,
        "predicted_AB": 3.126,
        "predicted_AVG": 0.1797,
        "predicted_BB": 0.4056,
        "predicted_H": 0.5616,
        "predicted_HBP": 0.032,
        "predicted_HR": 0.0767,
        "predicted_OBP": 0.2739,
        "predicted_R": 0.4896,
        "predicted_RBI": 0.3204,
        "predicted_SLG": 0.3319,
        "predicted_SO": 1.0053
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2429,
          "after": 0.2429,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0014,
          "after": 0.0014,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.126,
          "after": 3.126,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1824,
          "after": 0.1797,
          "delta": -0.0027,
          "percent_delta": -0.0148,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4005,
          "after": 0.4056,
          "delta": 0.0051,
          "percent_delta": 0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5385,
          "after": 0.5616,
          "delta": 0.0231,
          "percent_delta": 0.0429,
          "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.0729,
          "after": 0.0767,
          "delta": 0.0038,
          "percent_delta": 0.0521,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2706,
          "after": 0.2739,
          "delta": 0.0033,
          "percent_delta": 0.0122,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4575,
          "after": 0.4896,
          "delta": 0.0321,
          "percent_delta": 0.0702,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2994,
          "after": 0.3204,
          "delta": 0.021,
          "percent_delta": 0.0701,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3142,
          "after": 0.3319,
          "delta": 0.0177,
          "percent_delta": 0.0563,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0183,
          "after": 1.0053,
          "delta": -0.013,
          "percent_delta": -0.0128,
          "direction": "no_change",
          "projection_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.3142,
          "after": 0.3319,
          "delta": 0.0177,
          "percent_delta": 0.0563,
          "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.13), rates preserved: AVG=0.180 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.2429,
          "after": 0.0,
          "delta": -0.2429,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0014,
          "after": 0.0,
          "delta": -0.0014,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.126,
          "after": 3.0,
          "delta": -0.126,
          "percent_delta": -0.0403,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4056,
          "after": 0.0,
          "delta": -0.4056,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5616,
          "after": 1.0,
          "delta": 0.4384,
          "percent_delta": 0.7806,
          "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.0767,
          "after": 0.0,
          "delta": -0.0767,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3204,
          "after": 0.0,
          "delta": -0.3204,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0053,
          "after": 1.0,
          "delta": -0.0053,
          "percent_delta": -0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.5616,
          "after": 1.0,
          "delta": 0.4384,
          "percent_delta": 0.7806,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4056,
          "after": 0.0,
          "delta": -0.4056,
          "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.4896,
          "after": 0.0,
          "delta": -0.4896,
          "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.4896,
          "after": 0.0,
          "delta": -0.4896,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.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_SO",
          "before": 1.0,
          "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_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": 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.18,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.279,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.339,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1797,
          "after": 0.18,
          "delta": 0.0003,
          "percent_delta": 0.0017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2739,
          "after": 0.279,
          "delta": 0.0051,
          "percent_delta": 0.0186,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3319,
          "after": 0.339,
          "delta": 0.0071,
          "percent_delta": 0.0214,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "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": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "higher",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_AVG": 0.1797,
        "predicted_BB": 1.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2739,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 1.0,
        "predicted_SLG": 0.3319,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.18,
          "after": 0.1797,
          "delta": -0.0003,
          "percent_delta": -0.0019,
          "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.279,
          "after": 0.2739,
          "delta": -0.0051,
          "percent_delta": -0.0184,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.339,
          "after": 0.3319,
          "delta": -0.0071,
          "percent_delta": -0.0209,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.339,
          "after": 0.3319,
          "delta": -0.0071,
          "percent_delta": -0.0209,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.263,
        "after": 0.0,
        "delta": -0.263,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.053,
        "after": 2.0,
        "delta": -1.053,
        "percent_delta": -0.3449,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.177,
        "after": 0.1797,
        "delta": 0.0027,
        "percent_delta": 0.0153,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.421,
        "after": 1.0,
        "delta": 0.579,
        "percent_delta": 1.3753,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.49,
        "after": 1.0,
        "delta": 0.51,
        "percent_delta": 1.0408,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 0.0,
        "delta": -0.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.265,
        "after": 0.2739,
        "delta": 0.0089,
        "percent_delta": 0.0336,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.474,
        "after": 1.0,
        "delta": 0.526,
        "percent_delta": 1.1097,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.28,
        "after": 1.0,
        "delta": 0.72,
        "percent_delta": 2.5714,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.296,
        "after": 0.3319,
        "delta": 0.0359,
        "percent_delta": 0.1213,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 6,
      "deboosted_metrics": 4,
      "better_metrics": 7,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.28,
        "after": 1.0,
        "delta": 0.72,
        "percent_delta": 2.5714,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.053,
        "after": 2.0,
        "delta": -1.053,
        "percent_delta": -0.3449,
        "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.263-
predicted_3B0.000-
predicted_AB3.053-
predicted_AVG0.177-
predicted_BB0.421-
predicted_H0.490-
predicted_HR0.060-
predicted_OBP0.265-
predicted_R0.474-
predicted_RBI0.280-
predicted_SLG0.296-
predicted_SO1.000-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.243-0.020
predicted_3B0.0010.001
predicted_AB3.1260.073
predicted_AVG0.1820.005
predicted_BB0.401-0.020
predicted_H0.5380.048
predicted_HBP0.032-
predicted_HR0.0730.013
predicted_OBP0.2710.006
predicted_R0.458-0.016
predicted_RBI0.2990.019
predicted_SLG0.3140.018
predicted_SO1.0180.018
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2430.000
predicted_3B0.0010.000
predicted_AB3.1260.000
predicted_AVG0.180-0.003
predicted_BB0.4060.005
predicted_H0.5620.023
predicted_HBP0.0320.000
predicted_HR0.0770.004
predicted_OBP0.2740.003
predicted_R0.4900.032
predicted_RBI0.3200.021
predicted_SLG0.3320.018
predicted_SO1.005-0.013
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.13), rates preserved: AVG=0.180 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. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0001.000
H0.000-1.000
HR0.0000.000
R1.0001.000
RBI0.0000.000
SO1.0000.000
7. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.243
predicted_3B0.000-0.001
predicted_AB3.000-0.126
predicted_AVG0.1800.000
predicted_BB0.000-0.406
predicted_H1.0000.438
predicted_HR0.000-0.077
predicted_OBP0.2790.005
predicted_R0.000-0.490
predicted_RBI0.000-0.320
predicted_SLG0.3390.007
predicted_SO1.000-0.005
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-1.000
BB1.0000.000
CS0.0000.000
H1.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0000.000
RBI1.0001.000
SB0.0000.000
SF1.0001.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 19
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.0001.0000.0000.0000.0000.0000.0002.0007.0000.07140.18750.07140.07140.00000.00000.14290.5000
last_100.2010-31.0006.0003.0000.0001.0003.0006.0003.00011.0000.19350.26470.38710.19350.03230.09680.09680.3548
season0.6019-58.00011.0005.0000.0002.0007.0009.0008.00019.0000.18970.29850.37930.18970.03450.12070.13790.3276
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2070
predicted_3B0.0040
predicted_AB3.2560
predicted_AVG0.1919
predicted_BB0.3640
predicted_H0.6250
predicted_HBP0.0320
predicted_HR0.0960
predicted_OBP0.2806
predicted_R0.4280
predicted_RBI0.3340
predicted_SLG0.3466
predicted_SO1.0510
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.26300.20700.2429model_form_blend
predicted_3B0.00000.00400.0014model_form_blend
predicted_AB3.05303.25603.1260model_form_blend
predicted_AVG0.17700.19190.1824model_form_blend
predicted_BB0.42100.36400.4005model_form_blend
predicted_H0.49000.62500.5385model_form_blend
predicted_HBP-0.03200.0320form_only
predicted_HR0.06000.09600.0729model_form_blend
predicted_OBP0.26500.28060.2706model_form_blend
predicted_R0.47400.42800.4575model_form_blend
predicted_RBI0.28000.33400.2994model_form_blend
predicted_SLG0.29600.34660.3142model_form_blend
predicted_SO1.00001.05101.0183model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB2
H1
2B0
3B0
HR0
R1
RBI1
BB1
SO0
SF1
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_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
gameID20260826_COL@WAS
game_typefull
mlbID695670
playerID695670
playerNameHarry Ford
posC
startedTrue
startingPositionC
teamWAS
teamID30
game_date2026-08-26
sl_k_percent25.0
sl_bb_percent12.5
sl_woba0.308
sl_xwoba0.271
sl_xba0.172
sl_xslg0.305
sl_sweet_spot_percent30.6
sl_barrel_batted_rate10.2
sl_hard_hit_percent30.6
sl_exit_velocity_avg84.0
sl_launch_angle_avg11.7
sl_whiff_percent26.0
sl_swing_percent42.7
Jacob Young (696285) · BATTER · CF · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 396
All-history rows before 20260827: 396
System season_avg: 0.2480
Data season_avg (2026 season-to-date): 0.2548
Diff (system - data): -0.0068
System opponent_avg: 0.4000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1680.0000.000Hitting_2B0.1540.000-0.1540.000
predicted_3B0.0280.0000.000Hitting_3B0.0280.000-0.0280.000
predicted_AB3.3554.0003.000Hitting_AB3.4393.0000.5611.000
predicted_AVG0.2760.2500.333Hitting_AVG0.2550.000-0.0050.250
predicted_BB0.2240.0000.000Hitting_BB0.2830.000-0.2830.000
predicted_CS-0.0000.000BaseRunning_CS0.0280.000-0.0280.000
predicted_H0.7101.0001.000Hitting_H0.8760.0000.1241.000
predicted_HR0.0600.0000.000Hitting_HR0.0880.000-0.0880.000
predicted_OBP0.3050.2500.333Hitting_OBP0.3220.000-0.0720.250
predicted_R0.4391.0000.000Hitting_R0.4900.0000.5101.000
predicted_RBI0.2801.0000.000Hitting_RBI0.4140.0000.5861.000
predicted_SLG0.3830.2500.333Hitting_SLG0.3930.000-0.1430.250
predicted_SO0.6360.0001.000Hitting_SO0.6291.000-0.629-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_RBI: 0.2800 -> 1.0000 (boost 0.7200, better)
Biggest Deboostpredicted_SO: 0.6360 -> 0.0000 (deboost -0.6360, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend20202-predicted_AVG: 0.2760 -> 0.2603 (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.2603 -> 0.2330 (deboost -0.0273, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling82617predicted_SO: 0.6363 -> 1.0000 (boost 0.3637, worse)predicted_AB: 3.3280 -> 3.0000 (deboost -0.3280, worse)AB rounded to 3 (raw=3.35), rates preserved: AVG=0.231 HR/AB=0.019
5consistency_constraints10101-predicted_R: 0.4753 -> 0.0000 (deboost -0.4753, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_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
9current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "696285",
  "player_name": "Jacob Young",
  "position": "CF",
  "team": "WAS",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.168,
        "predicted_3B": 0.028,
        "predicted_AB": 3.355,
        "predicted_AVG": 0.276,
        "predicted_BB": 0.224,
        "predicted_H": 0.71,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.305,
        "predicted_R": 0.439,
        "predicted_RBI": 0.28,
        "predicted_SLG": 0.383,
        "predicted_SO": 0.636
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1916,
        "predicted_3B": 0.0229,
        "predicted_AB": 3.328,
        "predicted_AVG": 0.2603,
        "predicted_BB": 0.239,
        "predicted_H": 0.7435,
        "predicted_HBP": 0.098,
        "predicted_HR": 0.0596,
        "predicted_OBP": 0.3085,
        "predicted_R": 0.4441,
        "predicted_RBI": 0.2624,
        "predicted_SLG": 0.3778,
        "predicted_SO": 0.6446
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.168,
          "after": 0.1916,
          "delta": 0.0236,
          "percent_delta": 0.1405,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.028,
          "after": 0.0229,
          "delta": -0.0051,
          "percent_delta": -0.1821,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.355,
          "after": 3.328,
          "delta": -0.027,
          "percent_delta": -0.008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.276,
          "after": 0.2603,
          "delta": -0.0157,
          "percent_delta": -0.0569,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.224,
          "after": 0.239,
          "delta": 0.015,
          "percent_delta": 0.067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.71,
          "after": 0.7435,
          "delta": 0.0335,
          "percent_delta": 0.0472,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.0596,
          "delta": -0.0004,
          "percent_delta": -0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.305,
          "after": 0.3085,
          "delta": 0.0035,
          "percent_delta": 0.0115,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.439,
          "after": 0.4441,
          "delta": 0.0051,
          "percent_delta": 0.0116,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.28,
          "after": 0.2624,
          "delta": -0.0176,
          "percent_delta": -0.0629,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.383,
          "after": 0.3778,
          "delta": -0.0052,
          "percent_delta": -0.0136,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.636,
          "after": 0.6446,
          "delta": 0.0086,
          "percent_delta": 0.0135,
          "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.276,
          "after": 0.2603,
          "delta": -0.0157,
          "percent_delta": -0.0569,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1916,
        "predicted_3B": 0.0229,
        "predicted_AB": 3.328,
        "predicted_AVG": 0.233,
        "predicted_BB": 0.2421,
        "predicted_H": 0.7754,
        "predicted_HBP": 0.098,
        "predicted_HR": 0.0627,
        "predicted_OBP": 0.285,
        "predicted_R": 0.4753,
        "predicted_RBI": 0.2808,
        "predicted_SLG": 0.3609,
        "predicted_SO": 0.6363
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1916,
          "after": 0.1916,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0229,
          "after": 0.0229,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.328,
          "after": 3.328,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2603,
          "after": 0.233,
          "delta": -0.0273,
          "percent_delta": -0.1049,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.239,
          "after": 0.2421,
          "delta": 0.0031,
          "percent_delta": 0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7435,
          "after": 0.7754,
          "delta": 0.0319,
          "percent_delta": 0.0429,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.098,
          "after": 0.098,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0596,
          "after": 0.0627,
          "delta": 0.0031,
          "percent_delta": 0.052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3085,
          "after": 0.285,
          "delta": -0.0235,
          "percent_delta": -0.0762,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4441,
          "after": 0.4753,
          "delta": 0.0312,
          "percent_delta": 0.0703,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2624,
          "after": 0.2808,
          "delta": 0.0184,
          "percent_delta": 0.0701,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3778,
          "after": 0.3609,
          "delta": -0.0169,
          "percent_delta": -0.0447,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6446,
          "after": 0.6363,
          "delta": -0.0083,
          "percent_delta": -0.0129,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2603,
          "after": 0.233,
          "delta": -0.0273,
          "percent_delta": -0.1049,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.35), rates preserved: AVG=0.231 HR/AB=0.019",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1916,
          "after": 0.0,
          "delta": -0.1916,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0229,
          "after": 0.0,
          "delta": -0.0229,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.328,
          "after": 3.0,
          "delta": -0.328,
          "percent_delta": -0.0986,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2421,
          "after": 0.0,
          "delta": -0.2421,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7754,
          "after": 1.0,
          "delta": 0.2246,
          "percent_delta": 0.2897,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.098,
          "after": 0.0,
          "delta": -0.098,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0627,
          "after": 0.0,
          "delta": -0.0627,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2808,
          "after": 0.0,
          "delta": -0.2808,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6363,
          "after": 1.0,
          "delta": 0.3637,
          "percent_delta": 0.5716,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.6363,
          "after": 1.0,
          "delta": 0.3637,
          "percent_delta": 0.5716,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.328,
          "after": 3.0,
          "delta": -0.328,
          "percent_delta": -0.0986,
          "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.4753,
          "after": 0.0,
          "delta": -0.4753,
          "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.4753,
          "after": 0.0,
          "delta": -0.4753,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": {},
      "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.231,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.288,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.358,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.233,
          "after": 0.231,
          "delta": -0.002,
          "percent_delta": -0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.285,
          "after": 0.288,
          "delta": 0.003,
          "percent_delta": 0.0105,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3609,
          "after": 0.358,
          "delta": -0.0029,
          "percent_delta": -0.008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 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_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.233,
        "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.285,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3609,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.231,
          "after": 0.233,
          "delta": 0.002,
          "percent_delta": 0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.288,
          "after": 0.285,
          "delta": -0.003,
          "percent_delta": -0.0104,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.358,
          "after": 0.3609,
          "delta": 0.0029,
          "percent_delta": 0.0081,
          "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": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.168,
        "after": 0.0,
        "delta": -0.168,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.028,
        "after": 0.0,
        "delta": -0.028,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.355,
        "after": 4.0,
        "delta": 0.645,
        "percent_delta": 0.1923,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.276,
        "after": 0.233,
        "delta": -0.043,
        "percent_delta": -0.1558,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.224,
        "after": 0.0,
        "delta": -0.224,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.71,
        "after": 1.0,
        "delta": 0.29,
        "percent_delta": 0.4085,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 0.0,
        "delta": -0.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.305,
        "after": 0.285,
        "delta": -0.02,
        "percent_delta": -0.0656,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.439,
        "after": 1.0,
        "delta": 0.561,
        "percent_delta": 1.2779,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.28,
        "after": 1.0,
        "delta": 0.72,
        "percent_delta": 2.5714,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.383,
        "after": 0.3609,
        "delta": -0.0221,
        "percent_delta": -0.0577,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.636,
        "after": 0.0,
        "delta": -0.636,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.28,
        "after": 1.0,
        "delta": 0.72,
        "percent_delta": 2.5714,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.636,
        "after": 0.0,
        "delta": -0.636,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.168-
predicted_3B0.028-
predicted_AB3.355-
predicted_AVG0.276-
predicted_BB0.224-
predicted_H0.710-
predicted_HR0.060-
predicted_OBP0.305-
predicted_R0.439-
predicted_RBI0.280-
predicted_SLG0.383-
predicted_SO0.636-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1920.024
predicted_3B0.023-0.005
predicted_AB3.328-0.027
predicted_AVG0.260-0.016
predicted_BB0.2390.015
predicted_H0.7440.034
predicted_HBP0.098-
predicted_HR0.060-0.000
predicted_OBP0.3080.004
predicted_R0.4440.005
predicted_RBI0.262-0.018
predicted_SLG0.378-0.005
predicted_SO0.6450.009
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1920.000
predicted_3B0.0230.000
predicted_AB3.3280.000
predicted_AVG0.233-0.027
predicted_BB0.2420.003
predicted_H0.7750.032
predicted_HBP0.0980.000
predicted_HR0.0630.003
predicted_OBP0.285-0.024
predicted_R0.4750.031
predicted_RBI0.2810.018
predicted_SLG0.361-0.017
predicted_SO0.636-0.008
4. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.192
predicted_3B0.000-0.023
predicted_AB3.000-0.328
predicted_AVG0.231-0.002
predicted_BB0.000-0.242
predicted_H1.0000.225
predicted_HR0.000-0.063
predicted_OBP0.2880.003
predicted_R0.000-0.475
predicted_RBI0.000-0.281
predicted_SLG0.358-0.003
predicted_SO1.0000.364
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-
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: 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-15.0003.0002.0000.0000.0000.0003.0002.0003.0000.20000.33330.33330.20000.00000.00000.13330.2000
last_100.2010-32.0008.0002.0000.0000.0000.0003.0002.0007.0000.25000.31430.31250.25000.00000.00000.06250.2188
season0.60107-359.00089.00018.0003.00010.00041.00047.00024.00068.0000.24790.30690.39830.24790.02790.11420.06690.1894
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2230
predicted_3B0.0160
predicted_AB3.2920
predicted_AVG0.2394
predicted_BB0.2590
predicted_H0.7880
predicted_HBP0.0980
predicted_HR0.0590
predicted_OBP0.3131
predicted_R0.4510
predicted_RBI0.2390
predicted_SLG0.3709
predicted_SO0.6560
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16800.22300.1916model_form_blend
predicted_3B0.02800.01600.0229model_form_blend
predicted_AB3.35503.29203.3280model_form_blend
predicted_AVG0.27600.23940.2603model_form_blend
predicted_BB0.22400.25900.2390model_form_blend
predicted_H0.71000.78800.7435model_form_blend
predicted_HBP-0.09800.0980form_only
predicted_HR0.06000.05900.0596model_form_blend
predicted_OBP0.30500.31310.3085model_form_blend
predicted_R0.43900.45100.4441model_form_blend
predicted_RBI0.28000.23900.2624model_form_blend
predicted_SLG0.38300.37090.3778model_form_blend
predicted_SO0.63600.65600.6446model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_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
allPositionsPlayedCF
gameID20260826_COL@WAS
game_typefull
mlbID696285
playerID696285
playerNameJacob Young
posCF
startedTrue
startingPositionCF
teamWAS
teamID30
game_date2026-08-26
sl_k_percent16.7
sl_bb_percent7.2
sl_woba0.313
sl_xwoba0.317
sl_xba0.259
sl_xslg0.388
sl_sweet_spot_percent36.8
sl_barrel_batted_rate6.1
sl_hard_hit_percent31.3
sl_exit_velocity_avg87.7
sl_launch_angle_avg12.1
sl_whiff_percent20.9
sl_swing_percent43.6
Jake Irvin (663623) · PITCHER · Starter · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 16
All-history rows before 20260827: 16

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB3.0003.0003.000Pitching_BB2.0622.0000.9381.000
predicted_ER3.0003.0003.000Pitching_ER3.1254.000-0.125-1.000
predicted_H5.0005.0005.000Pitching_H4.5006.0000.500-1.000
predicted_IP4.2004.2004.200Pitching_InningsPitched4.7756.000-0.575-1.800
predicted_SO6.0006.0006.000Pitching_SO4.7504.0001.2502.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics3
Boosted Metrics2
Deboosted Metrics1
Better Metrics0
Worse Metrics3
Biggest Boostpredicted_ER: 2.0000 -> 3.0000 (boost 1.0000, worse)
Biggest Deboostpredicted_IP: 5.0000 -> 4.2000 (deboost -0.8000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2starter_usage_guardrail10101-predicted_IP: 5.0000 -> 4.2000 (deboost -0.8000, worse)Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
3starter_quality_floor22002predicted_ER: 2.0000 -> 3.0000 (boost 1.0000, worse)-Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.
4current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "663623",
  "player_name": "Jake Irvin",
  "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": 2.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_SO": 6.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "starter_usage_guardrail",
      "description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 2.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.2,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.0,
          "after": 4.2,
          "delta": -0.8,
          "percent_delta": -0.16,
          "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.0,
          "after": 4.2,
          "delta": -0.8,
          "percent_delta": -0.16,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "starter_quality_floor",
      "description": "Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 3.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.2,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 4.2,
          "after": 4.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": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 3.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.2,
        "predicted_R": 3.0,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 4.2,
          "after": 4.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": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 2.0,
        "after": 3.0,
        "delta": 1.0,
        "percent_delta": 0.5,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 4.0,
        "after": 5.0,
        "delta": 1.0,
        "percent_delta": 0.25,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 5.0,
        "after": 4.2,
        "delta": -0.8,
        "percent_delta": -0.16,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 6.0,
        "after": 6.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 3,
      "boosted_metrics": 2,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_ER",
        "before": 2.0,
        "after": 3.0,
        "delta": 1.0,
        "percent_delta": 0.5,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 5.0,
        "after": 4.2,
        "delta": -0.8,
        "percent_delta": -0.16,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB3.000-
predicted_ER2.000-
predicted_H4.000-
predicted_HR0.000-
predicted_IP5.000-
predicted_SO6.000-
2. starter_usage_guardrail

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

MetricValueDelta vs Prev Step
predicted_BB3.0000.000
predicted_ER2.0000.000
predicted_H4.0000.000
predicted_HR0.0000.000
predicted_IP4.200-0.800
predicted_SO6.0000.000
3. starter_quality_floor

Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.

MetricValueDelta vs Prev Step
predicted_BB3.0000.000
predicted_ER3.0001.000
predicted_H5.0001.000
predicted_HR0.0000.000
predicted_IP4.2000.000
predicted_SO6.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 16
Reference playing time: 5.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45525.20020.00024.00011.00018.0007.0007.01301.36360.77920.93510.42860.70130.2727
last_100.351047.20034.00048.00022.00042.00010.0006.41961.46850.71331.00700.46150.88110.2098
season0.201677.10050.00072.00033.00076.00014.0005.81901.35780.64650.93100.42670.98280.1810
Weighted Prediction From Real Data
MetricValue
predicted_BB2.0540
predicted_ER3.2810
predicted_ERA6.0760
predicted_H4.6810
predicted_HR1.0300
predicted_IP5.0000
predicted_SO4.1330
predicted_WHIP1.3857
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB3.00002.05402.4803model_form_blend
predicted_ER2.00003.28102.7038model_form_blend
predicted_ERA-6.07606.0760form_only
predicted_H4.00004.68104.3741model_form_blend
predicted_HR0.00001.03000.5659model_form_blend
predicted_IP5.00005.00005.0000model_form_blend
predicted_SO6.00004.13304.9743model_form_blend
predicted_WHIP-1.38571.3857form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP4.2
H5
R3
ER3
BB3
SO6
HR0
BF23
Pitches98

Latest Real Data Snapshot (before report date)

Latest 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 Faced26
Pitching_ER4
Pitching_ERA5.82
Pitching_Flyouts3
Pitching_Groundouts7
Pitching_H6
Pitching_HBP1
Pitching_HR2
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched6.0
Pitching_Pitches104
Pitching_R4
Pitching_SO4
Pitching_Strikes68
Pitching_Wild Pitch0
Pitching_decisionL
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260822_WAS@MIA
game_typefull
mlbID663623
playerID663623
playerNameJake Irvin
posP
startedTrue
startingPositionP
teamWAS
teamID30
game_date2026-08-22
sl_k_percent22.7
sl_bb_percent10.8
sl_woba0.337
sl_xwoba0.351
sl_sweet_spot_percent34.9
sl_barrel_batted_rate11.2
sl_hard_hit_percent44.8
sl_whiff_percent23.5
sl_swing_percent46.3
sl_avg_best_speed77.481835652
sl_avg_hyper_speed94.649477783
Will Dion (702021) · PITCHER · Middle Reliever (High Leverage) · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 6
All-history rows before 20260827: 6

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB1.0002.000-1.000-2.000
predicted_ER0.0000.0000.000Pitching_ER0.6674.000-0.667-4.000
predicted_H0.0000.0000.000Pitching_H1.0004.000-1.000-4.000
predicted_IP1.1001.1001.100Pitching_InningsPitched2.2502.200-1.150-1.100
predicted_SO1.0001.0001.000Pitching_SO2.6673.000-1.667-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "702021",
  "player_name": "Will Dion",
  "position": "Middle Reliever (High Leverage)",
  "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.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: 17
Reference playing time: 1.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45512.0000.0002.0004.00013.0000.0000.00000.50000.00000.16670.33331.08330.0000
last_100.351019.1003.0008.0004.00024.0002.0001.39660.62070.15520.41380.20691.24140.1035
season0.201731.20010.00026.0007.00038.0004.0002.84211.04210.31580.82100.22101.20000.1263
Weighted Prediction From Real Data
MetricValue
predicted_BB0.5570
predicted_ER0.5120
predicted_ERA2.5759
predicted_H1.1530
predicted_HR0.1770
predicted_IP1.2000
predicted_SO1.9100
predicted_WHIP0.9553
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.55700.2584model_form_blend
predicted_ER0.00000.51200.2376model_form_blend
predicted_ERA-2.57592.5759form_only
predicted_H0.00001.15300.5350model_form_blend
predicted_HR0.00000.17700.0821model_form_blend
predicted_IP1.10001.20001.1000model_form_blend
predicted_SO1.00001.91001.4222model_form_blend
predicted_WHIP-0.95530.9553form_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 used17
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H0
R0
ER0
BB0
SO1
HR0
BF4
Pitches22

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced13
Pitching_ER4
Pitching_ERA3.67
Pitching_Flyouts0
Pitching_Groundouts3
Pitching_H4
Pitching_HBP0
Pitching_HR2
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched2.2
Pitching_Pitches56
Pitching_R4
Pitching_SO3
Pitching_Strikes35
Pitching_Wild Pitch0
Pitching_decisionL
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260826_COL@WAS
game_typefull
mlbID702021
playerID702021
playerNameWill Dion
posP
startedFalse
startingPositionP
teamWAS
teamID30
game_date2026-08-26
sl_k_percent28.4
sl_bb_percent6.8
sl_woba0.307
sl_xwoba0.274
sl_sweet_spot_percent36.8
sl_barrel_batted_rate5.3
sl_hard_hit_percent32.6
sl_whiff_percent28.1
sl_swing_percent51.6
sl_avg_best_speed76.018137826
sl_avg_hyper_speed93.420460435
Clayton Beeter (690925) · PITCHER · Closer · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 44
All-history rows before 20260827: 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.6590.000-0.6590.000
predicted_ER1.0001.0001.000Pitching_ER0.3860.0000.6141.000
predicted_H2.0002.0002.000Pitching_H0.6590.0001.3412.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8360.1000.1640.900
predicted_SO1.0001.0001.000Pitching_SO0.9550.0000.0451.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": "690925",
  "player_name": "Clayton Beeter",
  "position": "Closer",
  "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": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER1.000-
predicted_H2.000-
predicted_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: 42
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.2002.0007.0006.0005.0000.0003.85712.78570.42861.50001.28571.07140.0000
last_100.35109.0004.0008.0009.0009.0001.0004.00001.88890.44440.88891.00001.00000.1111
season0.204240.20015.00026.00029.00042.0004.0003.31971.35250.36890.63930.71311.03280.0984
Weighted Prediction From Real Data
MetricValue
predicted_BB0.8040
predicted_ER0.4520
predicted_ERA4.0681
predicted_H1.0610
predicted_HR0.0920
predicted_IP1.0000
predicted_SO1.0030
predicted_WHIP1.8651
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.80400.3936model_form_blend
predicted_ER1.00000.45200.7318model_form_blend
predicted_ERA-4.06814.0681form_only
predicted_H2.00001.06101.5404model_form_blend
predicted_HR0.00000.09200.0450model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.00301.0015model_form_blend
predicted_WHIP-1.86511.8651form_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 used42
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H2
R1
ER1
BB0
SO1
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 Faced1
Pitching_ER0
Pitching_ERA3.73
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.1
Pitching_Pitches5
Pitching_R0
Pitching_SO0
Pitching_Strikes3
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260826_COL@WAS
game_typefull
mlbID690925
playerID690925
playerNameClayton Beeter
posP
startedFalse
startingPositionP
teamWAS
teamID30
game_date2026-08-26
sl_k_percent23.7
sl_bb_percent15.8
sl_woba0.295
sl_xwoba0.318
sl_sweet_spot_percent25.9
sl_barrel_batted_rate5.4
sl_hard_hit_percent40.2
sl_whiff_percent29.1
sl_swing_percent44.7
sl_avg_best_speed80.336780926
sl_avg_hyper_speed93.98745213
Orlando Ribalta (687377) · PITCHER · Setup Man · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 42
All-history rows before 20260827: 42

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4052.000-0.405-2.000
predicted_ER0.0000.0000.000Pitching_ER0.4294.000-0.429-4.000
predicted_H0.0000.0000.000Pitching_H0.7622.000-0.762-2.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8520.2000.1480.800
predicted_SO1.0001.0001.000Pitching_SO0.8810.0000.1191.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": "Setup Man",
  "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: 41
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.0005.0001.0001.68750.75000.18750.37500.37500.93750.1875
last_100.351011.0002.0007.0004.00012.0001.0001.63641.00000.18180.63640.36361.09090.0909
season0.204139.10014.00030.00015.00037.0004.0003.20341.14410.35590.76270.38140.94070.1017
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3710
predicted_ER0.3280
predicted_ERA2.9553
predicted_H0.7110
predicted_HR0.1400
predicted_IP1.0000
predicted_SO0.9740
predicted_WHIP1.0816
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.37100.1804model_form_blend
predicted_ER0.00000.32800.1595model_form_blend
predicted_ERA-2.95532.9553form_only
predicted_H0.00000.71100.3457model_form_blend
predicted_HR0.00000.14000.0681model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.97400.9874model_form_blend
predicted_WHIP-1.08161.0816form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced6
Pitching_ER4
Pitching_ERA4.05
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H2
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches30
Pitching_R4
Pitching_SO0
Pitching_Strikes17
Pitching_Wild Pitch0
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260826_COL@WAS
game_typefull
mlbID687377
playerID687377
playerNameOrlando Ribalta
posP
startedFalse
startingPositionP
teamWAS
teamID30
game_date2026-08-26
sl_k_percent22.9
sl_bb_percent10.3
sl_woba0.29
sl_xwoba0.301
sl_sweet_spot_percent27.4
sl_barrel_batted_rate7.7
sl_hard_hit_percent32.5
sl_whiff_percent26.3
sl_swing_percent51.2
sl_avg_best_speed71.903329138
sl_avg_hyper_speed92.582115086
Jake Bird (656234) · PITCHER · Middle Reliever (High Leverage) · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 8
All-history rows before 20260827: 8

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2500.000-0.2500.000
predicted_ER0.0000.0000.000Pitching_ER0.3750.000-0.3750.000
predicted_H2.0002.0002.000Pitching_H0.7501.0001.2501.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.0121.000-0.0120.000
predicted_SO2.0002.0002.000Pitching_SO1.2501.0000.7501.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics3
Boosted Metrics1
Deboosted Metrics2
Better Metrics3
Worse Metrics0
Biggest Boostpredicted_IP: 0.6667 -> 1.0000 (boost 0.3333, better)
Biggest Deboostpredicted_ER: 1.0000 -> 0.0000 (deboost -1.0000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final31230predicted_IP: 0.6667 -> 1.0000 (boost 0.3333, better)predicted_ER: 1.0000 -> 0.0000 (deboost -1.0000, better)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "656234",
  "player_name": "Jake Bird",
  "position": "Middle Reliever (High Leverage)",
  "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": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.6667,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 1.0,
          "delta": 0.3333,
          "percent_delta": 0.5,
          "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": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 1.0,
          "delta": 0.3333,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 3.0,
        "after": 2.0,
        "delta": -1.0,
        "percent_delta": -0.3333,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 1.0,
        "delta": 0.3333,
        "percent_delta": 0.4999,
        "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": 3,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 1.0,
        "delta": 0.3333,
        "percent_delta": 0.4999,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER1.000-
predicted_H3.000-
predicted_HR0.000-
predicted_IP0.667-
predicted_SO2.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 43
Reference playing time: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0000.0002.0000.0006.0000.0000.00000.40000.00000.40000.00001.20000.0000
last_100.35109.1008.00010.0004.00011.0002.0007.71431.50000.85711.07140.42861.17860.2143
season0.204338.20020.00041.00012.00041.0006.0004.65521.37070.51721.06030.31031.06030.1552
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2370
predicted_ER0.3840
predicted_ERA3.9740
predicted_H0.7380
predicted_HR0.1060
predicted_IP1.0000
predicted_SO0.9380
predicted_WHIP1.1215
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.23700.1148model_form_blend
predicted_ER1.00000.38400.7016model_form_blend
predicted_ERA-3.97403.9740form_only
predicted_H3.00000.73801.9041model_form_blend
predicted_HR0.00000.10600.0514model_form_blend
predicted_IP0.20001.00000.2000model_form_blend
predicted_SO2.00000.93801.4855model_form_blend
predicted_WHIP-1.12151.1215form_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 date8
Season rows before report date8
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
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_ERA5.35
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches18
Pitching_R0
Pitching_SO1
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260825_COL@WAS
game_typefull
mlbID656234
playerID656234
playerNameJake Bird
posP
startedFalse
startingPositionP
teamWAS
teamID30
game_date2026-08-25
sl_k_percent23.8
sl_bb_percent7.6
sl_woba0.351
sl_xwoba0.318
sl_sweet_spot_percent34.5
sl_barrel_batted_rate8.8
sl_hard_hit_percent36.3
sl_whiff_percent27.1
sl_swing_percent41.3
sl_avg_best_speed78.859093333
sl_avg_hyper_speed93.71227885

20260827_HOU@NYY

Prediction Method: enhanced_ml_savant_pitcher_quality_pitcher_opponent_strength
Team Recent Window (Home): 10 games
Team Recent Window (Away): 10 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 4, "home_runs": 5, "confidence": 0.56, "home_win_probability": 0.56, "away_win_probability": 0.43999999999999995, "predicted_score_text": "HOU 4 - 5 NYY", "embedded_savant_score_adjustment": {"applied": true, "source": "all_players_stats.csv embedded temporal Savant features", "feature_contract": {"training_grain": "one player-game row after collapsing granular at-bat rows", "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game", "hitter_signals": ["xwoba", "xba", "xslg", "barrel_batted_rate", "hard_hit_percent", "bat_speed", "launch_quality", "walk_rate", "strikeout_rate"], "pitcher_signals": ["xwoba_allowed", "barrel_allowed", "hard_hit_allowed", "whiff_rate", "command_score", "movement_score", "faced_est_woba", "faced_strikeout_rate"]}, "away": {"team": "HOU", "original_runs": 4, "run_delta": -0.2424, "adjusted_runs": 4, "lineup": {"players_used": 9, "total_weight": 37.0, "quality": -0.04275535213972057, "contact": -0.09431581259895477, "power": 0.013261266803808083, "discipline": 0.04197684688866315, "xwoba": 0.31589189189189193, "recent_xwoba": 0.31589189189189193, "barrel": 8.078378378378378, "ab_hard_contact": 0.024474978271767065, "ab_bat_speed": 70.61988056234357, "ab_strikeout_rate": 0.21752005144247422, "available_players": 9, "top_players": [{"player_id": "670541", "player_name": "Yordan Alvarez", "position": "DH", "weight": 4.0, "quality": 1.8300701491536164, "contact": 2.0, "power": 2.0, "discipline": 1.2750578739408933, "xwoba": 0.458, "recent_xwoba": 0.458, "barrel": 17.2, "ab_hard_contact": 1.5687734760236336, "ab_bat_speed": 75.38483097819073, "ab_strikeout_rate": 0.1774390243902439, "available": 1.0}, {"player_id": "543877", "player_name": "Christian Vázquez", "position": "C", "weight": 3.0, "quality": -1.156387534067271, "contact": -1.3846284892504654, "power": -1.325803368377121, "discipline": 0.06255491308633514, "xwoba": 0.241, "recent_xwoba": 0.241, "barrel": 2.3, "ab_hard_contact": -1.1419721294471832, "ab_bat_speed": 62.367201682316114, "ab_strikeout_rate": 0.21572769953051643, "available": 1.0}, {"player_id": "514888", "player_name": "Jose Altuve", "position": "2B", "weight": 5.0, "quality": -0.7232199655575251, "contact": -0.8164268205113636, "power": -0.8151169535273209, "discipline": 0.05116356499780396, "xwoba": 0.273, "recent_xwoba": 0.273, "barrel": 4.7, "ab_hard_contact": -0.7476724038797521, "ab_bat_speed": 66.72382944444445, "ab_strikeout_rate": 0.21533333333333335, "available": 1.0}, {"player_id": "701358", "player_name": "Cam Smith", "position": "RF", "weight": 4.0, "quality": 0.34936261740238356, "contact": 0.17920345473508584, "power": 0.6651957391104047, "discipline": -0.37781262547838645, "xwoba": 0.324, "recent_xwoba": 0.324, "barrel": 11.4, "ab_hard_contact": 0.8886766869700005, "ab_bat_speed": 75.95847448482317, "ab_strikeout_rate": 0.24166666666666667, "available": 1.0}, {"player_id": "662139", "player_name": "Daulton Varsho", "position": "CF", "weight": 5.0, "quality": -0.3624071568753331, "contact": -0.4443408972787631, "power": -0.42567210486024915, "discipline": 0.10097949906373807, "xwoba": 0.285, "recent_xwoba": 0.285, "barrel": 6.0, "ab_hard_contact": -0.5858230495859305, "ab_bat_speed": 71.277147245116, "ab_strikeout_rate": 0.20016025641025642, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "543037", "player_name": "Gerrit Cole", "quality": 0.27973974644583144, "contact": 0.3948984012985535, "command": 0.09767948717948712, "movement": 0.4425135828803147, "xwoba": 0.282, "whiff": 22.2, "faced_est_woba": 0.26552359851190477, "faced_launch_speed": 83.8105259224902, "faced_strikeout_rate": 0.23520697818487546, "faced_run_exp": 0.006591593388029562}}, "home": {"team": "NYY", "original_runs": 5, "run_delta": 0.2589, "adjusted_runs": 5, "lineup": {"players_used": 9, "total_weight": 33.0, "quality": 0.29117026502050325, "contact": 0.2317462822201267, "power": 0.4331791333583545, "discipline": 0.03892544628289209, "xwoba": 0.32596969696969696, "recent_xwoba": 0.32596969696969696, "barrel": 9.575757575757576, "ab_hard_contact": 0.1833344709189031, "ab_bat_speed": 70.47201970607317, "ab_strikeout_rate": 0.242324698801492, "available_players": 9, "top_players": [{"player_id": "700250", "player_name": "Ben Rice", "position": "DH", "weight": 4.0, "quality": 1.0163288208998715, "contact": 0.9643496528004566, "power": 1.4519218005764989, "discipline": 0.2586312084654474, "xwoba": 0.37, "recent_xwoba": 0.37, "barrel": 14.6, "ab_hard_contact": 0.9988169639109341, "ab_bat_speed": 71.59577526794193, "ab_strikeout_rate": 0.2541514041514042, "available": 1.0}, {"player_id": "671277", "player_name": "Luis García Jr.", "position": "1B", "weight": 4.0, "quality": 0.920755319614725, "contact": 1.091179691335926, "power": 1.262468608400229, "discipline": -0.08566155815490531, "xwoba": 0.355, "recent_xwoba": 0.355, "barrel": 12.6, "ab_hard_contact": 0.4809912156236357, "ab_bat_speed": 73.18823680124224, "ab_strikeout_rate": 0.16522988505747127, "available": 1.0}, {"player_id": "676609", "player_name": "José Caballero", "position": "3B", "weight": 3.0, "quality": -0.9106481565797703, "contact": -1.013368258844697, "power": -0.9634798556345685, "discipline": -0.5318126254783866, "xwoba": 0.28, "recent_xwoba": 0.28, "barrel": 4.2, "ab_hard_contact": -1.2174066365008884, "ab_bat_speed": 65.01738892857142, "ab_strikeout_rate": 0.25516666666666665, "available": 1.0}, {"player_id": "682987", "player_name": "Spencer Jones", "position": "RF", "weight": 3.0, "quality": 0.5209326195340463, "contact": 0.47006398589291226, "power": 1.5838362484223893, "discipline": -0.8122479996280463, "xwoba": 0.334, "recent_xwoba": 0.334, "barrel": 16.2, "ab_hard_contact": 0.006058301781130093, "ab_bat_speed": 76.17769841269842, "ab_strikeout_rate": 0.40510204081632656, "available": 1.0}, {"player_id": "663757", "player_name": "Trent Grisham", "position": "CF", "weight": 4.0, "quality": 0.7206736929559217, "contact": 0.6998306320056427, "power": 0.7268464137021439, "discipline": 0.8681992792835181, "xwoba": 0.344, "recent_xwoba": 0.344, "barrel": 10.0, "ab_hard_contact": 0.5929282740428864, "ab_bat_speed": 68.84894242063493, "ab_strikeout_rate": 0.18808333333333332, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "669713", "player_name": "Hayden Wesneski", "quality": 0.006318921575906257, "contact": 0.1863599561399818, "command": -0.20760622710622734, "movement": -0.17492893667497428, "xwoba": 0.306, "whiff": 27.4, "faced_est_woba": 0.26552359851190477, "faced_launch_speed": 83.8105259224902, "faced_strikeout_rate": 0.23520697818487546, "faced_run_exp": 0.006591593388029562}}}, "fundamental_edge_target_review": {"applied": false, "method": "post_score_adjustment_fundamental_edge_review_v1", "previous_score": {"away_runs": 4, "home_runs": 5, "winner_side": "home"}, "adjusted_score": {"away_runs": 4, "home_runs": 5, "winner_side": "home"}, "signals": {"season_quality_edge_home_minus_away": 0.9201, "recent_form_edge_home_minus_away": 0.468, "pitcher_matchup_edge_home_minus_away": 0.0049, "composite_home_edge": 0.8138, "existing_home_win_probability": 0.5916, "refreshed_home_win_probability": 0.7, "winner_support_before_review": 0.8138}, "reasons": ["target direction already matched refreshed fundamentals or margin was not fragile"]}, "uncapped_home_win_probability": 0.591596, "uncapped_away_win_probability": 0.408404, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.591596, "discount_factor": 0.7225, "published_confidence": 0.56, "guardrail_confidence_cap": 0.56, "guardrail_cap_enforced": true, "applied_discounts": [{"reason": "projected_margin_is_one_run", "factor": 0.85}, {"reason": "matchup_recency_guardrail", "factor": 0.85}]}, "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.", "pre_simulation_target": {"away_runs": 4, "home_runs": 5, "predicted_score_text": "HOU 4 - 5 NYY", "confidence": 0.56, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "stable_final_prediction_policy", "simulation_usage": "organic_simulation_realized_target", "simulation_score_matches_prediction": true, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 4, "home_runs": 5, "score_text": "HOU 4 - 5 NYY", "winner": "NYY"}, "final_simulation_score": {"away_runs": 4, "home_runs": 5, "score_text": "HOU 4 - 5 NYY", "winner": "NYY"}, "winner_flipped_by_simulation": false, "simulation_would_flip_winner": false, "sim_flipped_pre_winner": false, "sim_flip_trusted": false, "sim_flip_policy": "diagnostic_only_unless_independently_supported", "independent_margin_support": false, "independent_margin_support_evidence": {"pitcher_matchup_edge_home_minus_away": 0.0049, "recent_form_edge_home_minus_away": 0.468, "winner_direction": "home", "thresholds": {"pitcher_matchup": 0.35, "recent_form": 0.75}}, "margin_widening_capped": false, "simulation_winner_agrees": true, "away_run_delta": 0, "home_run_delta": 0, "total_run_delta": 0, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "organic_simulation_realized_target", "final_prediction_source": "stable_final_prediction_policy", "final_decision_policy": {"policy_version": "model_target_authoritative_simulation_realizes_v3", "away_runs": 4, "home_runs": 5, "winner": "NYY", "model_winner": "NYY", "simulation_winner": "NYY", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 6, "published_winner": "NYY", "published_winner_draw_share": 0.6667, "draw_majority_team": "NYY", "published_winner_is_draw_majority": true, "sampling": "target_conditioned_selection", "is_unbiased_probability_sample": false, "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."}, "simulation_score_enabled": true, "independent_margin_support": false, "margin_widening_capped": false, "model_margin": 1, "simulation_margin": 1, "simulation_usage": "organic_simulation_realized_target", "score_source": "enhanced_prediction.pre_simulation_target", "simulation_realized_target": true, "model_score": {"away_runs": 4, "home_runs": 5}, "simulation_score": {"away_runs": 4, "home_runs": 5}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 1, "final_margin": 1, "winner_quality_edge": 0.9201, "winner": "NYY", "score_reviewed": {"away_runs": 4, "home_runs": 5, "source": "enhanced_prediction.pre_simulation_target"}, "reason": "published margin is directionally supported or within review threshold"}}, "decision_profile": {"method": "priced_decision_profile_v2", "winner": "NYY", "display_confidence": 0.56, "internal_signal_score": 0.6118, "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability", "model_pick_probability": 0.56, "confidence_compression_detected": false, "moneyline_fit": "unavailable_without_market_price", "betting_status": "price_required_before_betting_analysis", "market_context": null, "margin_fit": "moneyline_preferred_over_margin", "totals_fit": "low_total_lean", "winner_accuracy_and_margin_accuracy_decoupled": true, "signals": {"final_margin": 1, "winner_quality_edge": 0.9201, "winner_recent_form_edge": 0.468, "winner_pitcher_matchup_edge": 0.0049, "winner_simulation_draw_rate": 0.6667, "blowout_draw_rate_margin_4_plus": 0.1667, "high_total_draw_rate_11_plus": 0.0, "low_total_draw_rate_6_or_less": 0.8333, "total_runs_spread": {"min": 4, "median": 5, "max": 7, "range": 3}}, "interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."}}
Factors Considered: Historical team performance, Season-to-date run differential, Recent form (latest 10 games), Head-to-head matchup history, Player-level statistics, Baseball Savant hitter xwOBA/xBA/xSLG/contact quality, Baseball Savant pitcher xwOBA/contact/whiff quality, Pitcher splits versus opponent batting strength, Recent-form versus season-quality arbitration, Recent 10-game performance trends, Pitcher recent form analysis, Team hitting/pitching streaks, Low-score probability modeling, Environmental factors, Home field advantage, Game timing factors, Seasonal adjustments, Machine learning models

Game-Level Prediction Audit

LayerScoreWinnerConfidenceSource or usageSynced or matches
Shipped predictionHOU 4 - 5 NYYNYY0.560enhanced_prediction.pre_simulation_targetTrue
Simulation drawHOU 4 - 5 NYYNYY-organic_simulation_realized_targetTrue

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

Full Prediction Process

Optimization Roadmap Runtime Status

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

PriorityChangeRuntime statusEvidence
P1Empirical confidence blendappliedraw=0.6748; empirical=0.5068; weight=0.3650; final=0.6135
P1H2H margin as base featureavailablehome net=8; abs=8; home delta=0.0500; away delta=-0.0500
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=1.1636; recent edge=0.4680; 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.7000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5600
9. Simulation reconciliationReconciles final shipped score with the simulation box score while retaining the pre-simulation target.simulation_reconciliationorganic_simulation_realized_target
10. Score evolution rendered7 stored score steps are rendered below.game.score_evolution.stepstrue

Score Evolution Steps

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

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.45494688825214896,
  "base_low_score_probability": 0.4355300859598854,
  "low_score_signal_threshold": 0.5155300859598854,
  "low_score_signal_strength": 0.019416802292263557,
  "confidence": 0.6222909999999999,
  "factors": {
    "environmental": 0.9496199999999999,
    "pitcher_form": 1.1,
    "team_form": 1.0,
    "situational": 1.0,
    "combined": 1.044582
  },
  "prediction": "normal_scoring",
  "expected_total_runs": 9,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 9.7,
  "low_score_model_expected_total_runs": 9.7,
  "final_simulation_total_runs": 9,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "monotone_reliability_shrinkage",
  "policy": "shrink_toward_even_score_floor_v3",
  "sample_size": 73,
  "near_bucket_sample_size": 12,
  "medium_bucket_sample_size": 27,
  "wide_bucket_sample_size": 73,
  "global_sample_size": 73,
  "bucket_scope": "pooled_0.12",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5068,
  "bayesian_hit_rate": 0.5055,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.6127,
  "raw_pick_probability_unclamped": 0.6127,
  "score_probability_conflict": false,
  "margin_implied_home_probability": 0.6127,
  "margin_implied_pick_probability": 0.6127,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.6127,
  "score_implied_floor_pick_probability": 0.5982,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.612681,
  "uncapped_away_win_probability": 0.387319,
  "calibrated_pick_probability": 0.5982,
  "predicted_side": "home",
  "reliability": 0.802198,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.871429
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.674797,
  "sample_size": 73,
  "empirical_hit_rate": 0.5068,
  "empirical_weight": 0.365,
  "blended_confidence": 0.613478,
  "published_confidence": 0.56,
  "published_after_governors": true,
  "governor_mode": "shrinkage_not_clamp"
}
H2H Base Feature
{
  "method": "h2h_net_margin_monotonic_v1",
  "available": true,
  "sample_size": 4,
  "sample_weight": 0.05,
  "home_net_margin": 8.0,
  "absolute_net_margin": 8.0,
  "home_average_margin": 2.0,
  "home_run_delta": 0.05,
  "away_run_delta": -0.05,
  "evidence": [
    {
      "game_id": null,
      "home_margin": -2.0
    },
    {
      "game_id": null,
      "home_margin": -3.0
    },
    {
      "game_id": null,
      "home_margin": 5.0
    },
    {
      "game_id": null,
      "home_margin": 8.0
    }
  ],
  "adaptive_parameters": {
    "h2h.history_limit": 5,
    "h2h.maximum_weight": 0.15,
    "h2h.prior_games": 8.0,
    "h2h.maximum_total_shift": 0.65
  }
}
Season Run Differential Adjustment
{
  "applied": true,
  "home": {
    "team": "NYY",
    "games": 131,
    "wins": 74,
    "losses": 57,
    "win_pct": 0.5648854961832062,
    "runs_scored": 586,
    "runs_allowed": 488,
    "run_differential": 98,
    "run_differential_per_game": 0.7480916030534351,
    "available": true
  },
  "away": {
    "team": "HOU",
    "games": 132,
    "wins": 66,
    "losses": 66,
    "win_pct": 0.5,
    "runs_scored": 605,
    "runs_allowed": 647,
    "run_differential": -42,
    "run_differential_per_game": -0.3181818181818182,
    "available": true
  },
  "run_differential_edge_per_game": 1.0663,
  "win_pct_edge": 0.0649,
  "quality_edge": 0.9201,
  "season_quality_edge": 1.1636,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": 1.1636,
    "recent_quality_edge": 0.468,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "aligned",
    "blended_quality_edge": 0.9201
  },
  "margin_adjustment": 0.3864,
  "reason": "season-to-date run differential and record moved the score toward the stronger team",
  "margin_adjustment_policy": {
    "adjustment": 0.3864,
    "cap": 1.4,
    "scale": 0.42,
    "quality_edge": 0.9201,
    "season_quality_edge": 1.1636,
    "recent_alignment": "aligned",
    "large_edge_supported_by_recent_form": false,
    "method": "standard_bounded_season_recent_adjustment"
  },
  "adjusted_score": {
    "away_runs": 2.466,
    "home_runs": 5.879,
    "home_win_probability": 0.7901
  }
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 5,
      "away_runs": 4,
      "probability": 0.023843287171368556
    },
    {
      "home_runs": 5,
      "away_runs": 3,
      "probability": 0.023026573122465827
    },
    {
      "home_runs": 6,
      "away_runs": 4,
      "probability": 0.022557888155150457
    },
    {
      "home_runs": 4,
      "away_runs": 4,
      "probability": 0.022346099849270953
    },
    {
      "home_runs": 6,
      "away_runs": 3,
      "probability": 0.0217852034142641
    }
  ],
  "home_distribution": {
    "0": 0.030924046141580307,
    "1": 0.05338128783549433,
    "2": 0.08170519982440813,
    "3": 0.110886394100188,
    "4": 0.13343653023368565,
    "5": 0.14237676959169987,
    "6": 0.13470119372625272,
    "7": 0.11299823735341785,
    "8": 0.08405040464361986,
    "9": 0.0554339547778221,
    "10": 0.032417523386449265,
    "11": 0.01680938086398862,
    "12": 0.007728434261288058,
    "13": 0.003150643260105219
  },
  "away_distribution": {
    "0": 0.054715894509931126,
    "1": 0.09244500056646518,
    "2": 0.1326708932678791,
    "3": 0.16172984671937807,
    "4": 0.1674661339749806,
    "5": 0.14729435809313285,
    "6": 0.11004429376461308,
    "7": 0.06983469503672982,
    "8": 0.03764412893498241,
    "9": 0.017236360208235067,
    "10": 0.006703724663948473,
    "11": 0.0022146702597242254
  },
  "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": [
    "latest same-matchup result beat the predicted side",
    "recent head-to-head is split and volatile",
    "recent head-to-head margin does not support a strong repeat pick",
    "a prior same-side pick already missed against the actual result"
  ],
  "signals": {
    "predicted_team": "NYY",
    "opponent_team": "HOU",
    "h2h_net_margin": 0,
    "opponent_breakout": false,
    "opponent_blowout_win": false,
    "split_recent_h2h": true,
    "recent_h2h": [
      {
        "date": "2026-08-25",
        "predicted_team_runs": 7,
        "opponent_runs": 9,
        "margin_for_predicted_team": -2,
        "winner": "HOU"
      },
      {
        "date": "2026-04-26",
        "predicted_team_runs": 4,
        "opponent_runs": 7,
        "margin_for_predicted_team": -3,
        "winner": "HOU"
      },
      {
        "date": "2026-04-25",
        "predicted_team_runs": 8,
        "opponent_runs": 3,
        "margin_for_predicted_team": 5,
        "winner": "NYY"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 1,
      "consecutive_same_pick_count": 1,
      "same_pick_actual_loss_count": 1,
      "same_pick_blowout_loss_count": 0,
      "prior_predictions": [
        {
          "date": "20260825",
          "away": "HOU",
          "home": "NYY",
          "game_number": 1,
          "predicted_team": "NYY",
          "actual_winner": "HOU",
          "actual_margin": 2,
          "raw_pick_probability": 0.567278,
          "artifact": "20260825_HOU@NYY.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "NYY",
    "guardrail_opponent_team": "HOU",
    "output_pre_simulation_winner": "NYY",
    "output_opponent_team": "HOU",
    "simulation_score_winner": "NYY",
    "final_score_winner": "NYY",
    "pre_simulation_winner": "NYY",
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false
  },
  "hard_flip_suppressed": false,
  "flip_authority": "caps_confidence_and_shifts_runs_only",
  "final_prediction_sync": {
    "pre_simulation_score": {
      "away_runs": 4,
      "home_runs": 5,
      "score_text": "HOU 4 - 5 NYY",
      "winner": "NYY"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 5,
      "score_text": "HOU 4 - 5 NYY",
      "winner": "NYY"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": 0.0049,
      "recent_form_edge_home_minus_away": 0.468,
      "winner_direction": "home",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 4,
      "home_runs": 5,
      "winner": "NYY",
      "model_winner": "NYY",
      "simulation_winner": "NYY",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 6,
        "published_winner": "NYY",
        "published_winner_draw_share": 0.6667,
        "draw_majority_team": "NYY",
        "published_winner_is_draw_majority": true,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 1,
      "simulation_margin": 1,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 4,
        "home_runs": 5
      },
      "simulation_score": {
        "away_runs": 4,
        "home_runs": 5
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 1,
      "winner_quality_edge": 0.9201,
      "winner": "NYY",
      "score_reviewed": {
        "away_runs": 4,
        "home_runs": 5,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  }
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "hard_flip_suppressed": false,
  "policy": "recency_uncertainty_shrinkage_v2",
  "reasons": [],
  "signals": {
    "home": {
      "team": "NYY",
      "games": 131,
      "wins": 74,
      "losses": 57,
      "win_pct": 0.5648854961832062,
      "runs_scored": 586,
      "runs_allowed": 488,
      "run_differential": 98,
      "run_differential_per_game": 0.7480916030534351,
      "available": true
    },
    "away": {
      "team": "HOU",
      "games": 132,
      "wins": 66,
      "losses": 66,
      "win_pct": 0.5,
      "runs_scored": 605,
      "runs_allowed": 647,
      "run_differential": -42,
      "run_differential_per_game": -0.3181818181818182,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": 0.6,
  "final_margin": 0.6,
  "margin_cap": 2.0,
  "season_quality_edge": 0.9201,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.56,
  "final_confidence": 0.5982,
  "calibrated_pick_probability": 0.5982,
  "shrinkage_weight": 0.871429,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 1.3257,
  "calibration_sample_size": 73,
  "calibration_empirical_hit_rate": 0.5068,
  "calibration_bayesian_hit_rate": 0.5055,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.9201,
  "reasons": [
    "confidence aligned to the calibrated pick probability"
  ],
  "score_coherence": {
    "policy": "probability_follows_published_score_v1",
    "published_score": {
      "away_runs": 4,
      "home_runs": 5
    },
    "margin": 1,
    "probability_before": 0.598193,
    "margin_implied_home_probability": 0.585,
    "shrinkage_weight": 0.871429,
    "side_flipped": false,
    "applied": true,
    "probability_after": 0.591596,
    "aligned_pick_probability": 0.591596
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 4,
    "home_runs": 5,
    "score_text": "HOU 4 - 5 NYY",
    "winner": "NYY"
  },
  "final_simulation_score": {
    "away_runs": 4,
    "home_runs": 5,
    "score_text": "HOU 4 - 5 NYY",
    "winner": "NYY"
  },
  "winner_flipped_by_simulation": false,
  "simulation_would_flip_winner": false,
  "sim_flipped_pre_winner": false,
  "sim_flip_trusted": false,
  "sim_flip_policy": "diagnostic_only_unless_independently_supported",
  "independent_margin_support": false,
  "independent_margin_support_evidence": {
    "pitcher_matchup_edge_home_minus_away": 0.0049,
    "recent_form_edge_home_minus_away": 0.468,
    "winner_direction": "home",
    "thresholds": {
      "pitcher_matchup": 0.35,
      "recent_form": 0.75
    }
  },
  "margin_widening_capped": false,
  "simulation_winner_agrees": true,
  "away_run_delta": 0,
  "home_run_delta": 0,
  "total_run_delta": 0,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "organic_simulation_realized_target",
  "final_prediction_source": "stable_final_prediction_policy",
  "final_decision_policy": {
    "policy_version": "model_target_authoritative_simulation_realizes_v3",
    "away_runs": 4,
    "home_runs": 5,
    "winner": "NYY",
    "model_winner": "NYY",
    "simulation_winner": "NYY",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 6,
      "published_winner": "NYY",
      "published_winner_draw_share": 0.6667,
      "draw_majority_team": "NYY",
      "published_winner_is_draw_majority": true,
      "sampling": "target_conditioned_selection",
      "is_unbiased_probability_sample": false,
      "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
    },
    "simulation_score_enabled": true,
    "independent_margin_support": false,
    "margin_widening_capped": false,
    "model_margin": 1,
    "simulation_margin": 1,
    "simulation_usage": "organic_simulation_realized_target",
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_realized_target": true,
    "model_score": {
      "away_runs": 4,
      "home_runs": 5
    },
    "simulation_score": {
      "away_runs": 4,
      "home_runs": 5
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 1,
    "final_margin": 1,
    "winner_quality_edge": 0.9201,
    "winner": "NYY",
    "score_reviewed": {
      "away_runs": 4,
      "home_runs": 5,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 4,
  "home_runs": 5,
  "confidence": 0.56,
  "home_win_probability": 0.56,
  "away_win_probability": 0.43999999999999995,
  "predicted_score_text": "HOU 4 - 5 NYY",
  "embedded_savant_score_adjustment": {
    "applied": true,
    "source": "all_players_stats.csv embedded temporal Savant features",
    "feature_contract": {
      "training_grain": "one player-game row after collapsing granular at-bat rows",
      "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
      "hitter_signals": [
        "xwoba",
        "xba",
        "xslg",
        "barrel_batted_rate",
        "hard_hit_percent",
        "bat_speed",
        "launch_quality",
        "walk_rate",
        "strikeout_rate"
      ],
      "pitcher_signals": [
        "xwoba_allowed",
        "barrel_allowed",
        "hard_hit_allowed",
        "whiff_rate",
        "command_score",
        "movement_score",
        "faced_est_woba",
        "faced_strikeout_rate"
      ]
    },
    "away": {
      "team": "HOU",
      "original_runs": 4,
      "run_delta": -0.2424,
      "adjusted_runs": 4,
      "lineup": {
        "players_used": 9,
        "total_weight": 37.0,
        "quality": -0.04275535213972057,
        "contact": -0.09431581259895477,
        "power": 0.013261266803808083,
        "discipline": 0.04197684688866315,
        "xwoba": 0.31589189189189193,
        "recent_xwoba": 0.31589189189189193,
        "barrel": 8.078378378378378,
        "ab_hard_contact": 0.024474978271767065,
        "ab_bat_speed": 70.61988056234357,
        "ab_strikeout_rate": 0.21752005144247422,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "670541",
            "player_name": "Yordan Alvarez",
            "position": "DH",
            "weight": 4.0,
            "quality": 1.8300701491536164,
            "contact": 2.0,
            "power": 2.0,
            "discipline": 1.2750578739408933,
            "xwoba": 0.458,
            "recent_xwoba": 0.458,
            "barrel": 17.2,
            "ab_hard_contact": 1.5687734760236336,
            "ab_bat_speed": 75.38483097819073,
            "ab_strikeout_rate": 0.1774390243902439,
            "available": 1.0
          },
          {
            "player_id": "543877",
            "player_name": "Christian Vázquez",
            "position": "C",
            "weight": 3.0,
            "quality": -1.156387534067271,
            "contact": -1.3846284892504654,
            "power": -1.325803368377121,
            "discipline": 0.06255491308633514,
            "xwoba": 0.241,
            "recent_xwoba": 0.241,
            "barrel": 2.3,
            "ab_hard_contact": -1.1419721294471832,
            "ab_bat_speed": 62.367201682316114,
            "ab_strikeout_rate": 0.21572769953051643,
            "available": 1.0
          },
          {
            "player_id": "514888",
            "player_name": "Jose Altuve",
            "position": "2B",
            "weight": 5.0,
            "quality": -0.7232199655575251,
            "contact": -0.8164268205113636,
            "power": -0.8151169535273209,
            "discipline": 0.05116356499780396,
            "xwoba": 0.273,
            "recent_xwoba": 0.273,
            "barrel": 4.7,
            "ab_hard_contact": -0.7476724038797521,
            "ab_bat_speed": 66.72382944444445,
            "ab_strikeout_rate": 0.21533333333333335,
            "available": 1.0
          },
          {
            "player_id": "701358",
            "player_name": "Cam Smith",
            "position": "RF",
            "weight": 4.0,
            "quality": 0.34936261740238356,
            "contact": 0.17920345473508584,
            "power": 0.6651957391104047,
            "discipline": -0.37781262547838645,
            "xwoba": 0.324,
            "recent_xwoba": 0.324,
            "barrel": 11.4,
            "ab_hard_contact": 0.8886766869700005,
            "ab_bat_speed": 75.95847448482317,
            "ab_strikeout_rate": 0.24166666666666667,
            "available": 1.0
          },
          {
            "player_id": "662139",
            "player_name": "Daulton Varsho",
            "position": "CF",
            "weight": 5.0,
            "quality": -0.3624071568753331,
            "contact": -0.4443408972787631,
            "power": -0.42567210486024915,
            "discipline": 0.10097949906373807,
            "xwoba": 0.285,
            "recent_xwoba": 0.285,
            "barrel": 6.0,
            "ab_hard_contact": -0.5858230495859305,
            "ab_bat_speed": 71.277147245116,
            "ab_strikeout_rate": 0.20016025641025642,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "543037",
        "player_name": "Gerrit Cole",
        "quality": 0.27973974644583144,
        "contact": 0.3948984012985535,
        "command": 0.09767948717948712,
        "movement": 0.4425135828803147,
        "xwoba": 0.282,
        "whiff": 22.2,
        "faced_est_woba": 0.26552359851190477,
        "faced_launch_speed": 83.8105259224902,
        "faced_strikeout_rate": 0.23520697818487546,
        "faced_run_exp": 0.006591593388029562
      }
    },
    "home": {
      "team": "NYY",
      "original_runs": 5,
      "run_delta": 0.2589,
      "adjusted_runs": 5,
      "lineup": {
        "players_used": 9,
        "total_weight": 33.0,
        "quality": 0.29117026502050325,
        "contact": 0.2317462822201267,
        "power": 0.4331791333583545,
        "discipline": 0.03892544628289209,
        "xwoba": 0.32596969696969696,
        "recent_xwoba": 0.32596969696969696,
        "barrel": 9.575757575757576,
        "ab_hard_contact": 0.1833344709189031,
        "ab_bat_speed": 70.47201970607317,
        "ab_strikeout_rate": 0.242324698801492,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "700250",
            "player_name": "Ben Rice",
            "position": "DH",
            "weight": 4.0,
            "quality": 1.0163288208998715,
            "contact": 0.9643496528004566,
            "power": 1.4519218005764989,
            "discipline": 0.2586312084654474,
            "xwoba": 0.37,
            "recent_xwoba": 0.37,
            "barrel": 14.6,
            "ab_hard_contact": 0.9988169639109341,
            "ab_bat_speed": 71.59577526794193,
            "ab_strikeout_rate": 0.2541514041514042,
            "available": 1.0
          },
          {
            "player_id": "671277",
            "player_name": "Luis García Jr.",
            "position": "1B",
            "weight": 4.0,
            "quality": 0.920755319614725,
            "contact": 1.091179691335926,
            "power": 1.262468608400229,
            "discipline": -0.08566155815490531,
            "xwoba": 0.355,
            "recent_xwoba": 0.355,
            "barrel": 12.6,
            "ab_hard_contact": 0.4809912156236357,
            "ab_bat_speed": 73.18823680124224,
            "ab_strikeout_rate": 0.16522988505747127,
            "available": 1.0
          },
          {
            "player_id": "676609",
            "player_name": "José Caballero",
            "position": "3B",
            "weight": 3.0,
            "quality": -0.9106481565797703,
            "contact": -1.013368258844697,
            "power": -0.9634798556345685,
            "discipline": -0.5318126254783866,
            "xwoba": 0.28,
            "recent_xwoba": 0.28,
            "barrel": 4.2,
            "ab_hard_contact": -1.2174066365008884,
            "ab_bat_speed": 65.01738892857142,
            "ab_strikeout_rate": 0.25516666666666665,
            "available": 1.0
          },
          {
            "player_id": "682987",
            "player_name": "Spencer Jones",
            "position": "RF",
            "weight": 3.0,
            "quality": 0.5209326195340463,
            "contact": 0.47006398589291226,
            "power": 1.5838362484223893,
            "discipline": -0.8122479996280463,
            "xwoba": 0.334,
            "recent_xwoba": 0.334,
            "barrel": 16.2,
            "ab_hard_contact": 0.006058301781130093,
            "ab_bat_speed": 76.17769841269842,
            "ab_strikeout_rate": 0.40510204081632656,
            "available": 1.0
          },
          {
            "player_id": "663757",
            "player_name": "Trent Grisham",
            "position": "CF",
            "weight": 4.0,
            "quality": 0.7206736929559217,
            "contact": 0.6998306320056427,
            "power": 0.7268464137021439,
            "discipline": 0.8681992792835181,
            "xwoba": 0.344,
            "recent_xwoba": 0.344,
            "barrel": 10.0,
            "ab_hard_contact": 0.5929282740428864,
            "ab_bat_speed": 68.84894242063493,
            "ab_strikeout_rate": 0.18808333333333332,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "669713",
        "player_name": "Hayden Wesneski",
        "quality": 0.006318921575906257,
        "contact": 0.1863599561399818,
        "command": -0.20760622710622734,
        "movement": -0.17492893667497428,
        "xwoba": 0.306,
        "whiff": 27.4,
        "faced_est_woba": 0.26552359851190477,
        "faced_launch_speed": 83.8105259224902,
        "faced_strikeout_rate": 0.23520697818487546,
        "faced_run_exp": 0.006591593388029562
      }
    }
  },
  "fundamental_edge_target_review": {
    "applied": false,
    "method": "post_score_adjustment_fundamental_edge_review_v1",
    "previous_score": {
      "away_runs": 4,
      "home_runs": 5,
      "winner_side": "home"
    },
    "adjusted_score": {
      "away_runs": 4,
      "home_runs": 5,
      "winner_side": "home"
    },
    "signals": {
      "season_quality_edge_home_minus_away": 0.9201,
      "recent_form_edge_home_minus_away": 0.468,
      "pitcher_matchup_edge_home_minus_away": 0.0049,
      "composite_home_edge": 0.8138,
      "existing_home_win_probability": 0.5916,
      "refreshed_home_win_probability": 0.7,
      "winner_support_before_review": 0.8138
    },
    "reasons": [
      "target direction already matched refreshed fundamentals or margin was not fragile"
    ]
  },
  "uncapped_home_win_probability": 0.591596,
  "uncapped_away_win_probability": 0.408404,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.591596,
    "discount_factor": 0.7225,
    "published_confidence": 0.56,
    "guardrail_confidence_cap": 0.56,
    "guardrail_cap_enforced": true,
    "applied_discounts": [
      {
        "reason": "projected_margin_is_one_run",
        "factor": 0.85
      },
      {
        "reason": "matchup_recency_guardrail",
        "factor": 0.85
      }
    ]
  },
  "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.",
  "pre_simulation_target": {
    "away_runs": 4,
    "home_runs": 5,
    "predicted_score_text": "HOU 4 - 5 NYY",
    "confidence": 0.56,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "stable_final_prediction_policy",
  "simulation_usage": "organic_simulation_realized_target",
  "simulation_score_matches_prediction": true,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 4,
      "home_runs": 5,
      "score_text": "HOU 4 - 5 NYY",
      "winner": "NYY"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 5,
      "score_text": "HOU 4 - 5 NYY",
      "winner": "NYY"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": 0.0049,
      "recent_form_edge_home_minus_away": 0.468,
      "winner_direction": "home",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 4,
      "home_runs": 5,
      "winner": "NYY",
      "model_winner": "NYY",
      "simulation_winner": "NYY",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 6,
        "published_winner": "NYY",
        "published_winner_draw_share": 0.6667,
        "draw_majority_team": "NYY",
        "published_winner_is_draw_majority": true,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 1,
      "simulation_margin": 1,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 4,
        "home_runs": 5
      },
      "simulation_score": {
        "away_runs": 4,
        "home_runs": 5
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 1,
      "winner_quality_edge": 0.9201,
      "winner": "NYY",
      "score_reviewed": {
        "away_runs": 4,
        "home_runs": 5,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  },
  "decision_profile": {
    "method": "priced_decision_profile_v2",
    "winner": "NYY",
    "display_confidence": 0.56,
    "internal_signal_score": 0.6118,
    "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
    "model_pick_probability": 0.56,
    "confidence_compression_detected": false,
    "moneyline_fit": "unavailable_without_market_price",
    "betting_status": "price_required_before_betting_analysis",
    "market_context": null,
    "margin_fit": "moneyline_preferred_over_margin",
    "totals_fit": "low_total_lean",
    "winner_accuracy_and_margin_accuracy_decoupled": true,
    "signals": {
      "final_margin": 1,
      "winner_quality_edge": 0.9201,
      "winner_recent_form_edge": 0.468,
      "winner_pitcher_matchup_edge": 0.0049,
      "winner_simulation_draw_rate": 0.6667,
      "blowout_draw_rate_margin_4_plus": 0.1667,
      "high_total_draw_rate_11_plus": 0.0,
      "low_total_draw_rate_6_or_less": 0.8333,
      "total_runs_spread": {
        "min": 4,
        "median": 5,
        "max": 7,
        "range": 3
      }
    },
    "interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."
  }
}

Savant Batter Quality

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

TeamAppliedOffense FactorRaw Avg FactorCoverage WeightCoveredMissing
Away HOUTrue1.00691.0069190
Home NYYTrue1.03511.0351190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
DHYordan Alvarez41.15002neutral0.45800.33100.673017.2053.6094.5019.4019.6016.80160.6000
CFDaulton Varsho2120.9805-0.2600neutral0.28500.23000.3500637.8086.9015.1021.1020.207.90-0.1714
SSJeremy Peña481.02520.3358neutral0.33000.27700.4200639.7088.4012.1030.9021.205.90-0.6857
LFTaylor Trammell5680.9993-0.0088neutral0.29900.19800.392012.3037.7088.9013.8039.1031.809.30-0.0286
1BChristian Walker1181.00240.0320neutral0.30200.22600.38509.204189.201429.9023.808.20-0.5714
RFCam Smith2361.04680.6246neutral0.32400.24200.431011.4044.7089.4011.7029.6024.907.700.8000
3BIsaac Paredes541.00220.0293neutral0.32300.25000.37305.1028.1085.9023.6015.4013.2010-0.6857
CChristian Vázquez2440.9083-1.2223negative_batter_regression0.24100.19900.27802.3023.208614.9019.6019.207.10-0.8857
2BJose Altuve3400.9476-0.6982negative_batter_regression0.27300.22100.32604.703285.209.2022.1020.708-1.0857

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
DHBen Rice811.10221.3629neutral0.37000.26100.502014.6048.7092.2014.6026.2025.1012-0.0286
CFTrent Grisham1841.06920.9224neutral0.34400.24900.44201046.809117.6018.3017.9012.700.5714
RFSpencer Jones2071.05880.7835neutral0.33400.23300.462016.2059.209518.8037.8035.209.900.2857
LFCody Bellinger301.05770.7693neutral0.34900.27700.42006.4037.5089.101820.3016.3012.400.2857
1BLuis García Jr.581.08521.1365neutral0.35500.28800.506012.6046.6091.8011.5019.4016.504.90-0.4286
3BJosé Caballero1240.9535-0.6205neutral0.28000.22800.33704.20268412.7028.1024.106-0.3714
SSGeorge Lombard Jr.2020.9948-0.0696neutral0.30100.25500.35006.503485.504.8028.8024.308.60-0.7429
2BJazz Chisholm Jr.1850.9916-0.1124neutral0.29000.21200.36608.8041.8090.7016.903130.1010-0.4000
CAustin Wells2951.00280.0374positive_batter_regression0.29300.21100.35506.4042.6089.1019.3028.3026.3010.901
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0351,
    "raw_average_factor": 1.0351,
    "team_espn_average_rank": 151.78,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "DH",
        "player_id": "700250",
        "player_name": "Ben Rice",
        "offense_factor": 1.1022,
        "quality_score": 1.3629,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "700250",
          "espn_id": 5016968,
          "player_name": "Ben Rice",
          "team": "NYY",
          "role": "batter",
          "espn_rank": 81,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 81,
            "gp_value": 126.0,
            "gp_rank": "59",
            "ab_value": 469.0,
            "ab_rank": "58",
            "r_value": 80.0,
            "r_rank": "19",
            "h_value": 117.0,
            "h_rank": "69",
            "avg_value": 0.2494669,
            "avg_rank": 85.0,
            "2b_value": 20.0,
            "2b_rank": "92",
            "3b_value": 3.0,
            "3b_rank": "32",
            "hr_value": 34.0,
            "hr_rank": "6",
            "rbi_value": 82.0,
            "rbi_rank": "10",
            "tb_value": 245.0,
            "tb_rank": "207",
            "bb_value": 65.0,
            "bb_rank": "23",
            "so_value": 136.0,
            "so_rank": "25",
            "sb_value": 3.0,
            "sb_rank": "223",
            "obp_value": 0.3456561,
            "obp_rank": "51",
            "slg_value": 0.522388,
            "slg_rank": "12",
            "ops_value": 0.8680441,
            "ops_rank": 63.0,
            "war_value": 2.29,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 507.0,
          "k_percent": 25.1,
          "bb_percent": 12.0,
          "woba": 0.371,
          "xwoba": 0.37,
          "xba": 0.261,
          "xslg": 0.502,
          "sweet_spot_percent": 38.5,
          "barrel_batted_rate": 14.6,
          "hard_hit_percent": 48.7,
          "exit_velocity_avg": 92.2,
          "launch_angle_avg": 14.6,
          "whiff_percent": 26.2,
          "swing_percent": 44.1
        },
        "components": {
          "expected_quality": 1.5894,
          "regression_edge": -0.0286,
          "xwoba_edge": 1.9429,
          "xba_edge": 0.7143,
          "xslg_edge": 1.9286,
          "barrel_edge": 1.7556,
          "hard_hit_edge": 1.5571,
          "exit_velocity_edge": 1.44,
          "sweet_spot_edge": 0.8667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "CF",
        "player_id": "663757",
        "player_name": "Trent Grisham",
        "offense_factor": 1.0692,
        "quality_score": 0.9224,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "663757",
          "espn_id": 34995,
          "player_name": "Trent Grisham",
          "team": "NYY",
          "role": "batter",
          "espn_rank": 184,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 184,
            "gp_value": 111.0,
            "gp_rank": "141",
            "ab_value": 387.0,
            "ab_rank": "121",
            "r_value": 65.0,
            "r_rank": "59",
            "h_value": 85.0,
            "h_rank": "151",
            "avg_value": 0.2196382,
            "avg_rank": 133.0,
            "2b_value": 19.0,
            "2b_rank": "115",
            "3b_value": 2.0,
            "3b_rank": "64",
            "hr_value": 18.0,
            "hr_rank": "65",
            "rbi_value": 56.0,
            "rbi_rank": "88",
            "tb_value": 162.0,
            "tb_rank": "589",
            "bb_value": 57.0,
            "bb_rank": "39",
            "so_value": 80.0,
            "so_rank": "155",
            "sb_value": 9.0,
            "sb_rank": "90",
            "obp_value": 0.3176733,
            "obp_rank": "95",
            "slg_value": 0.4186046,
            "slg_rank": "82",
            "ops_value": 0.7362779,
            "ops_rank": 177.0,
            "war_value": 1.14,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 418.0,
          "k_percent": 17.9,
          "bb_percent": 12.7,
          "woba": 0.324,
          "xwoba": 0.344,
          "xba": 0.249,
          "xslg": 0.442,
          "sweet_spot_percent": 35.2,
          "barrel_batted_rate": 10.0,
          "hard_hit_percent": 46.8,
          "exit_velocity_avg": 91.0,
          "launch_angle_avg": 17.6,
          "whiff_percent": 18.3,
          "swing_percent": 39.2
        },
        "components": {
          "expected_quality": 0.9796,
          "regression_edge": 0.5714,
          "xwoba_edge": 1.2,
          "xba_edge": 0.3714,
          "xslg_edge": 1.0714,
          "barrel_edge": 0.7333,
          "hard_hit_edge": 1.2857,
          "exit_velocity_edge": 0.96,
          "sweet_spot_edge": 0.3167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "RF",
        "player_id": "682987",
        "player_name": "Spencer Jones",
        "offense_factor": 1.0588,
        "quality_score": 0.7835,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "682987",
          "espn_id": 4867424,
          "player_name": "Spencer Jones",
          "team": "NYY",
          "role": "batter",
          "espn_rank": 207,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 207,
            "gp_value": 58.0,
            "gp_rank": "352",
            "ab_value": 163.0,
            "ab_rank": "342",
            "r_value": 21.0,
            "r_rank": "321",
            "h_value": 38.0,
            "h_rank": "331",
            "avg_value": 0.2331288,
            "avg_rank": null,
            "2b_value": 9.0,
            "2b_rank": "276",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 7.0,
            "hr_rank": "231",
            "rbi_value": 22.0,
            "rbi_rank": "305",
            "tb_value": 70.0,
            "tb_rank": "1556",
            "bb_value": 18.0,
            "bb_rank": "285",
            "so_value": 64.0,
            "so_rank": "225",
            "sb_value": 8.0,
            "sb_rank": "107",
            "obp_value": 0.3131868,
            "obp_rank": "-",
            "slg_value": 0.4294478,
            "slg_rank": "-",
            "ops_value": 0.7426346,
            "ops_rank": null,
            "war_value": 0.96,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 160.0,
          "k_percent": 35.2,
          "bb_percent": 9.9,
          "woba": 0.324,
          "xwoba": 0.334,
          "xba": 0.233,
          "xslg": 0.462,
          "sweet_spot_percent": 39.4,
          "barrel_batted_rate": 16.2,
          "hard_hit_percent": 59.2,
          "exit_velocity_avg": 95.0,
          "launch_angle_avg": 18.8,
          "whiff_percent": 37.8,
          "swing_percent": 52.8
        },
        "components": {
          "expected_quality": 1.2061,
          "regression_edge": 0.2857,
          "xwoba_edge": 0.9143,
          "xba_edge": -0.0857,
          "xslg_edge": 1.3571,
          "barrel_edge": 2.1111,
          "hard_hit_edge": 2.5,
          "exit_velocity_edge": 2.5,
          "sweet_spot_edge": 1.0167,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "LF",
        "player_id": "641355",
        "player_name": "Cody Bellinger",
        "offense_factor": 1.0577,
        "quality_score": 0.7693,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "641355",
          "espn_id": 33912,
          "player_name": "Cody Bellinger",
          "team": "NYY",
          "role": "batter",
          "espn_rank": 30,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 30,
            "gp_value": 104.0,
            "gp_rank": "163",
            "ab_value": 383.0,
            "ab_rank": "124",
            "r_value": 54.0,
            "r_rank": "109",
            "h_value": 99.0,
            "h_rank": "114",
            "avg_value": 0.2584856,
            "avg_rank": 70.0,
            "2b_value": 21.0,
            "2b_rank": "78",
            "3b_value": 3.0,
            "3b_rank": "32",
            "hr_value": 12.0,
            "hr_rank": "139",
            "rbi_value": 56.0,
            "rbi_rank": "88",
            "tb_value": 162.0,
            "tb_rank": "673",
            "bb_value": 55.0,
            "bb_rank": "44",
            "so_value": 72.0,
            "so_rank": "184",
            "sb_value": 10.0,
            "sb_rank": "75",
            "obp_value": 0.3476297,
            "obp_rank": "48",
            "slg_value": 0.4229765,
            "slg_rank": "78",
            "ops_value": 0.7706062,
            "ops_rank": 126.0,
            "war_value": 3.89,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 427.0,
          "k_percent": 16.3,
          "bb_percent": 12.4,
          "woba": 0.339,
          "xwoba": 0.349,
          "xba": 0.277,
          "xslg": 0.42,
          "sweet_spot_percent": 40.2,
          "barrel_batted_rate": 6.4,
          "hard_hit_percent": 37.5,
          "exit_velocity_avg": 89.1,
          "launch_angle_avg": 18.0,
          "whiff_percent": 20.3,
          "swing_percent": 46.0
        },
        "components": {
          "expected_quality": 0.848,
          "regression_edge": 0.2857,
          "xwoba_edge": 1.3429,
          "xba_edge": 1.1714,
          "xslg_edge": 0.7571,
          "barrel_edge": -0.0667,
          "hard_hit_edge": -0.0429,
          "exit_velocity_edge": 0.2,
          "sweet_spot_edge": 1.15,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "671277",
        "player_name": "Luis García Jr.",
        "offense_factor": 1.0852,
        "quality_score": 1.1365,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "671277",
          "espn_id": 40459,
          "player_name": "Luis Garcia Jr.",
          "team": "NYY",
          "role": "batter",
          "espn_rank": 58,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 58,
            "gp_value": 122.0,
            "gp_rank": "88",
            "ab_value": 424.0,
            "ab_rank": "97",
            "r_value": 56.0,
            "r_rank": "105",
            "h_value": 120.0,
            "h_rank": "54",
            "avg_value": 0.2830188,
            "avg_rank": 22.0,
            "2b_value": 24.0,
            "2b_rank": "46",
            "3b_value": 5.0,
            "3b_rank": "12",
            "hr_value": 27.0,
            "hr_rank": "16",
            "rbi_value": 85.0,
            "rbi_rank": "7",
            "tb_value": 235.0,
            "tb_rank": "172",
            "bb_value": 22.0,
            "bb_rank": "247",
            "so_value": 74.0,
            "so_rank": "181",
            "sb_value": 4.0,
            "sb_rank": "192",
            "obp_value": 0.3169642,
            "obp_rank": "99",
            "slg_value": 0.5542452,
            "slg_rank": "2",
            "ops_value": 0.8712094,
            "ops_rank": 97.0,
            "war_value": 2.91,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 424.0,
          "k_percent": 16.5,
          "bb_percent": 4.9,
          "woba": 0.37,
          "xwoba": 0.355,
          "xba": 0.288,
          "xslg": 0.506,
          "sweet_spot_percent": 34.1,
          "barrel_batted_rate": 12.6,
          "hard_hit_percent": 46.6,
          "exit_velocity_avg": 91.8,
          "launch_angle_avg": 11.5,
          "whiff_percent": 19.4,
          "swing_percent": 52.7
        },
        "components": {
          "expected_quality": 1.3912,
          "regression_edge": -0.4286,
          "xwoba_edge": 1.5143,
          "xba_edge": 1.4857,
          "xslg_edge": 1.9857,
          "barrel_edge": 1.3111,
          "hard_hit_edge": 1.2571,
          "exit_velocity_edge": 1.28,
          "sweet_spot_edge": 0.1333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "3B",
        "player_id": "676609",
        "player_name": "José Caballero",
        "offense_factor": 0.9535,
        "quality_score": -0.6205,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "676609",
          "espn_id": 42135,
          "player_name": "Jose Caballero",
          "team": "NYY",
          "role": "batter",
          "espn_rank": 124,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 124,
            "gp_value": 110.0,
            "gp_rank": "143",
            "ab_value": 344.0,
            "ab_rank": "161",
            "r_value": 39.0,
            "r_rank": "192",
            "h_value": 80.0,
            "h_rank": "173",
            "avg_value": 0.2325581,
            "avg_rank": null,
            "2b_value": 12.0,
            "2b_rank": "218",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 12.0,
            "hr_rank": "139",
            "rbi_value": 44.0,
            "rbi_rank": "153",
            "tb_value": 128.0,
            "tb_rank": "1370",
            "bb_value": 23.0,
            "bb_rank": "232",
            "so_value": 92.0,
            "so_rank": "119",
            "sb_value": 30.0,
            "sb_rank": "6",
            "obp_value": 0.2910052,
            "obp_rank": "-",
            "slg_value": 0.372093,
            "slg_rank": "-",
            "ops_value": 0.6630982,
            "ops_rank": null,
            "war_value": 1.72,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 357.0,
          "k_percent": 24.1,
          "bb_percent": 6.0,
          "woba": 0.293,
          "xwoba": 0.28,
          "xba": 0.228,
          "xslg": 0.337,
          "sweet_spot_percent": 32.0,
          "barrel_batted_rate": 4.2,
          "hard_hit_percent": 26.0,
          "exit_velocity_avg": 84.0,
          "launch_angle_avg": 12.7,
          "whiff_percent": 28.1,
          "swing_percent": 50.3
        },
        "components": {
          "expected_quality": -0.661,
          "regression_edge": -0.3714,
          "xwoba_edge": -0.6286,
          "xba_edge": -0.2286,
          "xslg_edge": -0.4286,
          "barrel_edge": -0.5556,
          "hard_hit_edge": -1.6857,
          "exit_velocity_edge": -1.84,
          "sweet_spot_edge": -0.2167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "806146",
        "player_name": "George Lombard Jr.",
        "offense_factor": 0.9948,
        "quality_score": -0.0696,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "806146",
          "espn_id": 5149070,
          "player_name": "George Lombard Jr.",
          "team": "NYY",
          "role": "batter",
          "espn_rank": 202,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 202,
            "gp_value": 18.0,
            "gp_rank": "508",
            "ab_value": 63.0,
            "ab_rank": "473",
            "r_value": 12.0,
            "r_rank": "406",
            "h_value": 18.0,
            "h_rank": "436",
            "avg_value": 0.2857142,
            "avg_rank": null,
            "2b_value": 1.0,
            "2b_rank": "499",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 2.0,
            "hr_rank": "396",
            "rbi_value": 5.0,
            "rbi_rank": "485",
            "tb_value": 25.0,
            "tb_rank": "2685",
            "bb_value": 6.0,
            "bb_rank": "436",
            "so_value": 17.0,
            "so_rank": "478",
            "sb_value": 1.0,
            "sb_rank": "315",
            "obp_value": 0.3428571,
            "obp_rank": "-",
            "slg_value": 0.3968253,
            "slg_rank": "-",
            "ops_value": 0.7396824,
            "ops_rank": null,
            "war_value": 1.01,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 49.0,
          "k_percent": 24.3,
          "bb_percent": 8.6,
          "woba": 0.327,
          "xwoba": 0.301,
          "xba": 0.255,
          "xslg": 0.35,
          "sweet_spot_percent": 40.4,
          "barrel_batted_rate": 6.5,
          "hard_hit_percent": 34.0,
          "exit_velocity_avg": 85.5,
          "launch_angle_avg": 4.8,
          "whiff_percent": 28.8,
          "swing_percent": 44.2
        },
        "components": {
          "expected_quality": -0.0588,
          "regression_edge": -0.7429,
          "xwoba_edge": -0.0286,
          "xba_edge": 0.5429,
          "xslg_edge": -0.2429,
          "barrel_edge": -0.0444,
          "hard_hit_edge": -0.5429,
          "exit_velocity_edge": -1.24,
          "sweet_spot_edge": 1.1833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "665862",
        "player_name": "Jazz Chisholm Jr.",
        "offense_factor": 0.9916,
        "quality_score": -0.1124,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "665862",
          "espn_id": 41433,
          "player_name": "Jazz Chisholm Jr.",
          "team": "NYY",
          "role": "batter",
          "espn_rank": 185,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 185,
            "gp_value": 122.0,
            "gp_rank": "88",
            "ab_value": 426.0,
            "ab_rank": "95",
            "r_value": 60.0,
            "r_rank": "87",
            "h_value": 94.0,
            "h_rank": "128",
            "avg_value": 0.2206572,
            "avg_rank": 130.0,
            "2b_value": 15.0,
            "2b_rank": "171",
            "3b_value": 3.0,
            "3b_rank": "32",
            "hr_value": 18.0,
            "hr_rank": "65",
            "rbi_value": 52.0,
            "rbi_rank": "107",
            "tb_value": 169.0,
            "tb_rank": "558",
            "bb_value": 48.0,
            "bb_rank": "70",
            "so_value": 144.0,
            "so_rank": "15",
            "sb_value": 35.0,
            "sb_rank": "2",
            "obp_value": 0.2991631,
            "obp_rank": "132",
            "slg_value": 0.3967136,
            "slg_rank": "103",
            "ops_value": 0.6958767,
            "ops_rank": 29.0,
            "war_value": 1.1,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 445.0,
          "k_percent": 30.1,
          "bb_percent": 10.0,
          "woba": 0.304,
          "xwoba": 0.29,
          "xba": 0.212,
          "xslg": 0.366,
          "sweet_spot_percent": 29.5,
          "barrel_batted_rate": 8.8,
          "hard_hit_percent": 41.8,
          "exit_velocity_avg": 90.7,
          "launch_angle_avg": 16.9,
          "whiff_percent": 31.0,
          "swing_percent": 45.5
        },
        "components": {
          "expected_quality": -0.0656,
          "regression_edge": -0.4,
          "xwoba_edge": -0.3429,
          "xba_edge": -0.6857,
          "xslg_edge": -0.0143,
          "barrel_edge": 0.4667,
          "hard_hit_edge": 0.5714,
          "exit_velocity_edge": 0.84,
          "sweet_spot_edge": -0.6333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "C",
        "player_id": "669224",
        "player_name": "Austin Wells",
        "offense_factor": 1.0028,
        "quality_score": 0.0374,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "669224",
          "espn_id": 4683349,
          "player_name": "Austin Wells",
          "team": "NYY",
          "role": "batter",
          "espn_rank": 295,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 295,
            "gp_value": 96.0,
            "gp_rank": "190",
            "ab_value": 266.0,
            "ab_rank": "231",
            "r_value": 26.0,
            "r_rank": "280",
            "h_value": 47.0,
            "h_rank": "291",
            "avg_value": 0.1766917,
            "avg_rank": null,
            "2b_value": 7.0,
            "2b_rank": "319",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 8.0,
            "hr_rank": "207",
            "rbi_value": 19.0,
            "rbi_rank": "336",
            "tb_value": 78.0,
            "tb_rank": "1793",
            "bb_value": 33.0,
            "bb_rank": "165",
            "so_value": 80.0,
            "so_rank": "155",
            "sb_value": 2.0,
            "sb_rank": "260",
            "obp_value": 0.2739273,
            "obp_rank": "-",
            "slg_value": 0.293233,
            "slg_rank": "-",
            "ops_value": 0.5671603,
            "ops_rank": null,
            "war_value": 0.39,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 279.0,
          "k_percent": 26.3,
          "bb_percent": 10.9,
          "woba": 0.258,
          "xwoba": 0.293,
          "xba": 0.211,
          "xslg": 0.355,
          "sweet_spot_percent": 32.4,
          "barrel_batted_rate": 6.4,
          "hard_hit_percent": 42.6,
          "exit_velocity_avg": 89.1,
          "launch_angle_avg": 19.3,
          "whiff_percent": 28.3,
          "swing_percent": 46.9
        },
        "components": {
          "expected_quality": -0.1193,
          "regression_edge": 1.0,
          "xwoba_edge": -0.2571,
          "xba_edge": -0.7143,
          "xslg_edge": -0.1714,
          "barrel_edge": -0.0667,
          "hard_hit_edge": 0.6857,
          "exit_velocity_edge": 0.2,
          "sweet_spot_edge": -0.15,
          "launch_angle_hr_bonus": 0.2
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0069,
    "raw_average_factor": 1.0069,
    "team_espn_average_rank": 202.67,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "DH",
        "player_id": "670541",
        "player_name": "Yordan Alvarez",
        "offense_factor": 1.15,
        "quality_score": 2.0,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "670541",
          "espn_id": 36018,
          "player_name": "Yordan Alvarez",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 4,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 4,
            "gp_value": 130.0,
            "gp_rank": "21",
            "ab_value": 468.0,
            "ab_rank": "60",
            "r_value": 88.0,
            "r_rank": "5",
            "h_value": 151.0,
            "h_rank": "4",
            "avg_value": 0.3226495,
            "avg_rank": 1.0,
            "2b_value": 28.0,
            "2b_rank": "12",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 36.0,
            "hr_rank": "2",
            "rbi_value": 91.0,
            "rbi_rank": "5",
            "tb_value": 289.0,
            "tb_rank": "270",
            "bb_value": 91.0,
            "bb_rank": "3",
            "so_value": 97.0,
            "so_rank": "101",
            "sb_value": 1.0,
            "sb_rank": "315",
            "obp_value": 0.4378283,
            "obp_rank": "1",
            "slg_value": 0.6175213,
            "slg_rank": "1",
            "ops_value": 1.0553496,
            "ops_rank": 2.0,
            "war_value": 5.91,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 520.0,
          "k_percent": 16.8,
          "bb_percent": 16.0,
          "woba": 0.437,
          "xwoba": 0.458,
          "xba": 0.331,
          "xslg": 0.673,
          "sweet_spot_percent": 41.9,
          "barrel_batted_rate": 17.2,
          "hard_hit_percent": 53.6,
          "exit_velocity_avg": 94.5,
          "launch_angle_avg": 19.4,
          "whiff_percent": 19.6,
          "swing_percent": 42.8
        },
        "components": {
          "expected_quality": 2.3702,
          "regression_edge": 0.6,
          "xwoba_edge": 2.5,
          "xba_edge": 2.5,
          "xslg_edge": 2.5,
          "barrel_edge": 2.3333,
          "hard_hit_edge": 2.2571,
          "exit_velocity_edge": 2.36,
          "sweet_spot_edge": 1.4333,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "CF",
        "player_id": "662139",
        "player_name": "Daulton Varsho",
        "offense_factor": 0.9805,
        "quality_score": -0.26,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "662139",
          "espn_id": 40963,
          "player_name": "Daulton Varsho",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 212,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 212,
            "gp_value": 118.0,
            "gp_rank": "110",
            "ab_value": 403.0,
            "ab_rank": "111",
            "r_value": 44.0,
            "r_rank": "163",
            "h_value": 94.0,
            "h_rank": "128",
            "avg_value": 0.2332506,
            "avg_rank": 119.0,
            "2b_value": 21.0,
            "2b_rank": "78",
            "3b_value": 2.0,
            "3b_rank": "64",
            "hr_value": 9.0,
            "hr_rank": "187",
            "rbi_value": 32.0,
            "rbi_rank": "230",
            "tb_value": 146.0,
            "tb_rank": "895",
            "bb_value": 35.0,
            "bb_rank": "146",
            "so_value": 89.0,
            "so_rank": "129",
            "sb_value": 10.0,
            "sb_rank": "75",
            "obp_value": 0.2970521,
            "obp_rank": "133",
            "slg_value": 0.3622828,
            "slg_rank": "134",
            "ops_value": 0.6593349,
            "ops_rank": 267.0,
            "war_value": 0.91,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 412.0,
          "k_percent": 20.2,
          "bb_percent": 7.9,
          "woba": 0.291,
          "xwoba": 0.285,
          "xba": 0.23,
          "xslg": 0.35,
          "sweet_spot_percent": 33.0,
          "barrel_batted_rate": 6.0,
          "hard_hit_percent": 37.8,
          "exit_velocity_avg": 86.9,
          "launch_angle_avg": 15.1,
          "whiff_percent": 21.1,
          "swing_percent": 52.9
        },
        "components": {
          "expected_quality": -0.2744,
          "regression_edge": -0.1714,
          "xwoba_edge": -0.4857,
          "xba_edge": -0.1714,
          "xslg_edge": -0.2429,
          "barrel_edge": -0.1556,
          "hard_hit_edge": 0.0,
          "exit_velocity_edge": -0.68,
          "sweet_spot_edge": -0.05,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "665161",
        "player_name": "Jeremy Peña",
        "offense_factor": 1.0252,
        "quality_score": 0.3358,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "665161",
          "espn_id": 41273,
          "player_name": "Jeremy Pena",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 48,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 48,
            "gp_value": 82.0,
            "gp_rank": "251",
            "ab_value": 325.0,
            "ab_rank": "176",
            "r_value": 63.0,
            "r_rank": "71",
            "h_value": 93.0,
            "h_rank": "133",
            "avg_value": 0.2861538,
            "avg_rank": null,
            "2b_value": 15.0,
            "2b_rank": "171",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 15.0,
            "hr_rank": "104",
            "rbi_value": 43.0,
            "rbi_rank": "160",
            "tb_value": 155.0,
            "tb_rank": "872",
            "bb_value": 21.0,
            "bb_rank": "255",
            "so_value": 75.0,
            "so_rank": "176",
            "sb_value": 8.0,
            "sb_rank": "107",
            "obp_value": 0.338983,
            "obp_rank": "-",
            "slg_value": 0.476923,
            "slg_rank": "-",
            "ops_value": 0.815906,
            "ops_rank": null,
            "war_value": 3.16,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 336.0,
          "k_percent": 21.2,
          "bb_percent": 5.9,
          "woba": 0.354,
          "xwoba": 0.33,
          "xba": 0.277,
          "xslg": 0.42,
          "sweet_spot_percent": 32.5,
          "barrel_batted_rate": 6.0,
          "hard_hit_percent": 39.7,
          "exit_velocity_avg": 88.4,
          "launch_angle_avg": 12.1,
          "whiff_percent": 30.9,
          "swing_percent": 54.8
        },
        "components": {
          "expected_quality": 0.5021,
          "regression_edge": -0.6857,
          "xwoba_edge": 0.8,
          "xba_edge": 1.1714,
          "xslg_edge": 0.7571,
          "barrel_edge": -0.1556,
          "hard_hit_edge": 0.2714,
          "exit_velocity_edge": -0.08,
          "sweet_spot_edge": -0.1333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "666211",
        "player_name": "Taylor Trammell",
        "offense_factor": 0.9993,
        "quality_score": -0.0088,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "666211",
          "espn_id": 37773,
          "player_name": "Taylor Trammell",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 568,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 568,
            "gp_value": 74.0,
            "gp_rank": "289",
            "ab_value": 189.0,
            "ab_rank": "309",
            "r_value": 26.0,
            "r_rank": "280",
            "h_value": 40.0,
            "h_rank": "322",
            "avg_value": 0.2116402,
            "avg_rank": null,
            "2b_value": 6.0,
            "2b_rank": "343",
            "3b_value": 2.0,
            "3b_rank": "64",
            "hr_value": 7.0,
            "hr_rank": "231",
            "rbi_value": 20.0,
            "rbi_rank": "327",
            "tb_value": 71.0,
            "tb_rank": "1486",
            "bb_value": 20.0,
            "bb_rank": "263",
            "so_value": 68.0,
            "so_rank": "207",
            "sb_value": 3.0,
            "sb_rank": "223",
            "obp_value": 0.3004694,
            "obp_rank": "-",
            "slg_value": 0.3756613,
            "slg_rank": "-",
            "ops_value": 0.6761307,
            "ops_rank": null,
            "war_value": -0.4,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 201.0,
          "k_percent": 31.8,
          "bb_percent": 9.3,
          "woba": 0.3,
          "xwoba": 0.299,
          "xba": 0.198,
          "xslg": 0.392,
          "sweet_spot_percent": 27.0,
          "barrel_batted_rate": 12.3,
          "hard_hit_percent": 37.7,
          "exit_velocity_avg": 88.9,
          "launch_angle_avg": 13.8,
          "whiff_percent": 39.1,
          "swing_percent": 47.9
        },
        "components": {
          "expected_quality": -0.0065,
          "regression_edge": -0.0286,
          "xwoba_edge": -0.0857,
          "xba_edge": -1.0857,
          "xslg_edge": 0.3571,
          "barrel_edge": 1.2444,
          "hard_hit_edge": -0.0143,
          "exit_velocity_edge": 0.12,
          "sweet_spot_edge": -1.05,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "572233",
        "player_name": "Christian Walker",
        "offense_factor": 1.0024,
        "quality_score": 0.032,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "572233",
          "espn_id": 32758,
          "player_name": "Christian Walker",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 118,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 118,
            "gp_value": 127.0,
            "gp_rank": "45",
            "ab_value": 468.0,
            "ab_rank": "60",
            "r_value": 62.0,
            "r_rank": "77",
            "h_value": 108.0,
            "h_rank": "88",
            "avg_value": 0.2307692,
            "avg_rank": 121.0,
            "2b_value": 24.0,
            "2b_rank": "46",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 23.0,
            "hr_rank": "27",
            "rbi_value": 72.0,
            "rbi_rank": "32",
            "tb_value": 203.0,
            "tb_rank": "471",
            "bb_value": 43.0,
            "bb_rank": "91",
            "so_value": 124.0,
            "so_rank": "42",
            "sb_value": 0.0,
            "sb_rank": "421",
            "obp_value": 0.3065134,
            "obp_rank": "118",
            "slg_value": 0.4337606,
            "slg_rank": "63",
            "ops_value": 0.740274,
            "ops_rank": 181.0,
            "war_value": 1.77,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 498.0,
          "k_percent": 23.8,
          "bb_percent": 8.2,
          "woba": 0.322,
          "xwoba": 0.302,
          "xba": 0.226,
          "xslg": 0.385,
          "sweet_spot_percent": 31.5,
          "barrel_batted_rate": 9.2,
          "hard_hit_percent": 41.0,
          "exit_velocity_avg": 89.2,
          "launch_angle_avg": 14.0,
          "whiff_percent": 29.9,
          "swing_percent": 50.5
        },
        "components": {
          "expected_quality": 0.1303,
          "regression_edge": -0.5714,
          "xwoba_edge": 0.0,
          "xba_edge": -0.2857,
          "xslg_edge": 0.2571,
          "barrel_edge": 0.5556,
          "hard_hit_edge": 0.4571,
          "exit_velocity_edge": 0.24,
          "sweet_spot_edge": -0.3,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "RF",
        "player_id": "701358",
        "player_name": "Cam Smith",
        "offense_factor": 1.0468,
        "quality_score": 0.6246,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "701358",
          "espn_id": 5080766,
          "player_name": "Cam Smith",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 236,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 236,
            "gp_value": 129.0,
            "gp_rank": "28",
            "ab_value": 420.0,
            "ab_rank": "103",
            "r_value": 56.0,
            "r_rank": "105",
            "h_value": 91.0,
            "h_rank": "136",
            "avg_value": 0.2166666,
            "avg_rank": 140.0,
            "2b_value": 15.0,
            "2b_rank": "171",
            "3b_value": 4.0,
            "3b_rank": "17",
            "hr_value": 17.0,
            "hr_rank": "73",
            "rbi_value": 48.0,
            "rbi_rank": "129",
            "tb_value": 165.0,
            "tb_rank": "560",
            "bb_value": 36.0,
            "bb_rank": "135",
            "so_value": 117.0,
            "so_rank": "55",
            "sb_value": 10.0,
            "sb_rank": "75",
            "obp_value": 0.284188,
            "obp_rank": "149",
            "slg_value": 0.3928571,
            "slg_rank": "109",
            "ops_value": 0.6770451,
            "ops_rank": 40.0,
            "war_value": 0.73,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 444.0,
          "k_percent": 24.9,
          "bb_percent": 7.7,
          "woba": 0.296,
          "xwoba": 0.324,
          "xba": 0.242,
          "xslg": 0.431,
          "sweet_spot_percent": 29.8,
          "barrel_batted_rate": 11.4,
          "hard_hit_percent": 44.7,
          "exit_velocity_avg": 89.4,
          "launch_angle_avg": 11.7,
          "whiff_percent": 29.6,
          "swing_percent": 48.6
        },
        "components": {
          "expected_quality": 0.596,
          "regression_edge": 0.8,
          "xwoba_edge": 0.6286,
          "xba_edge": 0.1714,
          "xslg_edge": 0.9143,
          "barrel_edge": 1.0444,
          "hard_hit_edge": 0.9857,
          "exit_velocity_edge": 0.32,
          "sweet_spot_edge": -0.5833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "3B",
        "player_id": "670623",
        "player_name": "Isaac Paredes",
        "offense_factor": 1.0022,
        "quality_score": 0.0293,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "670623",
          "espn_id": 39706,
          "player_name": "Isaac Paredes",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 54,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 54,
            "gp_value": 125.0,
            "gp_rank": "65",
            "ab_value": 456.0,
            "ab_rank": "76",
            "r_value": 50.0,
            "r_rank": "129",
            "h_value": 119.0,
            "h_rank": "58",
            "avg_value": 0.2609649,
            "avg_rank": 64.0,
            "2b_value": 23.0,
            "2b_rank": "57",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 17.0,
            "hr_rank": "73",
            "rbi_value": 72.0,
            "rbi_rank": "32",
            "tb_value": 195.0,
            "tb_rank": "590",
            "bb_value": 53.0,
            "bb_rank": "53",
            "so_value": 70.0,
            "so_rank": "199",
            "sb_value": 0.0,
            "sb_rank": "421",
            "obp_value": 0.3559322,
            "obp_rank": "38",
            "slg_value": 0.4276315,
            "slg_rank": "70",
            "ops_value": 0.7835637,
            "ops_rank": 108.0,
            "war_value": 3.04,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 504.0,
          "k_percent": 13.2,
          "bb_percent": 10.0,
          "woba": 0.347,
          "xwoba": 0.323,
          "xba": 0.25,
          "xslg": 0.373,
          "sweet_spot_percent": 38.9,
          "barrel_batted_rate": 5.1,
          "hard_hit_percent": 28.1,
          "exit_velocity_avg": 85.9,
          "launch_angle_avg": 23.6,
          "whiff_percent": 15.4,
          "swing_percent": 43.7
        },
        "components": {
          "expected_quality": 0.1456,
          "regression_edge": -0.6857,
          "xwoba_edge": 0.6,
          "xba_edge": 0.4,
          "xslg_edge": 0.0857,
          "barrel_edge": -0.3556,
          "hard_hit_edge": -1.3857,
          "exit_velocity_edge": -1.08,
          "sweet_spot_edge": 0.9333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "543877",
        "player_name": "Christian Vázquez",
        "offense_factor": 0.9083,
        "quality_score": -1.2223,
        "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": 244,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 244,
            "gp_value": 76.0,
            "gp_rank": "281",
            "ab_value": 217.0,
            "ab_rank": "279",
            "r_value": 21.0,
            "r_rank": "321",
            "h_value": 47.0,
            "h_rank": "291",
            "avg_value": 0.2165898,
            "avg_rank": null,
            "2b_value": 7.0,
            "2b_rank": "319",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 7.0,
            "hr_rank": "231",
            "rbi_value": 25.0,
            "rbi_rank": "279",
            "tb_value": 75.0,
            "tb_rank": "1865",
            "bb_value": 17.0,
            "bb_rank": "300",
            "so_value": 46.0,
            "so_rank": "304",
            "sb_value": 1.0,
            "sb_rank": "315",
            "obp_value": 0.2723404,
            "obp_rank": "-",
            "slg_value": 0.3456221,
            "slg_rank": "-",
            "ops_value": 0.6179625,
            "ops_rank": null,
            "war_value": 0.67,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 225.0,
          "k_percent": 19.2,
          "bb_percent": 7.1,
          "woba": 0.272,
          "xwoba": 0.241,
          "xba": 0.199,
          "xslg": 0.278,
          "sweet_spot_percent": 32.2,
          "barrel_batted_rate": 2.3,
          "hard_hit_percent": 23.2,
          "exit_velocity_avg": 86.0,
          "launch_angle_avg": 14.9,
          "whiff_percent": 19.6,
          "swing_percent": 47.8
        },
        "components": {
          "expected_quality": -1.2771,
          "regression_edge": -0.8857,
          "xwoba_edge": -1.7429,
          "xba_edge": -1.0571,
          "xslg_edge": -1.2714,
          "barrel_edge": -0.9778,
          "hard_hit_edge": -2.0857,
          "exit_velocity_edge": -1.04,
          "sweet_spot_edge": -0.1833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "514888",
        "player_name": "Jose Altuve",
        "offense_factor": 0.9476,
        "quality_score": -0.6982,
        "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": 340,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 340,
            "gp_value": 106.0,
            "gp_rank": "159",
            "ab_value": 409.0,
            "ab_rank": "108",
            "r_value": 58.0,
            "r_rank": "95",
            "h_value": 101.0,
            "h_rank": "110",
            "avg_value": 0.2469437,
            "avg_rank": 92.0,
            "2b_value": 16.0,
            "2b_rank": "155",
            "3b_value": 2.0,
            "3b_rank": "64",
            "hr_value": 14.0,
            "hr_rank": "112",
            "rbi_value": 40.0,
            "rbi_rank": "173",
            "tb_value": 163.0,
            "tb_rank": "509",
            "bb_value": 36.0,
            "bb_rank": "135",
            "so_value": 93.0,
            "so_rank": "112",
            "sb_value": 4.0,
            "sb_rank": "192",
            "obp_value": 0.3095768,
            "obp_rank": "113",
            "slg_value": 0.398533,
            "slg_rank": "101",
            "ops_value": 0.7081098,
            "ops_rank": 214.0,
            "war_value": 0.17,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 423.0,
          "k_percent": 20.7,
          "bb_percent": 8.0,
          "woba": 0.311,
          "xwoba": 0.273,
          "xba": 0.221,
          "xslg": 0.326,
          "sweet_spot_percent": 31.7,
          "barrel_batted_rate": 4.7,
          "hard_hit_percent": 32.0,
          "exit_velocity_avg": 85.2,
          "launch_angle_avg": 9.2,
          "whiff_percent": 22.1,
          "swing_percent": 48.0
        },
        "components": {
          "expected_quality": -0.6351,
          "regression_edge": -1.0857,
          "xwoba_edge": -0.8286,
          "xba_edge": -0.4286,
          "xslg_edge": -0.5857,
          "barrel_edge": -0.4444,
          "hard_hit_edge": -0.8286,
          "exit_velocity_edge": -1.36,
          "sweet_spot_edge": -0.2667,
          "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 HOUTrue2870.01200.45000.99900.99920.99640.9973neutral0.30600.306019.508.8027.406.3040
Home NYYTrue430.266310.97741.00910.92201.0186neutral0.28200.285026.605.3022.208.1042.30

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away HOUTrueNone8088.15232900000000-0.0950
Home NYYTrueNone9292.082364000000000.1251
Run FactorValue
away_runs_vs_home_pitcher0.9897
home_runs_vs_away_pitcher1.0016
home_pitcher_starter_only_factor0.9774
away_pitcher_starter_only_factor0.9996
home_pitcher_workload_share0.6667
away_pitcher_workload_share0.5926
home_pitcher_quality_edge0.1704
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "543037",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 348.0,
      "k_percent": 26.6,
      "bb_percent": 5.3,
      "woba": 0.285,
      "xwoba": 0.282,
      "sweet_spot_percent": 34.4,
      "barrel_batted_rate": 8.1,
      "hard_hit_percent": 42.3,
      "avg_best_speed": 80.7584,
      "avg_hyper_speed": 94.0837,
      "whiff_percent": 22.2,
      "swing_percent": 48.6
    },
    "league_medians": {
      "pa": 123.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.316,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.4,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.8,
      "avg_best_speed": 77.614,
      "avg_hyper_speed": 93.9187,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.2841,
      "command_and_miss": 0.3407,
      "regression_edge": 0.0857,
      "xwoba_edge": 0.8286,
      "barrel_edge": -0.2222,
      "hard_hit_edge": -0.6429,
      "whiff_edge": -0.4286,
      "bb_edge": 0.975,
      "pitch_design_score": 0.1251
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "543037",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 92,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 92,
        "pitch_usage": 0.0,
        "release_speed": 92.0825980662545,
        "release_spin_rate": 2363.5792056180953,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 92,
          "pitch_usage": 0.0,
          "release_speed": 92.0825980662545,
          "release_spin_rate": 2363.5792056180953,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.0826,
        "release_spin_rate": 2363.5792,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.1251,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 0.8939,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -0.0
      },
      "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
    },
    "quality_score": 0.2663,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9774,
    "strikeout_factor": 1.0091,
    "walk_factor": 0.922,
    "homer_factor": 1.0186,
    "woba_minus_xwoba": 0.003,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "543037",
      "espn_id": 32081,
      "player_name": "Gerrit Cole",
      "team": "NYY",
      "role": "pitcher",
      "espn_rank": 43,
      "espn_total_ranked": 831,
      "metrics": {
        "espn_rank": 43,
        "gp_value": 16.0,
        "gp_rank": 419,
        "gs_value": 16.0,
        "gs_rank": 117,
        "qs_value": 10.0,
        "qs_rank": 50,
        "era_value": 3.1079,
        "era_rank": null,
        "w_value": 7.0,
        "w_rank": 73,
        "l_value": 6.0,
        "l_rank": 97,
        "sv_value": 0.0,
        "sv_rank": 241,
        "hld_value": 0.0,
        "hld_rank": 331,
        "ip_value": 92.2,
        "ip_rank": 121,
        "h_value": 79.0,
        "h_rank": 135,
        "er_value": 32.0,
        "er_rank": 166,
        "hr_value": 12.0,
        "hr_rank": 119,
        "bb_value": 20.0,
        "bb_rank": 262,
        "k_value": 100.0,
        "k_rank": 87,
        "k_per_9_value": 9.712231,
        "k_per_9_rank": 19.0,
        "whip_value": 1.0683,
        "whip_rank": null,
        "war_value": 2.52,
        "war_rank": null
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "669713",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 94.0,
      "k_percent": 19.5,
      "bb_percent": 8.8,
      "woba": 0.306,
      "xwoba": 0.306,
      "sweet_spot_percent": 33.8,
      "barrel_batted_rate": 6.3,
      "hard_hit_percent": 40.0,
      "avg_best_speed": 78.6543,
      "avg_hyper_speed": 94.2732,
      "whiff_percent": 27.4,
      "swing_percent": 50.5
    },
    "league_medians": {
      "pa": 123.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.316,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.4,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.8,
      "avg_best_speed": 77.614,
      "avg_hyper_speed": 93.9187,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.0756,
      "command_and_miss": -0.0307,
      "regression_edge": 0.0,
      "xwoba_edge": 0.1429,
      "barrel_edge": 0.1778,
      "hard_hit_edge": -0.3143,
      "whiff_edge": 0.3143,
      "bb_edge": 0.1,
      "pitch_design_score": -0.095
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "669713",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 80,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 80,
        "pitch_usage": 0.0,
        "release_speed": 88.15057794740576,
        "release_spin_rate": 2328.6168589392373,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 80,
          "pitch_usage": 0.0,
          "release_speed": 88.15057794740576,
          "release_spin_rate": 2328.6168589392373,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        }
      ],
      "summary": {
        "release_speed": 88.1506,
        "release_spin_rate": 2328.6169,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.095,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.6789,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -0.0
      },
      "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
    },
    "quality_score": 0.012,
    "sample_weight": 0.45,
    "run_prevention_factor": 0.999,
    "strikeout_factor": 0.9992,
    "walk_factor": 0.9964,
    "homer_factor": 0.9973,
    "woba_minus_xwoba": 0.0,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "669713",
      "espn_id": 42996,
      "player_name": "Hayden Wesneski",
      "team": "HOU",
      "role": "pitcher",
      "espn_rank": 287,
      "espn_total_ranked": 831,
      "metrics": {
        "espn_rank": 287,
        "gp_value": 5.0,
        "gp_rank": 600,
        "gs_value": 5.0,
        "gs_rank": 209,
        "qs_value": 2.0,
        "qs_rank": 153,
        "era_value": 4.2289,
        "era_rank": null,
        "w_value": 3.0,
        "w_rank": 226,
        "l_value": 1.0,
        "l_rank": 403,
        "sv_value": 0.0,
        "sv_rank": 241,
        "hld_value": 0.0,
        "hld_rank": 331,
        "ip_value": 27.2,
        "ip_rank": 432,
        "h_value": 24.0,
        "h_rank": 444,
        "er_value": 13.0,
        "er_rank": 423,
        "hr_value": 2.0,
        "hr_rank": 486,
        "bb_value": 10.0,
        "bb_rank": 455,
        "k_value": 22.0,
        "k_rank": 445,
        "k_per_9_value": 7.1566267,
        "k_per_9_rank": 27.0,
        "whip_value": 1.2289,
        "whip_rank": null,
        "war_value": 0.34,
        "war_rank": null
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.9897,
    "home_runs_vs_away_pitcher": 1.0016,
    "home_pitcher_starter_only_factor": 0.9774,
    "away_pitcher_starter_only_factor": 0.9996,
    "home_pitcher_workload_share": 0.6667,
    "away_pitcher_workload_share": 0.5926,
    "home_pitcher_quality_edge": 0.1704
  },
  "score_before": {
    "away_runs": 2.6813,
    "home_runs": 5.6587
  },
  "score_after": {
    "away_runs": 2.6537,
    "home_runs": 5.6678,
    "home_win_probability": 0.7593
  },
  "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 HOU4-60.4004.606.10-151Waverageweak
Home NYY6-40.6004.103.2091Laveragestrong

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away HOU66-660.500-42-0.318True
Home NYY74-570.565980.748True
Signal--1.0660.920applied=True

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-08-25HOU @ NYY9 - 7HOU2close
2026-04-26NYY @ HOU4 - 7HOU3blowout
2026-04-25NYY @ HOU8 - 3NYY5blowout
2026-04-24NYY @ HOU12 - 4NYY8blowout

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target HOU--4----
Game target NYY--5----
Player finalized HOU37841438
Player finalized NYY33852548
Player model fractional HOU33.997.874.141.244.123.097.70
Player model fractional NYY32.288.004.661.484.903.448.07
Simulation box HOU325424212
Simulation box NYY33852546

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 HOUStarterHayden Wesneski5.1025234.371.29True
Away HOUCloserJosh Hader101001.990.91True
Away HOUSetup ManSteven Okert100203.281.07True
Away HOUMiddle Reliever (High Leverage)Bryan Abreu0.2030413.131.44True
Home NYYStarterGerrit Cole628222.811.10True
Home NYYSetup ManBrent Headrick100004.671.52True
Home NYYCloserDavid Bednar122201.890.88True
Home NYYMiddle Reliever (High Leverage)Fernando Cruz102105.391.29True
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
homeNYYbatterDHBen Ricebetter105564predicted_RBI3.3100boostbetter
awayHOUbatter2BJose Altuveworse1019010predicted_SO2.1140boostworse
awayHOUbatterCFDaulton Varshoworse114738predicted_RBI1.6100boostbetter
awayHOUbatterDHYordan Alvarezworse112938predicted_H-1.5400deboostworse
awayHOUbatterLFTaylor Trammellneutral105555predicted_H1.4120boostbetter
homeNYYbatterLFCody Bellingerworse1129110predicted_SO1.3430boostworse
awayHOUbatterSSJeremy Peñaworse1019010predicted_H-1.2800deboostworse
homeNYYbatter3BJosé Caballeroworse114738predicted_H1.2380boostbetter
homeNYYbatter2BJazz Chisholm Jr.deboosted104655predicted_SO-1.1930deboostbetter
homeNYYbatterRFSpencer Jonesbetter108291predicted_SO-1.1640deboostbetter
awayHOUbatter1BChristian Walkerworse104646predicted_H1.0700boostbetter
awayHOUbatterRFCam Smithworse1129110predicted_SO1.0250boostworse
awayHOUbatter3BIsaac Paredesworse101928predicted_H-0.9900deboostworse
homeNYYbatterSSGeorge Lombard Jr.better94554predicted_AB-0.9700deboostworse
homeNYYbatter1BLuis García Jr.worse93627predicted_RBI-0.9500deboostworse
awayHOUbatterCChristian Vázquezworse102819predicted_AB-0.9320deboostworse
homeNYYbatterCAustin Wellsworse102837predicted_SO-0.8510deboostbetter
homeNYYbatterCFTrent Grishamworse105546predicted_RBI-0.6400deboostworse
awayHOUpitcherMiddle Reliever (High Leverage)Bryan Abreuworse10101predicted_IP-0.4667deboostworse
awayHOUpitcherStarterHayden Wesneskiworse10101predicted_IP-0.2333deboostworse

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

Away Team: HOU

Away Pitcher Deep Analysis

FieldValue
PitcherHayden Wesneski
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.0120
ESPN Rank287
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0950
Avg Velo88.1506
Avg Spin2328.6169
HB Inches0
IVB Inches0
Release Extension0
Pre IP5.1000
Pre ER2
Pre H2
Pre BB3
Pre SO5
Season ERA4.2289
Season WHIP1.2289
Role Avg IP5.5330
Recent Avg IP5.5330
Last Start IP5
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "HOU",
    "games": 132,
    "wins": 66,
    "losses": 66,
    "win_pct": 0.5,
    "runs_scored": 605.0,
    "runs_allowed": 647.0,
    "run_differential": -42.0,
    "run_differential_per_game": -0.3182,
    "avg_runs_scored": 4.5833,
    "avg_runs_allowed": 4.9015,
    "offense_index": 1.0232,
    "defense_index": 0.9139,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 6.1,
      "run_differential": -15.0
    },
    "available": true,
    "quality_score": -0.0741
  },
  "opponent": {
    "team": "NYY",
    "games": 131,
    "wins": 74,
    "losses": 57,
    "win_pct": 0.5649,
    "runs_scored": 586.0,
    "runs_allowed": 488.0,
    "run_differential": 98.0,
    "run_differential_per_game": 0.7481,
    "avg_runs_scored": 4.4733,
    "avg_runs_allowed": 3.7252,
    "offense_index": 0.9986,
    "defense_index": 1.2025,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.2,
      "run_differential": 9.0
    },
    "available": true,
    "quality_score": 0.182
  },
  "edges": {
    "quality_edge": -0.2561,
    "offense_edge": 0.0232,
    "opponent_offense_edge": -0.0014,
    "defense_strength": -0.0861,
    "opponent_defense_weakness": -0.2025,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 0.9872,
    "run_prevention": 1.0212,
    "strikeout": 0.9924
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "669713",
    "profile": {
      "available": true,
      "pitcher_id": "669713",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 94.0,
        "k_percent": 19.5,
        "bb_percent": 8.8,
        "woba": 0.306,
        "xwoba": 0.306,
        "sweet_spot_percent": 33.8,
        "barrel_batted_rate": 6.3,
        "hard_hit_percent": 40.0,
        "avg_best_speed": 78.6543,
        "avg_hyper_speed": 94.2732,
        "whiff_percent": 27.4,
        "swing_percent": 50.5
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.0756,
        "command_and_miss": -0.0307,
        "regression_edge": 0.0,
        "xwoba_edge": 0.1429,
        "barrel_edge": 0.1778,
        "hard_hit_edge": -0.3143,
        "whiff_edge": 0.3143,
        "bb_edge": 0.1,
        "pitch_design_score": -0.095
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "669713",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 80,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 80,
          "pitch_usage": 0.0,
          "release_speed": 88.15057794740576,
          "release_spin_rate": 2328.6168589392373,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 80,
            "pitch_usage": 0.0,
            "release_speed": 88.15057794740576,
            "release_spin_rate": 2328.6168589392373,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 88.1506,
          "release_spin_rate": 2328.6169,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.095,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.6789,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.012,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.999,
      "strikeout_factor": 0.9992,
      "walk_factor": 0.9964,
      "homer_factor": 0.9973,
      "woba_minus_xwoba": 0.0,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "669713",
        "espn_id": 42996,
        "player_name": "Hayden Wesneski",
        "team": "HOU",
        "role": "pitcher",
        "espn_rank": 287,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 287,
          "gp_value": 5.0,
          "gp_rank": 600,
          "gs_value": 5.0,
          "gs_rank": 209,
          "qs_value": 2.0,
          "qs_rank": 153,
          "era_value": 4.2289,
          "era_rank": null,
          "w_value": 3.0,
          "w_rank": 226,
          "l_value": 1.0,
          "l_rank": 403,
          "sv_value": 0.0,
          "sv_rank": 241,
          "hld_value": 0.0,
          "hld_rank": 331,
          "ip_value": 27.2,
          "ip_rank": 432,
          "h_value": 24.0,
          "h_rank": 444,
          "er_value": 13.0,
          "er_rank": 423,
          "hr_value": 2.0,
          "hr_rank": 486,
          "bb_value": 10.0,
          "bb_rank": 455,
          "k_value": 22.0,
          "k_rank": 445,
          "k_per_9_value": 7.1566267,
          "k_per_9_rank": 27.0,
          "whip_value": 1.2289,
          "whip_rank": null,
          "war_value": 0.34,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 3.0,
        "factor": 0.9996,
        "adjusted": 3
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 0.9996,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.9984,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9988,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 4.0,
        "factor": 0.9996,
        "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": "insufficient_data"
  },
  "pitching": {
    "IP": 27.2,
    "ER": 13,
    "H": 24,
    "BB": 10,
    "SO": 22,
    "HR": 2,
    "ERA": 4.228915662650603,
    "WHIP": 1.2289156626506024,
    "K9": 7.156626506024096,
    "HR9": 0.6506024096385542,
    "games_pitched": 5,
    "quality_starts": 2,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 5,
    "error_prone": false
  },
  "games_count": 5,
  "latest_game_date": "2026-08-21T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "669713",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 80,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 80,
    "pitch_usage": 0.0,
    "release_speed": 88.15057794740576,
    "release_spin_rate": 2328.6168589392373,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 80,
      "pitch_usage": 0.0,
      "release_speed": 88.15057794740576,
      "release_spin_rate": 2328.6168589392373,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 88.1506,
    "release_spin_rate": 2328.6169,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.095,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.6789,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": 1.0
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 5.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5,
    "prior_weight": 0.5
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "669713",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 5,
  "reference_playing_time": 5.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 27.2,
        "ER": 13.0,
        "R": 13.0,
        "H": 24.0,
        "BB": 10.0,
        "SO": 22.0,
        "HR": 2.0,
        "BF": 113.0,
        "Pitches": 412.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 2.6,
        "R": 2.6,
        "H": 4.8,
        "BB": 2.0,
        "SO": 4.4,
        "HR": 0.4,
        "BF": 22.6,
        "Pitches": 82.4
      },
      "rates": {
        "ERA": 4.2289,
        "WHIP": 1.2289,
        "ER_per_IP": 0.46988,
        "H_per_IP": 0.86747,
        "BB_per_IP": 0.36145,
        "SO_per_IP": 0.79518,
        "HR_per_IP": 0.07229
      }
    },
    "last_10": {
      "games": 5,
      "totals": {
        "IP": 27.2,
        "ER": 13.0,
        "R": 13.0,
        "H": 24.0,
        "BB": 10.0,
        "SO": 22.0,
        "HR": 2.0,
        "BF": 113.0,
        "Pitches": 412.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 2.6,
        "R": 2.6,
        "H": 4.8,
        "BB": 2.0,
        "SO": 4.4,
        "HR": 0.4,
        "BF": 22.6,
        "Pitches": 82.4
      },
      "rates": {
        "ERA": 4.2289,
        "WHIP": 1.2289,
        "ER_per_IP": 0.46988,
        "H_per_IP": 0.86747,
        "BB_per_IP": 0.36145,
        "SO_per_IP": 0.79518,
        "HR_per_IP": 0.07229
      }
    },
    "season": {
      "games": 5,
      "totals": {
        "IP": 27.2,
        "ER": 13.0,
        "R": 13.0,
        "H": 24.0,
        "BB": 10.0,
        "SO": 22.0,
        "HR": 2.0,
        "BF": 113.0,
        "Pitches": 412.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 2.6,
        "R": 2.6,
        "H": 4.8,
        "BB": 2.0,
        "SO": 4.4,
        "HR": 0.4,
        "BF": 22.6,
        "Pitches": 82.4
      },
      "rates": {
        "ERA": 4.2289,
        "WHIP": 1.2289,
        "ER_per_IP": 0.46988,
        "H_per_IP": 0.86747,
        "BB_per_IP": 0.36145,
        "SO_per_IP": 0.79518,
        "HR_per_IP": 0.07229
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.1,
    "predicted_ER": 2.669,
    "predicted_H": 5.066,
    "predicted_BB": 2.005,
    "predicted_SO": 4.787,
    "predicted_HR": 0.602,
    "predicted_ERA": 4.3676,
    "predicted_WHIP": 1.2857
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5613,
  "form_weight": 0.4388,
  "form_reliability": 0.5,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 5.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5,
    "prior_weight": 0.5
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.1,
      "form": 5.1,
      "final": 5.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 2.669,
      "final": 2.2935,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 5.066,
      "final": 3.3452,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 3.0,
      "form": 2.005,
      "final": 2.5634,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 5.0,
      "form": 4.787,
      "final": 4.9065,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.602,
      "final": 0.2641,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.3676,
      "final": 4.3676,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2857,
      "final": 1.2857,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherJosh Hader
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5444
ESPN Rank56
Movement AvailableTrue
Primary Pitch-
Movement Score0.0523
Avg Velo90.7816
Avg Spin2353.4071
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA0.5400
Season WHIP0.6300
Role Avg IP1.0100
Recent Avg IP1.0670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "HOU",
    "games": 132,
    "wins": 66,
    "losses": 66,
    "win_pct": 0.5,
    "runs_scored": 605.0,
    "runs_allowed": 647.0,
    "run_differential": -42.0,
    "run_differential_per_game": -0.3182,
    "avg_runs_scored": 4.5833,
    "avg_runs_allowed": 4.9015,
    "offense_index": 1.0232,
    "defense_index": 0.9139,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 6.1,
      "run_differential": -15.0
    },
    "available": true,
    "quality_score": -0.0741
  },
  "opponent": {
    "team": "NYY",
    "games": 131,
    "wins": 74,
    "losses": 57,
    "win_pct": 0.5649,
    "runs_scored": 586.0,
    "runs_allowed": 488.0,
    "run_differential": 98.0,
    "run_differential_per_game": 0.7481,
    "avg_runs_scored": 4.4733,
    "avg_runs_allowed": 3.7252,
    "offense_index": 0.9986,
    "defense_index": 1.2025,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.2,
      "run_differential": 9.0
    },
    "available": true,
    "quality_score": 0.182
  },
  "edges": {
    "quality_edge": -0.2561,
    "offense_edge": 0.0232,
    "opponent_offense_edge": -0.0014,
    "defense_strength": -0.0861,
    "opponent_defense_weakness": -0.2025,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 0.9872,
    "run_prevention": 1.0212,
    "strikeout": 0.9924
  },
  "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": 117.0,
        "k_percent": 35.5,
        "bb_percent": 8.9,
        "woba": 0.171,
        "xwoba": 0.217,
        "sweet_spot_percent": 26.1,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 34.8,
        "avg_best_speed": 74.7667,
        "avg_hyper_speed": 93.0158,
        "whiff_percent": 36.7,
        "swing_percent": 53.3
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.6276,
        "command_and_miss": 1.4579,
        "regression_edge": -1.3143,
        "xwoba_edge": 2.5,
        "barrel_edge": -0.0222,
        "hard_hit_edge": 0.4286,
        "whiff_edge": 1.6429,
        "bb_edge": 0.075,
        "pitch_design_score": 0.0523
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "623352",
        "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.78159029464989,
          "release_spin_rate": 2353.4070848094243,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.78159029464989,
            "release_spin_rate": 2353.4070848094243,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.7816,
          "release_spin_rate": 2353.4071,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0523,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.3735,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.5444,
      "sample_weight": 0.468,
      "run_prevention_factor": 0.9537,
      "strikeout_factor": 1.0669,
      "walk_factor": 0.9972,
      "homer_factor": 0.9577,
      "woba_minus_xwoba": -0.046,
      "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": 56,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 56,
          "gp_value": 34.0,
          "gp_rank": 183,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 0.81,
          "era_rank": null,
          "w_value": 4.0,
          "w_rank": 175,
          "l_value": 1.0,
          "l_rank": 403,
          "sv_value": 19.0,
          "sv_rank": 15,
          "hld_value": 0.0,
          "hld_rank": 331,
          "ip_value": 33.1,
          "ip_rank": 389,
          "h_value": 13.0,
          "h_rank": 569,
          "er_value": 3.0,
          "er_rank": 681,
          "hr_value": 1.0,
          "hr_rank": 584,
          "bb_value": 11.0,
          "bb_rank": 431,
          "k_value": 44.0,
          "k_rank": 301,
          "k_per_9_value": 11.88,
          "k_per_9_rank": 20.0,
          "whip_value": 0.72,
          "whip_rank": null,
          "war_value": 2.26,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9783,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9783,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9987,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9802,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0313,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 11.1,
    "ER": 0,
    "H": 3,
    "BB": 1,
    "SO": 11,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.35294117647058826,
    "K9": 8.73529411764706,
    "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-25T00: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": 15,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 15,
    "pitch_usage": 0.0,
    "release_speed": 90.78159029464989,
    "release_spin_rate": 2353.4070848094243,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.78159029464989,
      "release_spin_rate": 2353.4070848094243,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.7816,
    "release_spin_rate": 2353.4071,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0523,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.3735,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.69,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5723,
    "prior_weight": 0.4277
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "623352",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 33,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 3.0,
        "BB": 1.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 20.0,
        "Pitches": 81.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.6,
        "BB": 0.2,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 4.0,
        "Pitches": 16.2
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.75,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.5625,
        "BB_per_IP": 0.1875,
        "SO_per_IP": 1.125,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 3.0,
        "BB": 1.0,
        "SO": 11.0,
        "HR": 0.0,
        "BF": 38.0,
        "Pitches": 148.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.3,
        "BB": 0.1,
        "SO": 1.1,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 14.8
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.3529,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.26471,
        "BB_per_IP": 0.08824,
        "SO_per_IP": 0.97059,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 33,
      "totals": {
        "IP": 33.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 10.0,
        "BB": 11.0,
        "SO": 44.0,
        "HR": 1.0,
        "BF": 121.0,
        "Pitches": 492.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0606,
        "R": 0.0606,
        "H": 0.303,
        "BB": 0.3333,
        "SO": 1.3333,
        "HR": 0.0303,
        "BF": 3.6667,
        "Pitches": 14.9091
      },
      "rates": {
        "ERA": 0.54,
        "WHIP": 0.63,
        "ER_per_IP": 0.06,
        "H_per_IP": 0.3,
        "BB_per_IP": 0.33,
        "SO_per_IP": 1.32,
        "HR_per_IP": 0.03
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.221,
    "predicted_H": 0.649,
    "predicted_BB": 0.261,
    "predicted_SO": 1.04,
    "predicted_HR": 0.066,
    "predicted_ERA": 1.9892,
    "predicted_WHIP": 0.9101
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5307,
  "form_weight": 0.4693,
  "form_reliability": 0.5723,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 6.69,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5723,
    "prior_weight": 0.4277
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.221,
      "final": 0.1037,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.649,
      "final": 0.3046,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.261,
      "final": 0.1225,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.04,
      "final": 1.0188,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.066,
      "final": 0.031,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.9892,
      "final": 1.9892,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9101,
      "final": 0.9101,
      "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
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5581
ESPN Rank60
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2800
Avg Velo84.2314
Avg Spin2358.3859
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H2
Pre BB0
Pre SO0
Season ERA2.2041
Season WHIP0.8724
Role Avg IP1.0100
Recent Avg IP0.9330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "HOU",
    "games": 132,
    "wins": 66,
    "losses": 66,
    "win_pct": 0.5,
    "runs_scored": 605.0,
    "runs_allowed": 647.0,
    "run_differential": -42.0,
    "run_differential_per_game": -0.3182,
    "avg_runs_scored": 4.5833,
    "avg_runs_allowed": 4.9015,
    "offense_index": 1.0232,
    "defense_index": 0.9139,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 6.1,
      "run_differential": -15.0
    },
    "available": true,
    "quality_score": -0.0741
  },
  "opponent": {
    "team": "NYY",
    "games": 131,
    "wins": 74,
    "losses": 57,
    "win_pct": 0.5649,
    "runs_scored": 586.0,
    "runs_allowed": 488.0,
    "run_differential": 98.0,
    "run_differential_per_game": 0.7481,
    "avg_runs_scored": 4.4733,
    "avg_runs_allowed": 3.7252,
    "offense_index": 0.9986,
    "defense_index": 1.2025,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.2,
      "run_differential": 9.0
    },
    "available": true,
    "quality_score": 0.182
  },
  "edges": {
    "quality_edge": -0.2561,
    "offense_edge": 0.0232,
    "opponent_offense_edge": -0.0014,
    "defense_strength": -0.0861,
    "opponent_defense_weakness": -0.2025,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 0.9872,
    "run_prevention": 1.0212,
    "strikeout": 0.9924
  },
  "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": 235.0,
        "k_percent": 26.2,
        "bb_percent": 5.6,
        "woba": 0.25,
        "xwoba": 0.269,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 6.0,
        "hard_hit_percent": 35.7,
        "avg_best_speed": 76.5816,
        "avg_hyper_speed": 93.2954,
        "whiff_percent": 30.7,
        "swing_percent": 50.1
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.8606,
        "command_and_miss": 0.725,
        "regression_edge": -0.5429,
        "xwoba_edge": 1.2,
        "barrel_edge": 0.2444,
        "hard_hit_edge": 0.3,
        "whiff_edge": 0.7857,
        "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.23144184971805,
          "release_spin_rate": 2358.3858562449996,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.23144184971805,
            "release_spin_rate": 2358.3858562449996,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.2314,
          "release_spin_rate": 2358.3859,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.5581,
      "sample_weight": 0.94,
      "run_prevention_factor": 0.9526,
      "strikeout_factor": 1.0521,
      "walk_factor": 0.9323,
      "homer_factor": 0.9365,
      "woba_minus_xwoba": -0.019,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "595345",
        "espn_id": 33716,
        "player_name": "Steven Okert",
        "team": "HOU",
        "role": "pitcher",
        "espn_rank": 60,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 60,
          "gp_value": 65.0,
          "gp_rank": 4,
          "gs_value": 1.0,
          "gs_rank": 290,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 2.204,
          "era_rank": null,
          "w_value": 6.0,
          "w_rank": 93,
          "l_value": 2.0,
          "l_rank": 301,
          "sv_value": 0.0,
          "sv_rank": 241,
          "hld_value": 18.0,
          "hld_rank": 17,
          "ip_value": 65.1,
          "ip_rank": 181,
          "h_value": 43.0,
          "h_rank": 267,
          "er_value": 16.0,
          "er_rank": 363,
          "hr_value": 7.0,
          "hr_rank": 212,
          "bb_value": 14.0,
          "bb_rank": 370,
          "k_value": 66.0,
          "k_rank": 171,
          "k_per_9_value": 9.091837,
          "k_per_9_rank": 25.0,
          "whip_value": 0.8724,
          "whip_rank": null,
          "war_value": 2.19,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9554,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9554,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9364,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9403,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.049,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 10.0,
    "ER": 2,
    "H": 7,
    "BB": 2,
    "SO": 9,
    "HR": 1,
    "ERA": 1.8,
    "WHIP": 0.9,
    "K9": 8.1,
    "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-25T00: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.23144184971805,
    "release_spin_rate": 2358.3858562449996,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.23144184971805,
      "release_spin_rate": 2358.3858562449996,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.2314,
    "release_spin_rate": 2358.3859,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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": 13.112,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7239,
    "prior_weight": 0.2761
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "595345",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 65,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.2,
        "ER": 2.0,
        "R": 2.0,
        "H": 3.0,
        "BB": 2.0,
        "SO": 5.0,
        "HR": 1.0,
        "BF": 19.0,
        "Pitches": 79.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.6,
        "BB": 0.4,
        "SO": 1.0,
        "HR": 0.2,
        "BF": 3.8,
        "Pitches": 15.8
      },
      "rates": {
        "ERA": 3.8571,
        "WHIP": 1.0714,
        "ER_per_IP": 0.42857,
        "H_per_IP": 0.64286,
        "BB_per_IP": 0.42857,
        "SO_per_IP": 1.07143,
        "HR_per_IP": 0.21429
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 7.0,
        "BB": 2.0,
        "SO": 9.0,
        "HR": 1.0,
        "BF": 39.0,
        "Pitches": 153.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.7,
        "BB": 0.2,
        "SO": 0.9,
        "HR": 0.1,
        "BF": 3.9,
        "Pitches": 15.3
      },
      "rates": {
        "ERA": 1.8,
        "WHIP": 0.9,
        "ER_per_IP": 0.2,
        "H_per_IP": 0.7,
        "BB_per_IP": 0.2,
        "SO_per_IP": 0.9,
        "HR_per_IP": 0.1
      }
    },
    "season": {
      "games": 65,
      "totals": {
        "IP": 65.1,
        "ER": 16.0,
        "R": 17.0,
        "H": 43.0,
        "BB": 14.0,
        "SO": 66.0,
        "HR": 7.0,
        "BF": 252.0,
        "Pitches": 1014.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2462,
        "R": 0.2615,
        "H": 0.6615,
        "BB": 0.2154,
        "SO": 1.0154,
        "HR": 0.1077,
        "BF": 3.8769,
        "Pitches": 15.6
      },
      "rates": {
        "ERA": 2.2041,
        "WHIP": 0.8724,
        "ER_per_IP": 0.2449,
        "H_per_IP": 0.65816,
        "BB_per_IP": 0.21429,
        "SO_per_IP": 1.0102,
        "HR_per_IP": 0.10714
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.364,
    "predicted_H": 0.751,
    "predicted_BB": 0.323,
    "predicted_SO": 0.984,
    "predicted_HR": 0.151,
    "predicted_ERA": 3.2758,
    "predicted_WHIP": 1.074
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4667,
  "form_weight": 0.5333,
  "form_reliability": 0.7239,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.112,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7239,
    "prior_weight": 0.2761
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.364,
      "final": 0.1941,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.751,
      "final": 1.3338,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.323,
      "final": 0.1723,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.984,
      "final": 0.5248,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.151,
      "final": 0.0805,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.2758,
      "final": 3.2758,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.074,
      "final": 1.074,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherBryan Abreu
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.0446
ESPN Rank231
Movement AvailableTrue
Primary Pitch-
Movement Score0.0645
Avg Velo91.0001
Avg Spin2507.4303
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.2000
Pre ER3
Pre H4
Pre BB1
Pre SO0
Season ERA4.1678
Season WHIP1.4094
Role Avg IP0.9740
Recent Avg IP1.1330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "HOU",
    "games": 132,
    "wins": 66,
    "losses": 66,
    "win_pct": 0.5,
    "runs_scored": 605.0,
    "runs_allowed": 647.0,
    "run_differential": -42.0,
    "run_differential_per_game": -0.3182,
    "avg_runs_scored": 4.5833,
    "avg_runs_allowed": 4.9015,
    "offense_index": 1.0232,
    "defense_index": 0.9139,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 6.1,
      "run_differential": -15.0
    },
    "available": true,
    "quality_score": -0.0741
  },
  "opponent": {
    "team": "NYY",
    "games": 131,
    "wins": 74,
    "losses": 57,
    "win_pct": 0.5649,
    "runs_scored": 586.0,
    "runs_allowed": 488.0,
    "run_differential": 98.0,
    "run_differential_per_game": 0.7481,
    "avg_runs_scored": 4.4733,
    "avg_runs_allowed": 3.7252,
    "offense_index": 0.9986,
    "defense_index": 1.2025,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.2,
      "run_differential": 9.0
    },
    "available": true,
    "quality_score": 0.182
  },
  "edges": {
    "quality_edge": -0.2561,
    "offense_edge": 0.0232,
    "opponent_offense_edge": -0.0014,
    "defense_strength": -0.0861,
    "opponent_defense_weakness": -0.2025,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 0.9872,
    "run_prevention": 1.0212,
    "strikeout": 0.9924
  },
  "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": 198.0,
        "k_percent": 29.0,
        "bb_percent": 16.6,
        "woba": 0.334,
        "xwoba": 0.317,
        "sweet_spot_percent": 34.2,
        "barrel_batted_rate": 6.2,
        "hard_hit_percent": 39.5,
        "avg_best_speed": 81.1479,
        "avg_hyper_speed": 94.1713,
        "whiff_percent": 33.9,
        "swing_percent": 41.6
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.2345,
        "command_and_miss": 0.515,
        "regression_edge": 0.4857,
        "xwoba_edge": -0.1714,
        "barrel_edge": 0.2,
        "hard_hit_edge": -0.2429,
        "whiff_edge": 1.2429,
        "bb_edge": -1.85,
        "pitch_design_score": 0.0645
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "650556",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 21,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 21,
          "pitch_usage": 0.0,
          "release_speed": 91.00008583544682,
          "release_spin_rate": 2507.430278804627,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 21,
            "pitch_usage": 0.0,
            "release_speed": 91.00008583544682,
            "release_spin_rate": 2507.430278804627,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0001,
          "release_spin_rate": 2507.4303,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0645,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.4609,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.0446,
      "sample_weight": 0.792,
      "run_prevention_factor": 0.9962,
      "strikeout_factor": 1.0711,
      "walk_factor": 1.1172,
      "homer_factor": 0.9991,
      "woba_minus_xwoba": 0.017,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "650556",
        "espn_id": 41208,
        "player_name": "Bryan Abreu",
        "team": "HOU",
        "role": "pitcher",
        "espn_rank": 231,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 231,
          "gp_value": 52.0,
          "gp_rank": 65,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 4.1677,
          "era_rank": null,
          "w_value": 5.0,
          "w_rank": 123,
          "l_value": 3.0,
          "l_rank": 219,
          "sv_value": 7.0,
          "sv_rank": 32,
          "hld_value": 10.0,
          "hld_rank": 76,
          "ip_value": 49.2,
          "ip_rank": 277,
          "h_value": 36.0,
          "h_rank": 330,
          "er_value": 23.0,
          "er_rank": 242,
          "hr_value": 7.0,
          "hr_rank": 212,
          "bb_value": 36.0,
          "bb_rank": 90,
          "k_value": 63.0,
          "k_rank": 184,
          "k_per_9_value": 11.416107,
          "k_per_9_rank": 17.0,
          "whip_value": 1.4496,
          "whip_rank": null,
          "war_value": 0.6,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.997,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.997,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.0928,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9993,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0563,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 10.2,
    "ER": 3,
    "H": 7,
    "BB": 8,
    "SO": 14,
    "HR": 0,
    "ERA": 2.53125,
    "WHIP": 1.40625,
    "K9": 11.8125,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-25T00: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": 21,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 21,
    "pitch_usage": 0.0,
    "release_speed": 91.00008583544682,
    "release_spin_rate": 2507.430278804627,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 21,
      "pitch_usage": 0.0,
      "release_speed": 91.00008583544682,
      "release_spin_rate": 2507.430278804627,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0001,
    "release_spin_rate": 2507.4303,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0645,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.4609,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.968,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6659,
    "prior_weight": 0.3341
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "650556",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 51,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 5.0,
        "BB": 4.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 25.0,
        "Pitches": 96.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 1.0,
        "BB": 0.8,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 5.0,
        "Pitches": 19.2
      },
      "rates": {
        "ERA": 1.5882,
        "WHIP": 1.5882,
        "ER_per_IP": 0.17647,
        "H_per_IP": 0.88235,
        "BB_per_IP": 0.70588,
        "SO_per_IP": 1.05882,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.2,
        "ER": 3.0,
        "R": 3.0,
        "H": 7.0,
        "BB": 8.0,
        "SO": 14.0,
        "HR": 0.0,
        "BF": 46.0,
        "Pitches": 189.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3,
        "R": 0.3,
        "H": 0.7,
        "BB": 0.8,
        "SO": 1.4,
        "HR": 0.0,
        "BF": 4.6,
        "Pitches": 18.9
      },
      "rates": {
        "ERA": 2.5312,
        "WHIP": 1.4062,
        "ER_per_IP": 0.28125,
        "H_per_IP": 0.65625,
        "BB_per_IP": 0.75,
        "SO_per_IP": 1.3125,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 51,
      "totals": {
        "IP": 49.2,
        "ER": 23.0,
        "R": 24.0,
        "H": 34.0,
        "BB": 36.0,
        "SO": 63.0,
        "HR": 7.0,
        "BF": 215.0,
        "Pitches": 895.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.451,
        "R": 0.4706,
        "H": 0.6667,
        "BB": 0.7059,
        "SO": 1.2353,
        "HR": 0.1373,
        "BF": 4.2157,
        "Pitches": 17.549
      },
      "rates": {
        "ERA": 4.1678,
        "WHIP": 1.4094,
        "ER_per_IP": 0.46309,
        "H_per_IP": 0.68456,
        "BB_per_IP": 0.72483,
        "SO_per_IP": 1.26846,
        "HR_per_IP": 0.14094
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.309,
    "predicted_H": 0.741,
    "predicted_BB": 0.538,
    "predicted_SO": 0.985,
    "predicted_HR": 0.06,
    "predicted_ERA": 3.1265,
    "predicted_WHIP": 1.4399
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4912,
  "form_weight": 0.5088,
  "form_reliability": 0.6659,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.968,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6659,
    "prior_weight": 0.3341
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 3.0,
      "form": 0.309,
      "final": 1.6307,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 4.0,
      "form": 0.741,
      "final": 2.3417,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.538,
      "final": 0.7649,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.985,
      "final": 0.5012,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 2.0,
      "form": 0.06,
      "final": 1.0128,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.1265,
      "final": 3.1265,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4399,
      "final": 1.4399,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
Yordan Alvarez (670541) · BATTER · DH · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 554
All-history rows before 20260827: 554
System season_avg: 0.3250
Data season_avg (2026 season-to-date): 0.3335
Diff (system - data): -0.0085
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.2170.0000.000Hitting_2B0.2150.000-0.2150.000
predicted_3B0.0080.0000.000Hitting_3B0.0020.000-0.0020.000
predicted_AB4.2403.0004.000Hitting_AB3.6974.000-0.697-1.000
predicted_AVG0.3620.0000.250Hitting_AVG0.3330.250-0.333-0.250
predicted_BB0.7051.0001.000Hitting_BB0.7440.0000.2561.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.5400.0001.000Hitting_H1.2331.000-1.233-1.000
predicted_HR0.2500.0001.000Hitting_HR0.3070.000-0.3070.000
predicted_OBP0.4850.2500.400Hitting_OBP0.4490.250-0.1990.000
predicted_R0.6821.0001.000Hitting_R0.7180.0000.2821.000
predicted_RBI0.8700.0001.000Hitting_RBI0.7470.000-0.7470.000
predicted_SLG0.6860.0001.000Hitting_SLG0.6420.250-0.642-0.250
predicted_SO0.7360.0001.000Hitting_SO0.7562.000-0.756-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_R: 0.6820 -> 1.0000 (boost 0.3180, better)
Biggest Deboostpredicted_H: 1.5400 -> 0.0000 (deboost -1.5400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend40404-predicted_AB: 4.2400 -> 3.8739 (deboost -0.3661, worse)Final model input calibrated 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.6692 -> 0.5994 (deboost -0.0698, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling84435predicted_SO: 0.7007 -> 1.0000 (boost 0.2993, worse)predicted_H: 1.3548 -> 1.0000 (deboost -0.3548, worse)AB rounded to 4 (raw=4.24), rates preserved: AVG=0.320 HR/AB=0.050
5bvp_blend00000--Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.167)
6consistency_constraints11010predicted_R: 0.6864 -> 1.0000 (boost 0.3136, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation11010predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context40404-predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference40413-predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
10current_json_final33030predicted_OBP: 0.3980 -> 0.4521 (boost 0.0541, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "670541",
  "player_name": "Yordan Alvarez",
  "position": "DH",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.217,
        "predicted_3B": 0.008,
        "predicted_AB": 4.24,
        "predicted_AVG": 0.362,
        "predicted_BB": 0.705,
        "predicted_H": 1.54,
        "predicted_HR": 0.25,
        "predicted_OBP": 0.485,
        "predicted_R": 0.682,
        "predicted_RBI": 0.87,
        "predicted_SLG": 0.686,
        "predicted_SO": 0.736
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2627,
        "predicted_3B": 0.0354,
        "predicted_AB": 3.8739,
        "predicted_AVG": 0.3595,
        "predicted_BB": 0.7285,
        "predicted_H": 1.3968,
        "predicted_HBP": 0.101,
        "predicted_HR": 0.2178,
        "predicted_OBP": 0.482,
        "predicted_R": 0.7234,
        "predicted_RBI": 0.7603,
        "predicted_SLG": 0.6692,
        "predicted_SO": 0.696
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.217,
          "after": 0.2627,
          "delta": 0.0457,
          "percent_delta": 0.2106,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.008,
          "after": 0.0354,
          "delta": 0.0274,
          "percent_delta": 3.425,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.24,
          "after": 3.8739,
          "delta": -0.3661,
          "percent_delta": -0.0863,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.362,
          "after": 0.3595,
          "delta": -0.0025,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.705,
          "after": 0.7285,
          "delta": 0.0235,
          "percent_delta": 0.0333,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.54,
          "after": 1.3968,
          "delta": -0.1432,
          "percent_delta": -0.093,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.25,
          "after": 0.2178,
          "delta": -0.0322,
          "percent_delta": -0.1288,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.485,
          "after": 0.482,
          "delta": -0.003,
          "percent_delta": -0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.682,
          "after": 0.7234,
          "delta": 0.0414,
          "percent_delta": 0.0607,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.87,
          "after": 0.7603,
          "delta": -0.1097,
          "percent_delta": -0.1261,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.686,
          "after": 0.6692,
          "delta": -0.0168,
          "percent_delta": -0.0245,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.736,
          "after": 0.696,
          "delta": -0.04,
          "percent_delta": -0.0543,
          "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.24,
          "after": 3.8739,
          "delta": -0.3661,
          "percent_delta": -0.0863,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 129
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2627,
        "predicted_3B": 0.0354,
        "predicted_AB": 3.8739,
        "predicted_AVG": 0.3497,
        "predicted_BB": 0.7235,
        "predicted_H": 1.3548,
        "predicted_HBP": 0.101,
        "predicted_HR": 0.2112,
        "predicted_OBP": 0.4521,
        "predicted_R": 0.6864,
        "predicted_RBI": 0.7214,
        "predicted_SLG": 0.5994,
        "predicted_SO": 0.7007
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2627,
          "after": 0.2627,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0354,
          "after": 0.0354,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8739,
          "after": 3.8739,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3595,
          "after": 0.3497,
          "delta": -0.0098,
          "percent_delta": -0.0273,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7285,
          "after": 0.7235,
          "delta": -0.005,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.3968,
          "after": 1.3548,
          "delta": -0.042,
          "percent_delta": -0.0301,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.101,
          "after": 0.101,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2178,
          "after": 0.2112,
          "delta": -0.0066,
          "percent_delta": -0.0303,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.482,
          "after": 0.4521,
          "delta": -0.0299,
          "percent_delta": -0.062,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.7234,
          "after": 0.6864,
          "delta": -0.037,
          "percent_delta": -0.0511,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7603,
          "after": 0.7214,
          "delta": -0.0389,
          "percent_delta": -0.0512,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.6692,
          "after": 0.5994,
          "delta": -0.0698,
          "percent_delta": -0.1043,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.696,
          "after": 0.7007,
          "delta": 0.0047,
          "percent_delta": 0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.6692,
          "after": 0.5994,
          "delta": -0.0698,
          "percent_delta": -0.1043,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.24), rates preserved: AVG=0.320 HR/AB=0.050",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2627,
          "after": 0.0,
          "delta": -0.2627,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0354,
          "after": 0.0,
          "delta": -0.0354,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8739,
          "after": 4.0,
          "delta": 0.1261,
          "percent_delta": 0.0326,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7235,
          "after": 1.0,
          "delta": 0.2765,
          "percent_delta": 0.3822,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.3548,
          "after": 1.0,
          "delta": -0.3548,
          "percent_delta": -0.2619,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.101,
          "after": 0.0,
          "delta": -0.101,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2112,
          "after": 0.0,
          "delta": -0.2112,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7214,
          "after": 1.0,
          "delta": 0.2786,
          "percent_delta": 0.3862,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7007,
          "after": 1.0,
          "delta": 0.2993,
          "percent_delta": 0.4271,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 4,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.7007,
          "after": 1.0,
          "delta": 0.2993,
          "percent_delta": 0.4271,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.3548,
          "after": 1.0,
          "delta": -0.3548,
          "percent_delta": -0.2619,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.167)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8857,
        "bvp": 0.1143
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6864,
          "after": 1.0,
          "delta": 0.3136,
          "percent_delta": 0.4569,
          "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.6864,
          "after": 1.0,
          "delta": 0.3136,
          "percent_delta": 0.4569,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "embedded_savant_player_context",
      "description": "Player 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.302,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.398,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.57,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3497,
          "after": 0.302,
          "delta": -0.0477,
          "percent_delta": -0.1364,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4521,
          "after": 0.398,
          "delta": -0.0541,
          "percent_delta": -0.1197,
          "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.5994,
          "after": 0.57,
          "delta": -0.0294,
          "percent_delta": -0.049,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "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.3497,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.4521,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5994,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.302,
          "after": 0.3497,
          "delta": 0.0477,
          "percent_delta": 0.158,
          "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.398,
          "after": 0.4521,
          "delta": 0.0541,
          "percent_delta": 0.1358,
          "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.57,
          "after": 0.5994,
          "delta": 0.0294,
          "percent_delta": 0.0515,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.398,
          "after": 0.4521,
          "delta": 0.0541,
          "percent_delta": 0.1358,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.217,
        "after": 0.0,
        "delta": -0.217,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.008,
        "after": 0.0,
        "delta": -0.008,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.24,
        "after": 3.0,
        "delta": -1.24,
        "percent_delta": -0.2925,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.362,
        "after": 0.3497,
        "delta": -0.0123,
        "percent_delta": -0.034,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.705,
        "after": 1.0,
        "delta": 0.295,
        "percent_delta": 0.4184,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.54,
        "after": 0.0,
        "delta": -1.54,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.25,
        "after": 0.0,
        "delta": -0.25,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.485,
        "after": 0.4521,
        "delta": -0.0329,
        "percent_delta": -0.0678,
        "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.87,
        "after": 0.0,
        "delta": -0.87,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.686,
        "after": 0.5994,
        "delta": -0.0866,
        "percent_delta": -0.1262,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.736,
        "after": 0.0,
        "delta": -0.736,
        "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_R",
        "before": 0.682,
        "after": 1.0,
        "delta": 0.318,
        "percent_delta": 0.4663,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.54,
        "after": 0.0,
        "delta": -1.54,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.217-
predicted_3B0.008-
predicted_AB4.240-
predicted_AVG0.362-
predicted_BB0.705-
predicted_H1.540-
predicted_HR0.250-
predicted_OBP0.485-
predicted_R0.682-
predicted_RBI0.870-
predicted_SLG0.686-
predicted_SO0.736-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2630.046
predicted_3B0.0350.027
predicted_AB3.874-0.366
predicted_AVG0.359-0.003
predicted_BB0.7290.024
predicted_H1.397-0.143
predicted_HBP0.101-
predicted_HR0.218-0.032
predicted_OBP0.482-0.003
predicted_R0.7230.041
predicted_RBI0.760-0.110
predicted_SLG0.669-0.017
predicted_SO0.696-0.040
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2630.000
predicted_3B0.0350.000
predicted_AB3.8740.000
predicted_AVG0.350-0.010
predicted_BB0.724-0.005
predicted_H1.355-0.042
predicted_HBP0.1010.000
predicted_HR0.211-0.007
predicted_OBP0.452-0.030
predicted_R0.686-0.037
predicted_RBI0.721-0.039
predicted_SLG0.599-0.070
predicted_SO0.7010.005
4. ab_floor_and_scaling

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

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=12.0, weight=0.114, BvP AVG=0.167)

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
H1.0000.000
HR1.0001.000
R1.0000.000
RBI1.0000.000
SO1.0000.000
8. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.263
predicted_3B0.000-0.035
predicted_AB4.0000.126
predicted_AVG0.302-0.048
predicted_BB1.0000.276
predicted_H1.000-0.355
predicted_HR0.000-0.211
predicted_OBP0.398-0.054
predicted_R1.0000.314
predicted_RBI1.0000.279
predicted_SLG0.570-0.029
predicted_SO1.0000.299
9. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 129
Reference playing time: 4.240
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.0007.0003.0001.0000.0003.0005.0005.0002.0000.50000.65000.85710.50000.00000.21430.35710.1429
last_100.2010-33.00011.0003.0001.0001.0004.0008.0007.0006.0000.33330.46340.57580.33330.03030.12120.21210.1818
season0.60129-464.000151.00028.0001.00036.00091.00088.00091.00095.0000.32540.44090.62280.32540.07760.19610.19610.2047
Weighted Prediction From Real Data
MetricValue
predicted_2B0.3220
predicted_3B0.0710
predicted_AB3.3990
predicted_AVG0.3562
predicted_BB0.7590
predicted_H1.2110
predicted_HBP0.1010
predicted_HR0.1760
predicted_OBP0.4781
predicted_R0.7770
predicted_RBI0.6180
predicted_SLG0.6475
predicted_SO0.6440
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21700.32200.2627model_form_blend
predicted_3B0.00800.07100.0354model_form_blend
predicted_AB4.24003.39903.8739model_form_blend
predicted_AVG0.36200.35620.3595model_form_blend
predicted_BB0.70500.75900.7285model_form_blend
predicted_H1.54001.21101.3968model_form_blend
predicted_HBP-0.10100.1010form_only
predicted_HR0.25000.17600.2178model_form_blend
predicted_OBP0.48500.47810.4820model_form_blend
predicted_R0.68200.77700.7234model_form_blend
predicted_RBI0.87000.61800.7603model_form_blend
predicted_SLG0.68600.64750.6692model_form_blend
predicted_SO0.73600.64400.6960model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB1
Hitting_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
gameID20260826_HOU@NYY
game_typefull
mlbID670541
playerID670541
playerNameYordan Alvarez
posDH
startedTrue
startingPositionDH
teamHOU
teamID11
game_date2026-08-26
sl_k_percent17.1
sl_bb_percent15.8
sl_woba0.43
sl_xwoba0.452
sl_xba0.326
sl_xslg0.661
sl_sweet_spot_percent41.7
sl_barrel_batted_rate16.7
sl_hard_hit_percent53.5
sl_exit_velocity_avg94.5
sl_launch_angle_avg19.3
sl_whiff_percent19.5
sl_swing_percent43.1
Daulton Varsho (662139) · BATTER · CF · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 61
All-history rows before 20260827: 61
System season_avg: 0.2330
Data season_avg (2026 season-to-date): 0.1542
Diff (system - data): 0.0788
System opponent_avg: 0.1820
System season_avg diverges from 2026 season-to-date by 0.0788. 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.1911.0001.000Hitting_2B0.0491.0000.9510.000
predicted_3B0.0180.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.5904.0005.000Hitting_AB3.7214.0000.2790.000
predicted_AVG0.2450.2500.200Hitting_AVG0.1540.5000.096-0.250
predicted_BB0.3090.0000.000Hitting_BB0.4430.000-0.4430.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.1201.0001.000Hitting_H0.5742.0000.426-1.000
predicted_HR0.1100.0000.000Hitting_HR0.0821.000-0.082-1.000
predicted_OBP0.2930.2500.200Hitting_OBP0.2440.5000.006-0.250
predicted_R0.3911.0000.000Hitting_R0.2621.0000.7380.000
predicted_RBI0.3902.0000.000Hitting_RBI0.2461.0001.7541.000
predicted_SLG0.3920.5000.400Hitting_SLG0.2331.5000.267-1.000
predicted_SO0.8092.0001.000Hitting_SO0.9340.0001.0662.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_RBI: 0.3900 -> 2.0000 (boost 1.6100, better)
Biggest Deboostpredicted_AB: 4.5900 -> 4.0000 (deboost -0.5900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31203predicted_SO: 0.8090 -> 0.8698 (boost 0.0608, worse)predicted_AB: 4.5900 -> 4.2971 (deboost -0.2929, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_SLG: 0.3929 -> 0.3668 (deboost -0.0261, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62415predicted_AB: 4.2971 -> 5.0000 (boost 0.7029, better)predicted_RBI: 0.3644 -> 0.0000 (deboost -0.3644, worse)AB rounded to 5 (raw=4.59), rates preserved: AVG=0.222 HR/AB=0.023
5bvp_blend00000--Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182)
6consistency_constraints10101-predicted_R: 0.3689 -> 0.0000 (deboost -0.3689, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation11010predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context40404-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference54132predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
10current_json_final33030predicted_SLG: 0.3320 -> 0.3668 (boost 0.0348, better)-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.191,
        "predicted_3B": 0.018,
        "predicted_AB": 4.59,
        "predicted_AVG": 0.245,
        "predicted_BB": 0.309,
        "predicted_H": 1.12,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.293,
        "predicted_R": 0.391,
        "predicted_RBI": 0.39,
        "predicted_SLG": 0.392,
        "predicted_SO": 0.809
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.207,
        "predicted_3B": 0.0154,
        "predicted_AB": 4.2971,
        "predicted_AVG": 0.2457,
        "predicted_BB": 0.2706,
        "predicted_H": 1.0527,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.1091,
        "predicted_OBP": 0.2911,
        "predicted_R": 0.3888,
        "predicted_RBI": 0.384,
        "predicted_SLG": 0.3929,
        "predicted_SO": 0.8698
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.191,
          "after": 0.207,
          "delta": 0.016,
          "percent_delta": 0.0838,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.018,
          "after": 0.0154,
          "delta": -0.0026,
          "percent_delta": -0.1444,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.59,
          "after": 4.2971,
          "delta": -0.2929,
          "percent_delta": -0.0638,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.245,
          "after": 0.2457,
          "delta": 0.0007,
          "percent_delta": 0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.309,
          "after": 0.2706,
          "delta": -0.0384,
          "percent_delta": -0.1243,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.12,
          "after": 1.0527,
          "delta": -0.0673,
          "percent_delta": -0.0601,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.1091,
          "delta": -0.0009,
          "percent_delta": -0.0082,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.293,
          "after": 0.2911,
          "delta": -0.0019,
          "percent_delta": -0.0065,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.391,
          "after": 0.3888,
          "delta": -0.0022,
          "percent_delta": -0.0056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.39,
          "after": 0.384,
          "delta": -0.006,
          "percent_delta": -0.0154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.392,
          "after": 0.3929,
          "delta": 0.0009,
          "percent_delta": 0.0023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.809,
          "after": 0.8698,
          "delta": 0.0608,
          "percent_delta": 0.0752,
          "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.809,
          "after": 0.8698,
          "delta": 0.0608,
          "percent_delta": 0.0752,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.59,
          "after": 4.2971,
          "delta": -0.2929,
          "percent_delta": -0.0638,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 110
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.207,
        "predicted_3B": 0.0154,
        "predicted_AB": 4.2971,
        "predicted_AVG": 0.2376,
        "predicted_BB": 0.2688,
        "predicted_H": 1.021,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.1058,
        "predicted_OBP": 0.2825,
        "predicted_R": 0.3689,
        "predicted_RBI": 0.3644,
        "predicted_SLG": 0.3668,
        "predicted_SO": 0.8757
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.207,
          "after": 0.207,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0154,
          "after": 0.0154,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2971,
          "after": 4.2971,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2457,
          "after": 0.2376,
          "delta": -0.0081,
          "percent_delta": -0.033,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2706,
          "after": 0.2688,
          "delta": -0.0018,
          "percent_delta": -0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0527,
          "after": 1.021,
          "delta": -0.0317,
          "percent_delta": -0.0301,
          "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.1091,
          "after": 0.1058,
          "delta": -0.0033,
          "percent_delta": -0.0302,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2911,
          "after": 0.2825,
          "delta": -0.0086,
          "percent_delta": -0.0295,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3888,
          "after": 0.3689,
          "delta": -0.0199,
          "percent_delta": -0.0512,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.384,
          "after": 0.3644,
          "delta": -0.0196,
          "percent_delta": -0.051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3929,
          "after": 0.3668,
          "delta": -0.0261,
          "percent_delta": -0.0664,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8698,
          "after": 0.8757,
          "delta": 0.0059,
          "percent_delta": 0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3929,
          "after": 0.3668,
          "delta": -0.0261,
          "percent_delta": -0.0664,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=4.59), rates preserved: AVG=0.222 HR/AB=0.023",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.207,
          "after": 0.0,
          "delta": -0.207,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0154,
          "after": 0.0,
          "delta": -0.0154,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2971,
          "after": 5.0,
          "delta": 0.7029,
          "percent_delta": 0.1636,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2688,
          "after": 0.0,
          "delta": -0.2688,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.021,
          "after": 1.0,
          "delta": -0.021,
          "percent_delta": -0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.013,
          "after": 0.0,
          "delta": -0.013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1058,
          "after": 0.0,
          "delta": -0.1058,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3644,
          "after": 0.0,
          "delta": -0.3644,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8757,
          "after": 1.0,
          "delta": 0.1243,
          "percent_delta": 0.1419,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.2971,
          "after": 5.0,
          "delta": 0.7029,
          "percent_delta": 0.1636,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3644,
          "after": 0.0,
          "delta": -0.3644,
          "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": 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.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": 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.3689,
          "after": 0.0,
          "delta": -0.3689,
          "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.3689,
          "after": 0.0,
          "delta": -0.3689,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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_SO",
          "before": 1.0,
          "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_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": "embedded_savant_player_context",
      "description": "Player 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.218,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.263,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.332,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2376,
          "after": 0.218,
          "delta": -0.0196,
          "percent_delta": -0.0825,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2825,
          "after": 0.263,
          "delta": -0.0195,
          "percent_delta": -0.069,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.3668,
          "after": 0.332,
          "delta": -0.0348,
          "percent_delta": -0.0949,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.2376,
        "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.2825,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3668,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.218,
          "after": 0.2376,
          "delta": 0.0196,
          "percent_delta": 0.0899,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.263,
          "after": 0.2825,
          "delta": 0.0195,
          "percent_delta": 0.0741,
          "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.332,
          "after": 0.3668,
          "delta": 0.0348,
          "percent_delta": 0.1048,
          "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.332,
          "after": 0.3668,
          "delta": 0.0348,
          "percent_delta": 0.1048,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.191,
        "after": 1.0,
        "delta": 0.809,
        "percent_delta": 4.2356,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.018,
        "after": 0.0,
        "delta": -0.018,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.59,
        "after": 4.0,
        "delta": -0.59,
        "percent_delta": -0.1285,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.245,
        "after": 0.2376,
        "delta": -0.0074,
        "percent_delta": -0.0302,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.309,
        "after": 0.0,
        "delta": -0.309,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.12,
        "after": 1.0,
        "delta": -0.12,
        "percent_delta": -0.1071,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.11,
        "after": 0.0,
        "delta": -0.11,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.293,
        "after": 0.2825,
        "delta": -0.0105,
        "percent_delta": -0.0358,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.391,
        "after": 1.0,
        "delta": 0.609,
        "percent_delta": 1.5575,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.39,
        "after": 2.0,
        "delta": 1.61,
        "percent_delta": 4.1282,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.392,
        "after": 0.3668,
        "delta": -0.0252,
        "percent_delta": -0.0643,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.809,
        "after": 2.0,
        "delta": 1.191,
        "percent_delta": 1.4722,
        "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_RBI",
        "before": 0.39,
        "after": 2.0,
        "delta": 1.61,
        "percent_delta": 4.1282,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.59,
        "after": 4.0,
        "delta": -0.59,
        "percent_delta": -0.1285,
        "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.191-
predicted_3B0.018-
predicted_AB4.590-
predicted_AVG0.245-
predicted_BB0.309-
predicted_H1.120-
predicted_HR0.110-
predicted_OBP0.293-
predicted_R0.391-
predicted_RBI0.390-
predicted_SLG0.392-
predicted_SO0.809-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2070.016
predicted_3B0.015-0.003
predicted_AB4.297-0.293
predicted_AVG0.2460.001
predicted_BB0.271-0.038
predicted_H1.053-0.067
predicted_HBP0.013-
predicted_HR0.109-0.001
predicted_OBP0.291-0.002
predicted_R0.389-0.002
predicted_RBI0.384-0.006
predicted_SLG0.3930.001
predicted_SO0.8700.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.2070.000
predicted_3B0.0150.000
predicted_AB4.2970.000
predicted_AVG0.238-0.008
predicted_BB0.269-0.002
predicted_H1.021-0.032
predicted_HBP0.0130.000
predicted_HR0.106-0.003
predicted_OBP0.282-0.009
predicted_R0.369-0.020
predicted_RBI0.364-0.020
predicted_SLG0.367-0.026
predicted_SO0.8760.006
4. ab_floor_and_scaling

AB rounded to 5 (raw=4.59), rates preserved: AVG=0.222 HR/AB=0.023

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB5.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
5. 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
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
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.000
SO1.0000.000
8. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.207
predicted_3B0.000-0.015
predicted_AB5.0000.703
predicted_AVG0.218-0.020
predicted_BB0.000-0.269
predicted_H1.000-0.021
predicted_HR0.000-0.106
predicted_OBP0.263-0.019
predicted_R0.000-0.369
predicted_RBI0.000-0.364
predicted_SLG0.332-0.035
predicted_SO1.0000.124
9. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 110
Reference playing time: 4.590
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-22.0007.0002.0000.0001.0003.0002.0000.0006.0000.31820.31820.54550.31820.04540.13640.00000.2727
last_100.2010-42.0009.0002.0000.0001.0004.0003.0001.00012.0000.21430.23260.33330.21430.02380.09520.02380.2857
season0.60110-403.00094.00021.0002.0009.00032.00043.00034.00089.0000.23330.29550.36230.23330.02230.07940.08440.2208
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2280
predicted_3B0.0120
predicted_AB3.9110
predicted_AVG0.2466
predicted_BB0.2200
predicted_H0.9640
predicted_HBP0.0130
predicted_HR0.1080
predicted_OBP0.2886
predicted_R0.3860
predicted_RBI0.3760
predicted_SLG0.3941
predicted_SO0.9500
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19100.22800.2070model_form_blend
predicted_3B0.01800.01200.0154model_form_blend
predicted_AB4.59003.91104.2971model_form_blend
predicted_AVG0.24500.24660.2457model_form_blend
predicted_BB0.30900.22000.2706model_form_blend
predicted_H1.12000.96401.0527model_form_blend
predicted_HBP-0.01300.0130form_only
predicted_HR0.11000.10800.1091model_form_blend
predicted_OBP0.29300.28860.2911model_form_blend
predicted_R0.39100.38600.3888model_form_blend
predicted_RBI0.39000.37600.3840model_form_blend
predicted_SLG0.39200.39410.3929model_form_blend
predicted_SO0.80900.95000.8698model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB6
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260826_HOU@NYY
game_typefull
mlbID662139
playerID662139
playerNameDaulton Varsho
posCF
startedTrue
startingPositionCF
teamHOU
teamID11
game_date2026-08-26
sl_k_percent20.2
sl_bb_percent7.9
sl_woba0.288
sl_xwoba0.287
sl_xba0.232
sl_xslg0.353
sl_sweet_spot_percent32.7
sl_barrel_batted_rate6.3
sl_hard_hit_percent37.5
sl_exit_velocity_avg86.8
sl_launch_angle_avg15.4
sl_whiff_percent21.4
sl_swing_percent52.7
Jeremy Peña (665161) · BATTER · SS · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 344
All-history rows before 20260827: 344
System season_avg: 0.2860
Data season_avg (2026 season-to-date): 0.2882
Diff (system - data): -0.0022
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.1850.0000.000Hitting_2B0.1950.000-0.1950.000
predicted_3B0.0120.0000.000Hitting_3B0.0150.000-0.0150.000
predicted_AB5.1604.0005.000Hitting_AB4.1454.000-0.1450.000
predicted_AVG0.2490.0000.200Hitting_AVG0.2880.000-0.2880.000
predicted_BB0.2590.0000.000Hitting_BB0.2880.000-0.2880.000
predicted_CS-0.0000.000BaseRunning_CS0.0120.000-0.0120.000
predicted_H1.2800.0001.000Hitting_H1.1950.000-1.1950.000
predicted_HR0.2400.0000.000Hitting_HR0.1860.000-0.1860.000
predicted_OBP0.3040.0000.200Hitting_OBP0.3450.000-0.3450.000
predicted_R0.7780.0001.000Hitting_R0.8170.000-0.8170.000
predicted_RBI0.6800.0001.000Hitting_RBI0.5580.000-0.5580.000
predicted_SLG0.4580.0000.200Hitting_SLG0.4770.000-0.4770.000
predicted_SO0.9262.0001.000Hitting_SO0.9103.0001.090-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics1
Deboosted Metrics9
Better Metrics0
Worse Metrics10
Biggest Boostpredicted_SO: 0.9260 -> 2.0000 (boost 1.0740, worse)
Biggest Deboostpredicted_H: 1.2800 -> 0.0000 (deboost -1.2800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend52314predicted_SO: 0.9260 -> 0.9999 (boost 0.0739, worse)predicted_AB: 5.1600 -> 4.6530 (deboost -0.5070, worse)Final model input calibrated 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.4605 -> 0.4290 (deboost -0.0315, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62424predicted_RBI: 0.5865 -> 1.0000 (boost 0.4135, better)predicted_BB: 0.2169 -> 0.0000 (deboost -0.2169, worse)AB rounded to 5 (raw=5.16), rates preserved: AVG=0.223 HR/AB=0.041
5consistency_constraints11010predicted_R: 0.7326 -> 1.0000 (boost 0.2674, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context30303-predicted_SLG: 0.4290 -> 0.3870 (deboost -0.0420, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference51405predicted_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
9current_json_final33030predicted_SLG: 0.3870 -> 0.4290 (boost 0.0420, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "665161",
  "player_name": "Jeremy Peña",
  "position": "SS",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.185,
        "predicted_3B": 0.012,
        "predicted_AB": 5.16,
        "predicted_AVG": 0.249,
        "predicted_BB": 0.259,
        "predicted_H": 1.28,
        "predicted_HR": 0.24,
        "predicted_OBP": 0.304,
        "predicted_R": 0.778,
        "predicted_RBI": 0.68,
        "predicted_SLG": 0.458,
        "predicted_SO": 0.926
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1948,
        "predicted_3B": 0.0103,
        "predicted_AB": 4.653,
        "predicted_AVG": 0.2566,
        "predicted_BB": 0.2184,
        "predicted_H": 1.1856,
        "predicted_HBP": 0.043,
        "predicted_HR": 0.2169,
        "predicted_OBP": 0.3025,
        "predicted_R": 0.772,
        "predicted_RBI": 0.6181,
        "predicted_SLG": 0.4605,
        "predicted_SO": 0.9999
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.185,
          "after": 0.1948,
          "delta": 0.0098,
          "percent_delta": 0.053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.012,
          "after": 0.0103,
          "delta": -0.0017,
          "percent_delta": -0.1417,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.16,
          "after": 4.653,
          "delta": -0.507,
          "percent_delta": -0.0983,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.249,
          "after": 0.2566,
          "delta": 0.0076,
          "percent_delta": 0.0305,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.259,
          "after": 0.2184,
          "delta": -0.0406,
          "percent_delta": -0.1568,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.28,
          "after": 1.1856,
          "delta": -0.0944,
          "percent_delta": -0.0738,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.24,
          "after": 0.2169,
          "delta": -0.0231,
          "percent_delta": -0.0962,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.304,
          "after": 0.3025,
          "delta": -0.0015,
          "percent_delta": -0.0049,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.778,
          "after": 0.772,
          "delta": -0.006,
          "percent_delta": -0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.68,
          "after": 0.6181,
          "delta": -0.0619,
          "percent_delta": -0.091,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.458,
          "after": 0.4605,
          "delta": 0.0025,
          "percent_delta": 0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.926,
          "after": 0.9999,
          "delta": 0.0739,
          "percent_delta": 0.0798,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.926,
          "after": 0.9999,
          "delta": 0.0739,
          "percent_delta": 0.0798,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.16,
          "after": 4.653,
          "delta": -0.507,
          "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": 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.1948,
        "predicted_3B": 0.0103,
        "predicted_AB": 4.653,
        "predicted_AVG": 0.2471,
        "predicted_BB": 0.2169,
        "predicted_H": 1.1499,
        "predicted_HBP": 0.043,
        "predicted_HR": 0.2103,
        "predicted_OBP": 0.2807,
        "predicted_R": 0.7326,
        "predicted_RBI": 0.5865,
        "predicted_SLG": 0.429,
        "predicted_SO": 1.0067
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1948,
          "after": 0.1948,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0103,
          "after": 0.0103,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.653,
          "after": 4.653,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2566,
          "after": 0.2471,
          "delta": -0.0095,
          "percent_delta": -0.037,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2184,
          "after": 0.2169,
          "delta": -0.0015,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1856,
          "after": 1.1499,
          "delta": -0.0357,
          "percent_delta": -0.0301,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.043,
          "after": 0.043,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2169,
          "after": 0.2103,
          "delta": -0.0066,
          "percent_delta": -0.0304,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3025,
          "after": 0.2807,
          "delta": -0.0218,
          "percent_delta": -0.0721,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.772,
          "after": 0.7326,
          "delta": -0.0394,
          "percent_delta": -0.051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6181,
          "after": 0.5865,
          "delta": -0.0316,
          "percent_delta": -0.0511,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4605,
          "after": 0.429,
          "delta": -0.0315,
          "percent_delta": -0.0684,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9999,
          "after": 1.0067,
          "delta": 0.0068,
          "percent_delta": 0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4605,
          "after": 0.429,
          "delta": -0.0315,
          "percent_delta": -0.0684,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=5.16), rates preserved: AVG=0.223 HR/AB=0.041",
      "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.1948,
          "after": 0.0,
          "delta": -0.1948,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0103,
          "after": 0.0,
          "delta": -0.0103,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.653,
          "after": 5.0,
          "delta": 0.347,
          "percent_delta": 0.0746,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2169,
          "after": 0.0,
          "delta": -0.2169,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1499,
          "after": 1.0,
          "delta": -0.1499,
          "percent_delta": -0.1304,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.043,
          "after": 0.0,
          "delta": -0.043,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2103,
          "after": 0.0,
          "delta": -0.2103,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5865,
          "after": 1.0,
          "delta": 0.4135,
          "percent_delta": 0.705,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0067,
          "after": 1.0,
          "delta": -0.0067,
          "percent_delta": -0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5865,
          "after": 1.0,
          "delta": 0.4135,
          "percent_delta": 0.705,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2169,
          "after": 0.0,
          "delta": -0.2169,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.7326,
          "after": 1.0,
          "delta": 0.2674,
          "percent_delta": 0.365,
          "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.7326,
          "after": 1.0,
          "delta": 0.2674,
          "percent_delta": 0.365,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.223,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.26,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.387,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.2471,
          "after": 0.223,
          "delta": -0.0241,
          "percent_delta": -0.0975,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2807,
          "after": 0.26,
          "delta": -0.0207,
          "percent_delta": -0.0737,
          "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.429,
          "after": 0.387,
          "delta": -0.042,
          "percent_delta": -0.0979,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.429,
          "after": 0.387,
          "delta": -0.042,
          "percent_delta": -0.0979,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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.2471,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2807,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.429,
        "predicted_SO": 2.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.223,
          "after": 0.2471,
          "delta": 0.0241,
          "percent_delta": 0.1082,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.26,
          "after": 0.2807,
          "delta": 0.0207,
          "percent_delta": 0.0795,
          "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.387,
          "after": 0.429,
          "delta": 0.042,
          "percent_delta": 0.1086,
          "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.387,
          "after": 0.429,
          "delta": 0.042,
          "percent_delta": 0.1086,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.185,
        "after": 0.0,
        "delta": -0.185,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.012,
        "after": 0.0,
        "delta": -0.012,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 5.16,
        "after": 4.0,
        "delta": -1.16,
        "percent_delta": -0.2248,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.249,
        "after": 0.2471,
        "delta": -0.0019,
        "percent_delta": -0.0076,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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": 1.28,
        "after": 0.0,
        "delta": -1.28,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.24,
        "after": 0.0,
        "delta": -0.24,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.304,
        "after": 0.2807,
        "delta": -0.0233,
        "percent_delta": -0.0766,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.778,
        "after": 0.0,
        "delta": -0.778,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.68,
        "after": 0.0,
        "delta": -0.68,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.458,
        "after": 0.429,
        "delta": -0.029,
        "percent_delta": -0.0633,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.926,
        "after": 2.0,
        "delta": 1.074,
        "percent_delta": 1.1598,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 1,
      "deboosted_metrics": 9,
      "better_metrics": 0,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.926,
        "after": 2.0,
        "delta": 1.074,
        "percent_delta": 1.1598,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.28,
        "after": 0.0,
        "delta": -1.28,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.185-
predicted_3B0.012-
predicted_AB5.160-
predicted_AVG0.249-
predicted_BB0.259-
predicted_H1.280-
predicted_HR0.240-
predicted_OBP0.304-
predicted_R0.778-
predicted_RBI0.680-
predicted_SLG0.458-
predicted_SO0.926-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1950.010
predicted_3B0.010-0.002
predicted_AB4.653-0.507
predicted_AVG0.2570.008
predicted_BB0.218-0.041
predicted_H1.186-0.094
predicted_HBP0.043-
predicted_HR0.217-0.023
predicted_OBP0.302-0.002
predicted_R0.772-0.006
predicted_RBI0.618-0.062
predicted_SLG0.4610.003
predicted_SO1.0000.074
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1950.000
predicted_3B0.0100.000
predicted_AB4.6530.000
predicted_AVG0.247-0.010
predicted_BB0.217-0.002
predicted_H1.150-0.036
predicted_HBP0.0430.000
predicted_HR0.210-0.007
predicted_OBP0.281-0.022
predicted_R0.733-0.039
predicted_RBI0.587-0.032
predicted_SLG0.429-0.032
predicted_SO1.0070.007
4. ab_floor_and_scaling

AB rounded to 5 (raw=5.16), rates preserved: AVG=0.223 HR/AB=0.041

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI1.0000.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.195
predicted_3B0.000-0.010
predicted_AB5.0000.347
predicted_AVG0.223-0.024
predicted_BB0.000-0.217
predicted_H1.000-0.150
predicted_HR0.000-0.210
predicted_OBP0.260-0.021
predicted_R1.0000.267
predicted_RBI1.0000.413
predicted_SLG0.387-0.042
predicted_SO1.000-0.007
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
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 81
Reference playing time: 5.160
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0005.0001.0000.0001.0003.0004.0000.0008.0000.26320.26320.47370.26320.05260.15790.00000.4210
last_100.2010-41.0009.0003.0000.0002.0005.0008.0000.00012.0000.21950.21950.43900.21950.04880.12200.00000.2927
season0.6081-325.00093.00015.0001.00015.00043.00063.00021.00075.0000.28620.33900.47690.28620.04610.13230.06460.2308
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2080
predicted_3B0.0080
predicted_AB3.9730
predicted_AVG0.2667
predicted_BB0.1640
predicted_H1.0590
predicted_HBP0.0430
predicted_HR0.1860
predicted_OBP0.3004
predicted_R0.7640
predicted_RBI0.5350
predicted_SLG0.4639
predicted_SO1.0990
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18500.20800.1948model_form_blend
predicted_3B0.01200.00800.0103model_form_blend
predicted_AB5.16003.97304.6530model_form_blend
predicted_AVG0.24900.26670.2566model_form_blend
predicted_BB0.25900.16400.2184model_form_blend
predicted_H1.28001.05901.1856model_form_blend
predicted_HBP-0.04300.0430form_only
predicted_HR0.24000.18600.2169model_form_blend
predicted_OBP0.30400.30040.3025model_form_blend
predicted_R0.77800.76400.7720model_form_blend
predicted_RBI0.68000.53500.6181model_form_blend
predicted_SLG0.45800.46390.4605model_form_blend
predicted_SO0.92601.09900.9999model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date344
Season rows before report date344
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
SO2
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO3
Hitting_TB0
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260826_HOU@NYY
game_typefull
mlbID665161
playerID665161
playerNameJeremy Peña
posSS
startedTrue
startingPositionSS
teamHOU
teamID11
game_date2026-08-26
sl_k_percent22.1
sl_bb_percent5.8
sl_woba0.355
sl_xwoba0.331
sl_xba0.276
sl_xslg0.424
sl_sweet_spot_percent33.3
sl_barrel_batted_rate6.4
sl_hard_hit_percent39.3
sl_exit_velocity_avg88.3
sl_launch_angle_avg11.5
sl_whiff_percent31.4
sl_swing_percent54.9
Taylor Trammell (666211) · BATTER · LF · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 214
All-history rows before 20260827: 214
System season_avg: 0.2120
Data season_avg (2026 season-to-date): 0.2284
Diff (system - data): -0.0164
System opponent_avg: 0.2120
System season_avg diverges from 2026 season-to-date by -0.0164. 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.0880.0000.000Hitting_2B0.1210.000-0.1210.000
predicted_3B0.0290.0000.000Hitting_3B0.0330.000-0.0330.000
predicted_AB2.7793.0003.000Hitting_AB3.0893.000-0.0890.000
predicted_AVG0.2120.6670.333Hitting_AVG0.2280.0000.4380.667
predicted_BB0.2790.0000.000Hitting_BB0.3640.000-0.3640.000
predicted_CS-0.0000.000BaseRunning_CS0.0560.000-0.0560.000
predicted_H0.5882.0001.000Hitting_H0.7060.0001.2942.000
predicted_HR0.1031.0000.000Hitting_HR0.1120.0000.8881.000
predicted_OBP0.2840.7500.333Hitting_OBP0.3250.0000.4250.750
predicted_R0.3681.0000.000Hitting_R0.4720.0000.5281.000
predicted_RBI0.2941.0000.000Hitting_RBI0.3740.0000.6261.000
predicted_SLG0.3761.6670.333Hitting_SLG0.3980.0001.2691.667
predicted_SO1.0001.0001.000Hitting_SO1.0611.000-0.0610.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics10
Boosted Metrics5
Deboosted Metrics5
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_H: 0.5880 -> 2.0000 (boost 1.4120, better)
Biggest Deboostpredicted_BB: 0.2790 -> 0.0000 (deboost -0.2790, 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.3760 -> 0.3408 (deboost -0.0352, worse)Final model input calibrated 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.3408 -> 0.3316 (deboost -0.0092, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62424predicted_H: 0.5250 -> 1.0000 (boost 0.4750, better)predicted_BB: 0.2660 -> 0.0000 (deboost -0.2660, worse)AB rounded to 3 (raw=2.78), rates preserved: AVG=0.189 HR/AB=0.031
5consistency_constraints10101-predicted_R: 0.3056 -> 0.0000 (deboost -0.3056, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context11010predicted_OBP: 0.2599 -> 0.2650 (boost 0.0051, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference55050predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final10101-predicted_OBP: 0.2650 -> 0.2599 (deboost -0.0051, 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.088,
        "predicted_3B": 0.029,
        "predicted_AB": 2.779,
        "predicted_AVG": 0.212,
        "predicted_BB": 0.279,
        "predicted_H": 0.588,
        "predicted_HR": 0.103,
        "predicted_OBP": 0.284,
        "predicted_R": 0.368,
        "predicted_RBI": 0.294,
        "predicted_SLG": 0.376,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0777,
        "predicted_3B": 0.0315,
        "predicted_AB": 2.7769,
        "predicted_AVG": 0.1952,
        "predicted_BB": 0.2678,
        "predicted_H": 0.5413,
        "predicted_HBP": 0.026,
        "predicted_HR": 0.0877,
        "predicted_OBP": 0.2685,
        "predicted_R": 0.3221,
        "predicted_RBI": 0.2543,
        "predicted_SLG": 0.3408,
        "predicted_SO": 0.9979
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.088,
          "after": 0.0777,
          "delta": -0.0103,
          "percent_delta": -0.117,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.029,
          "after": 0.0315,
          "delta": 0.0025,
          "percent_delta": 0.0862,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.779,
          "after": 2.7769,
          "delta": -0.0021,
          "percent_delta": -0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.212,
          "after": 0.1952,
          "delta": -0.0168,
          "percent_delta": -0.0792,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.279,
          "after": 0.2678,
          "delta": -0.0112,
          "percent_delta": -0.0401,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.588,
          "after": 0.5413,
          "delta": -0.0467,
          "percent_delta": -0.0794,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.103,
          "after": 0.0877,
          "delta": -0.0153,
          "percent_delta": -0.1485,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.284,
          "after": 0.2685,
          "delta": -0.0155,
          "percent_delta": -0.0546,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.368,
          "after": 0.3221,
          "delta": -0.0459,
          "percent_delta": -0.1247,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.294,
          "after": 0.2543,
          "delta": -0.0397,
          "percent_delta": -0.135,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.376,
          "after": 0.3408,
          "delta": -0.0352,
          "percent_delta": -0.0936,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9979,
          "delta": -0.0021,
          "percent_delta": -0.0021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.376,
          "after": 0.3408,
          "delta": -0.0352,
          "percent_delta": -0.0936,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 68
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0777,
        "predicted_3B": 0.0315,
        "predicted_AB": 2.7769,
        "predicted_AVG": 0.1891,
        "predicted_BB": 0.266,
        "predicted_H": 0.525,
        "predicted_HBP": 0.026,
        "predicted_HR": 0.085,
        "predicted_OBP": 0.2599,
        "predicted_R": 0.3056,
        "predicted_RBI": 0.2413,
        "predicted_SLG": 0.3316,
        "predicted_SO": 1.0047
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0777,
          "after": 0.0777,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0315,
          "after": 0.0315,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.7769,
          "after": 2.7769,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1952,
          "after": 0.1891,
          "delta": -0.0061,
          "percent_delta": -0.0313,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2678,
          "after": 0.266,
          "delta": -0.0018,
          "percent_delta": -0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5413,
          "after": 0.525,
          "delta": -0.0163,
          "percent_delta": -0.0301,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.026,
          "after": 0.026,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0877,
          "after": 0.085,
          "delta": -0.0027,
          "percent_delta": -0.0308,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2685,
          "after": 0.2599,
          "delta": -0.0086,
          "percent_delta": -0.032,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3221,
          "after": 0.3056,
          "delta": -0.0165,
          "percent_delta": -0.0512,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2543,
          "after": 0.2413,
          "delta": -0.013,
          "percent_delta": -0.0511,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3408,
          "after": 0.3316,
          "delta": -0.0092,
          "percent_delta": -0.027,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9979,
          "after": 1.0047,
          "delta": 0.0068,
          "percent_delta": 0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3408,
          "after": 0.3316,
          "delta": -0.0092,
          "percent_delta": -0.027,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.78), rates preserved: AVG=0.189 HR/AB=0.031",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0777,
          "after": 0.0,
          "delta": -0.0777,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0315,
          "after": 0.0,
          "delta": -0.0315,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.7769,
          "after": 3.0,
          "delta": 0.2231,
          "percent_delta": 0.0803,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.266,
          "after": 0.0,
          "delta": -0.266,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.525,
          "after": 1.0,
          "delta": 0.475,
          "percent_delta": 0.9048,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.026,
          "after": 0.0,
          "delta": -0.026,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.085,
          "after": 0.0,
          "delta": -0.085,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2413,
          "after": 0.0,
          "delta": -0.2413,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0047,
          "after": 1.0,
          "delta": -0.0047,
          "percent_delta": -0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.525,
          "after": 1.0,
          "delta": 0.475,
          "percent_delta": 0.9048,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.266,
          "after": 0.0,
          "delta": -0.266,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 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.3056,
          "after": 0.0,
          "delta": -0.3056,
          "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.3056,
          "after": 0.0,
          "delta": -0.3056,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": {},
      "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.189,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.265,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.331,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1891,
          "after": 0.189,
          "delta": -0.0001,
          "percent_delta": -0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2599,
          "after": 0.265,
          "delta": 0.0051,
          "percent_delta": 0.0196,
          "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.3316,
          "after": 0.331,
          "delta": -0.0006,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2599,
          "after": 0.265,
          "delta": 0.0051,
          "percent_delta": 0.0196,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 1.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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 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": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.1891,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 1.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.2599,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3316,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.189,
          "after": 0.1891,
          "delta": 0.0001,
          "percent_delta": 0.0003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.265,
          "after": 0.2599,
          "delta": -0.0051,
          "percent_delta": -0.0191,
          "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.331,
          "after": 0.3316,
          "delta": 0.0006,
          "percent_delta": 0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.265,
          "after": 0.2599,
          "delta": -0.0051,
          "percent_delta": -0.0191,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.088,
        "after": 0.0,
        "delta": -0.088,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.029,
        "after": 0.0,
        "delta": -0.029,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.779,
        "after": 3.0,
        "delta": 0.221,
        "percent_delta": 0.0795,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.212,
        "after": 0.1891,
        "delta": -0.0229,
        "percent_delta": -0.108,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.279,
        "after": 0.0,
        "delta": -0.279,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.588,
        "after": 2.0,
        "delta": 1.412,
        "percent_delta": 2.4014,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.103,
        "after": 1.0,
        "delta": 0.897,
        "percent_delta": 8.7087,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.284,
        "after": 0.2599,
        "delta": -0.0241,
        "percent_delta": -0.0849,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.368,
        "after": 1.0,
        "delta": 0.632,
        "percent_delta": 1.7174,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.294,
        "after": 1.0,
        "delta": 0.706,
        "percent_delta": 2.4014,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.376,
        "after": 0.3316,
        "delta": -0.0444,
        "percent_delta": -0.1181,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 5,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.588,
        "after": 2.0,
        "delta": 1.412,
        "percent_delta": 2.4014,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.279,
        "after": 0.0,
        "delta": -0.279,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.088-
predicted_3B0.029-
predicted_AB2.779-
predicted_AVG0.212-
predicted_BB0.279-
predicted_H0.588-
predicted_HR0.103-
predicted_OBP0.284-
predicted_R0.368-
predicted_RBI0.294-
predicted_SLG0.376-
predicted_SO1.000-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.078-0.010
predicted_3B0.0320.002
predicted_AB2.777-0.002
predicted_AVG0.195-0.017
predicted_BB0.268-0.011
predicted_H0.541-0.047
predicted_HBP0.026-
predicted_HR0.088-0.015
predicted_OBP0.269-0.015
predicted_R0.322-0.046
predicted_RBI0.254-0.040
predicted_SLG0.341-0.035
predicted_SO0.998-0.002
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0780.000
predicted_3B0.0320.000
predicted_AB2.7770.000
predicted_AVG0.189-0.006
predicted_BB0.266-0.002
predicted_H0.525-0.016
predicted_HBP0.0260.000
predicted_HR0.085-0.003
predicted_OBP0.260-0.009
predicted_R0.306-0.017
predicted_RBI0.241-0.013
predicted_SLG0.332-0.009
predicted_SO1.0050.007
4. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.078
predicted_3B0.000-0.032
predicted_AB3.0000.223
predicted_AVG0.189-0.000
predicted_BB0.000-0.266
predicted_H1.0000.475
predicted_HR0.000-0.085
predicted_OBP0.2650.005
predicted_R0.000-0.306
predicted_RBI0.000-0.241
predicted_SLG0.331-0.001
predicted_SO1.000-0.005
8. 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
H2.0001.000
HBP1.0001.000
HR1.0001.000
PA4.000-
R1.0001.000
RBI1.0001.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 68
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-11.0001.0000.0000.0000.0000.0000.0001.0003.0000.09090.16670.09090.09090.00000.00000.09090.2727
last_100.2010-26.0002.0000.0001.0000.0000.0001.0002.00014.0000.07690.14290.15380.07690.00000.00000.07690.5385
season0.6068-189.00040.0006.0002.0007.00020.00025.00019.00068.0000.21160.29380.37570.21160.03700.10580.10050.3598
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0630
predicted_3B0.0350
predicted_AB2.7740
predicted_AVG0.1714
predicted_BB0.2520
predicted_H0.4750
predicted_HBP0.0260
predicted_HR0.0660
predicted_OBP0.2466
predicted_R0.2570
predicted_RBI0.1980
predicted_SLG0.2909
predicted_SO0.9950
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.08800.06300.0777model_form_blend
predicted_3B0.02900.03500.0315model_form_blend
predicted_AB2.77902.77402.7769model_form_blend
predicted_AVG0.21200.17140.1952model_form_blend
predicted_BB0.27900.25200.2678model_form_blend
predicted_H0.58800.47500.5413model_form_blend
predicted_HBP-0.02600.0260form_only
predicted_HR0.10300.06600.0877model_form_blend
predicted_OBP0.28400.24660.2685model_form_blend
predicted_R0.36800.25700.3221model_form_blend
predicted_RBI0.29400.19800.2543model_form_blend
predicted_SLG0.37600.29090.3408model_form_blend
predicted_SO1.00000.99500.9979model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H2
2B0
3B0
HR1
R1
RBI1
BB0
SO1
SF0
HBP1
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260826_HOU@NYY
game_typefull
mlbID666211
playerID666211
playerNameTaylor Trammell
posCF
startedTrue
startingPositionLF
teamHOU
teamID11
game_date2026-08-26
sl_k_percent30.7
sl_bb_percent8.8
sl_woba0.285
sl_xwoba0.291
sl_xba0.195
sl_xslg0.383
sl_sweet_spot_percent27.6
sl_barrel_batted_rate11.9
sl_hard_hit_percent37.3
sl_exit_velocity_avg88.2
sl_launch_angle_avg15.6
sl_whiff_percent38.2
sl_swing_percent47.8
Christian Walker (572233) · BATTER · 1B · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 508
All-history rows before 20260827: 508
System season_avg: 0.2330
Data season_avg (2026 season-to-date): 0.2431
Diff (system - data): -0.0101
System opponent_avg: 0.3530

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1920.0000.000Hitting_2B0.2090.000-0.2090.000
predicted_3B0.0080.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB4.3504.0004.000Hitting_AB3.8464.0000.1540.000
predicted_AVG0.2130.5000.250Hitting_AVG0.2430.0000.2570.500
predicted_BB0.3440.0000.000Hitting_BB0.3620.000-0.3620.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9302.0001.000Hitting_H0.9350.0001.0652.000
predicted_HR0.1501.0000.000Hitting_HR0.2050.0000.7951.000
predicted_OBP0.2690.5000.250Hitting_OBP0.3200.0000.1800.500
predicted_R0.4961.0001.000Hitting_R0.5530.0000.4471.000
predicted_RBI0.5201.0000.000Hitting_RBI0.6561.0000.3440.000
predicted_SLG0.3571.2500.250Hitting_SLG0.4610.0000.7891.250
predicted_SO0.9841.0001.000Hitting_SO0.9940.0000.0061.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_H: 0.9300 -> 2.0000 (boost 1.0700, better)
Biggest Deboostpredicted_AB: 4.3500 -> 4.0000 (deboost -0.3500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend20202-predicted_AB: 4.3500 -> 4.1061 (deboost -0.2439, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot20202-predicted_AVG: 0.2133 -> 0.2074 (deboost -0.0059, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling61515predicted_H: 0.8515 -> 1.0000 (boost 0.1485, better)predicted_RBI: 0.4799 -> 0.0000 (deboost -0.4799, worse)AB rounded to 4 (raw=4.35), rates preserved: AVG=0.196 HR/AB=0.032
5consistency_constraints10101-predicted_R: 0.4336 -> 0.0000 (deboost -0.4336, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context40404-predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference44040predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.3310 -> 0.3506 (boost 0.0196, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "572233",
  "player_name": "Christian Walker",
  "position": "1B",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.192,
        "predicted_3B": 0.008,
        "predicted_AB": 4.35,
        "predicted_AVG": 0.213,
        "predicted_BB": 0.344,
        "predicted_H": 0.93,
        "predicted_HR": 0.15,
        "predicted_OBP": 0.269,
        "predicted_R": 0.496,
        "predicted_RBI": 0.52,
        "predicted_SLG": 0.357,
        "predicted_SO": 0.984
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1612,
        "predicted_3B": 0.0067,
        "predicted_AB": 4.1061,
        "predicted_AVG": 0.2133,
        "predicted_BB": 0.3114,
        "predicted_H": 0.8779,
        "predicted_HBP": 0.043,
        "predicted_HR": 0.1422,
        "predicted_OBP": 0.2687,
        "predicted_R": 0.4569,
        "predicted_RBI": 0.5057,
        "predicted_SLG": 0.3552,
        "predicted_SO": 0.9992
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.192,
          "after": 0.1612,
          "delta": -0.0308,
          "percent_delta": -0.1604,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.008,
          "after": 0.0067,
          "delta": -0.0013,
          "percent_delta": -0.1625,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.35,
          "after": 4.1061,
          "delta": -0.2439,
          "percent_delta": -0.0561,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.213,
          "after": 0.2133,
          "delta": 0.0003,
          "percent_delta": 0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.344,
          "after": 0.3114,
          "delta": -0.0326,
          "percent_delta": -0.0948,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.93,
          "after": 0.8779,
          "delta": -0.0521,
          "percent_delta": -0.056,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.15,
          "after": 0.1422,
          "delta": -0.0078,
          "percent_delta": -0.052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.269,
          "after": 0.2687,
          "delta": -0.0003,
          "percent_delta": -0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.496,
          "after": 0.4569,
          "delta": -0.0391,
          "percent_delta": -0.0788,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.52,
          "after": 0.5057,
          "delta": -0.0143,
          "percent_delta": -0.0275,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.357,
          "after": 0.3552,
          "delta": -0.0018,
          "percent_delta": -0.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.984,
          "after": 0.9992,
          "delta": 0.0152,
          "percent_delta": 0.0154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.35,
          "after": 4.1061,
          "delta": -0.2439,
          "percent_delta": -0.0561,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 125
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1612,
        "predicted_3B": 0.0067,
        "predicted_AB": 4.1061,
        "predicted_AVG": 0.2074,
        "predicted_BB": 0.3093,
        "predicted_H": 0.8515,
        "predicted_HBP": 0.043,
        "predicted_HR": 0.1379,
        "predicted_OBP": 0.2629,
        "predicted_R": 0.4336,
        "predicted_RBI": 0.4799,
        "predicted_SLG": 0.3506,
        "predicted_SO": 1.006
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1612,
          "after": 0.1612,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0067,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1061,
          "after": 4.1061,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2133,
          "after": 0.2074,
          "delta": -0.0059,
          "percent_delta": -0.0277,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3114,
          "after": 0.3093,
          "delta": -0.0021,
          "percent_delta": -0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8779,
          "after": 0.8515,
          "delta": -0.0264,
          "percent_delta": -0.0301,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.043,
          "after": 0.043,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1422,
          "after": 0.1379,
          "delta": -0.0043,
          "percent_delta": -0.0302,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2687,
          "after": 0.2629,
          "delta": -0.0058,
          "percent_delta": -0.0216,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4569,
          "after": 0.4336,
          "delta": -0.0233,
          "percent_delta": -0.051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5057,
          "after": 0.4799,
          "delta": -0.0258,
          "percent_delta": -0.051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3552,
          "after": 0.3506,
          "delta": -0.0046,
          "percent_delta": -0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.9992,
          "after": 1.006,
          "delta": 0.0068,
          "percent_delta": 0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2133,
          "after": 0.2074,
          "delta": -0.0059,
          "percent_delta": -0.0277,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.35), rates preserved: AVG=0.196 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.1612,
          "after": 0.0,
          "delta": -0.1612,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0,
          "delta": -0.0067,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1061,
          "after": 4.0,
          "delta": -0.1061,
          "percent_delta": -0.0258,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3093,
          "after": 0.0,
          "delta": -0.3093,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8515,
          "after": 1.0,
          "delta": 0.1485,
          "percent_delta": 0.1744,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.043,
          "after": 0.0,
          "delta": -0.043,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1379,
          "after": 0.0,
          "delta": -0.1379,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4799,
          "after": 0.0,
          "delta": -0.4799,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.006,
          "after": 1.0,
          "delta": -0.006,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.8515,
          "after": 1.0,
          "delta": 0.1485,
          "percent_delta": 0.1744,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4799,
          "after": 0.0,
          "delta": -0.4799,
          "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.4336,
          "after": 0.0,
          "delta": -0.4336,
          "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.4336,
          "after": 0.0,
          "delta": -0.4336,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.196,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.255,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.331,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2074,
          "after": 0.196,
          "delta": -0.0114,
          "percent_delta": -0.055,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2629,
          "after": 0.255,
          "delta": -0.0079,
          "percent_delta": -0.03,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3506,
          "after": 0.331,
          "delta": -0.0196,
          "percent_delta": -0.0559,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2074,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.2629,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3506,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.196,
          "after": 0.2074,
          "delta": 0.0114,
          "percent_delta": 0.058,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.255,
          "after": 0.2629,
          "delta": 0.0079,
          "percent_delta": 0.0309,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.331,
          "after": 0.3506,
          "delta": 0.0196,
          "percent_delta": 0.0593,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.331,
          "after": 0.3506,
          "delta": 0.0196,
          "percent_delta": 0.0593,
          "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.192,
        "after": 0.0,
        "delta": -0.192,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.008,
        "after": 0.0,
        "delta": -0.008,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.35,
        "after": 4.0,
        "delta": -0.35,
        "percent_delta": -0.0805,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.213,
        "after": 0.2074,
        "delta": -0.0056,
        "percent_delta": -0.0263,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.344,
        "after": 0.0,
        "delta": -0.344,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.93,
        "after": 2.0,
        "delta": 1.07,
        "percent_delta": 1.1505,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.15,
        "after": 1.0,
        "delta": 0.85,
        "percent_delta": 5.6667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.269,
        "after": 0.2629,
        "delta": -0.0061,
        "percent_delta": -0.0227,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.496,
        "after": 1.0,
        "delta": 0.504,
        "percent_delta": 1.0161,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.52,
        "after": 1.0,
        "delta": 0.48,
        "percent_delta": 0.9231,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.357,
        "after": 0.3506,
        "delta": -0.0064,
        "percent_delta": -0.0179,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.984,
        "after": 1.0,
        "delta": 0.016,
        "percent_delta": 0.0163,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 4,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.93,
        "after": 2.0,
        "delta": 1.07,
        "percent_delta": 1.1505,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.35,
        "after": 4.0,
        "delta": -0.35,
        "percent_delta": -0.0805,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "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.192-
predicted_3B0.008-
predicted_AB4.350-
predicted_AVG0.213-
predicted_BB0.344-
predicted_H0.930-
predicted_HR0.150-
predicted_OBP0.269-
predicted_R0.496-
predicted_RBI0.520-
predicted_SLG0.357-
predicted_SO0.984-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.161-0.031
predicted_3B0.007-0.001
predicted_AB4.106-0.244
predicted_AVG0.2130.000
predicted_BB0.311-0.033
predicted_H0.878-0.052
predicted_HBP0.043-
predicted_HR0.142-0.008
predicted_OBP0.269-0.000
predicted_R0.457-0.039
predicted_RBI0.506-0.014
predicted_SLG0.355-0.002
predicted_SO0.9990.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.1610.000
predicted_3B0.0070.000
predicted_AB4.1060.000
predicted_AVG0.207-0.006
predicted_BB0.309-0.002
predicted_H0.852-0.026
predicted_HBP0.0430.000
predicted_HR0.138-0.004
predicted_OBP0.263-0.006
predicted_R0.434-0.023
predicted_RBI0.480-0.026
predicted_SLG0.351-0.005
predicted_SO1.0060.007
4. ab_floor_and_scaling

AB rounded to 4 (raw=4.35), rates preserved: AVG=0.196 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. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0001.000
RBI0.0000.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.161
predicted_3B0.000-0.007
predicted_AB4.000-0.106
predicted_AVG0.196-0.011
predicted_BB0.000-0.309
predicted_H1.0000.148
predicted_HR0.000-0.138
predicted_OBP0.255-0.008
predicted_R0.000-0.434
predicted_RBI0.000-0.480
predicted_SLG0.331-0.020
predicted_SO1.000-0.006
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
H2.0001.000
HBP0.0000.000
HR1.0001.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: 125
Reference playing time: 4.350
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0004.0000.0000.0000.0001.0001.0001.0005.0000.21050.23810.21050.21050.00000.05260.05260.2632
last_100.2010-40.0006.0000.0000.0001.0005.0003.0001.00012.0000.15000.16670.22500.15000.02500.12500.02500.3000
season0.60125-464.000108.00024.0001.00023.00072.00062.00043.000123.0000.23280.30890.43750.23280.04960.15520.09270.2651
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1210
predicted_3B0.0050
predicted_AB3.7880
predicted_AVG0.2138
predicted_BB0.2690
predicted_H0.8100
predicted_HBP0.0430
predicted_HR0.1320
predicted_OBP0.2684
predicted_R0.4060
predicted_RBI0.4870
predicted_SLG0.3528
predicted_SO1.0190
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19200.12100.1612model_form_blend
predicted_3B0.00800.00500.0067model_form_blend
predicted_AB4.35003.78804.1061model_form_blend
predicted_AVG0.21300.21380.2133model_form_blend
predicted_BB0.34400.26900.3114model_form_blend
predicted_H0.93000.81000.8779model_form_blend
predicted_HBP-0.04300.0430form_only
predicted_HR0.15000.13200.1422model_form_blend
predicted_OBP0.26900.26840.2687model_form_blend
predicted_R0.49600.40600.4569model_form_blend
predicted_RBI0.52000.48700.5057model_form_blend
predicted_SLG0.35700.35280.3552model_form_blend
predicted_SO0.98401.01900.9992model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E1
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260826_HOU@NYY
game_typefull
mlbID572233
playerID572233
playerNameChristian Walker
pos1B
startedTrue
startingPosition1B
teamHOU
teamID11
game_date2026-08-26
sl_k_percent23.3
sl_bb_percent8.1
sl_woba0.32
sl_xwoba0.303
sl_xba0.227
sl_xslg0.387
sl_sweet_spot_percent30.7
sl_barrel_batted_rate9.0
sl_hard_hit_percent41.4
sl_exit_velocity_avg89.2
sl_launch_angle_avg13.4
sl_whiff_percent29.3
sl_swing_percent50.3
Cam Smith (701358) · BATTER · RF · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 465
All-history rows before 20260827: 465
System season_avg: 0.2170
Data season_avg (2026 season-to-date): 0.2284
Diff (system - data): -0.0114
System opponent_avg: 0.0910

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1250.0000.000Hitting_2B0.1480.000-0.1480.000
predicted_3B0.0330.0000.000Hitting_3B0.0320.000-0.0320.000
predicted_AB3.5004.0004.000Hitting_AB3.5782.0000.4222.000
predicted_AVG0.1730.0000.000Hitting_AVG0.2280.000-0.2280.000
predicted_BB0.2920.0000.000Hitting_BB0.3120.000-0.3120.000
predicted_CS-0.0000.000BaseRunning_CS0.0090.000-0.0090.000
predicted_H0.2800.0000.000Hitting_H0.8170.000-0.8170.000
predicted_HR0.0700.0000.000Hitting_HR0.1480.000-0.1480.000
predicted_OBP0.2090.0000.000Hitting_OBP0.2970.000-0.2970.000
predicted_R0.4670.0000.000Hitting_R0.4950.000-0.4950.000
predicted_RBI0.1700.0000.000Hitting_RBI0.4470.000-0.4470.000
predicted_SLG0.4060.0000.000Hitting_SLG0.4120.000-0.4120.000
predicted_SO0.9752.0001.000Hitting_SO0.9981.0001.0021.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.9750 -> 2.0000 (boost 1.0250, worse)
Biggest Deboostpredicted_R: 0.4670 -> 0.0000 (deboost -0.4670, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend53232predicted_H: 0.2800 -> 0.4019 (boost 0.1219, better)predicted_AB: 3.5000 -> 3.4347 (deboost -0.0653, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_SLG: 0.3793 -> 0.2519 (deboost -0.1274, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling71616predicted_AB: 3.4347 -> 4.0000 (boost 0.5653, better)predicted_H: 0.3898 -> 0.0000 (deboost -0.3898, worse)AB rounded to 4 (raw=3.50), rates preserved: AVG=0.111 HR/AB=0.023
5consistency_constraints10101-predicted_R: 0.4333 -> 0.0000 (deboost -0.4333, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference11001predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)-Attached simulation box score without overwriting model prediction
9current_json_final00000--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.125,
        "predicted_3B": 0.033,
        "predicted_AB": 3.5,
        "predicted_AVG": 0.173,
        "predicted_BB": 0.292,
        "predicted_H": 0.28,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.209,
        "predicted_R": 0.467,
        "predicted_RBI": 0.17,
        "predicted_SLG": 0.406,
        "predicted_SO": 0.975
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1042,
        "predicted_3B": 0.0624,
        "predicted_AB": 3.4347,
        "predicted_AVG": 0.1708,
        "predicted_BB": 0.2669,
        "predicted_H": 0.4019,
        "predicted_HBP": 0.029,
        "predicted_HR": 0.0847,
        "predicted_OBP": 0.2148,
        "predicted_R": 0.4566,
        "predicted_RBI": 0.2521,
        "predicted_SLG": 0.3793,
        "predicted_SO": 0.997
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.125,
          "after": 0.1042,
          "delta": -0.0208,
          "percent_delta": -0.1664,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.033,
          "after": 0.0624,
          "delta": 0.0294,
          "percent_delta": 0.8909,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5,
          "after": 3.4347,
          "delta": -0.0653,
          "percent_delta": -0.0187,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.173,
          "after": 0.1708,
          "delta": -0.0022,
          "percent_delta": -0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.292,
          "after": 0.2669,
          "delta": -0.0251,
          "percent_delta": -0.086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.28,
          "after": 0.4019,
          "delta": 0.1219,
          "percent_delta": 0.4354,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.0847,
          "delta": 0.0147,
          "percent_delta": 0.21,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.209,
          "after": 0.2148,
          "delta": 0.0058,
          "percent_delta": 0.0278,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.467,
          "after": 0.4566,
          "delta": -0.0104,
          "percent_delta": -0.0223,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.17,
          "after": 0.2521,
          "delta": 0.0821,
          "percent_delta": 0.4829,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.406,
          "after": 0.3793,
          "delta": -0.0267,
          "percent_delta": -0.0658,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.975,
          "after": 0.997,
          "delta": 0.022,
          "percent_delta": 0.0226,
          "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.28,
          "after": 0.4019,
          "delta": 0.1219,
          "percent_delta": 0.4354,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.5,
          "after": 3.4347,
          "delta": -0.0653,
          "percent_delta": -0.0187,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.1042,
        "predicted_3B": 0.0624,
        "predicted_AB": 3.4347,
        "predicted_AVG": 0.1135,
        "predicted_BB": 0.2651,
        "predicted_H": 0.3898,
        "predicted_HBP": 0.029,
        "predicted_HR": 0.0821,
        "predicted_OBP": 0.177,
        "predicted_R": 0.4333,
        "predicted_RBI": 0.2392,
        "predicted_SLG": 0.2519,
        "predicted_SO": 1.0038
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1042,
          "after": 0.1042,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0624,
          "after": 0.0624,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4347,
          "after": 3.4347,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1708,
          "after": 0.1135,
          "delta": -0.0573,
          "percent_delta": -0.3355,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2669,
          "after": 0.2651,
          "delta": -0.0018,
          "percent_delta": -0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4019,
          "after": 0.3898,
          "delta": -0.0121,
          "percent_delta": -0.0301,
          "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.0847,
          "after": 0.0821,
          "delta": -0.0026,
          "percent_delta": -0.0307,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2148,
          "after": 0.177,
          "delta": -0.0378,
          "percent_delta": -0.176,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4566,
          "after": 0.4333,
          "delta": -0.0233,
          "percent_delta": -0.051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2521,
          "after": 0.2392,
          "delta": -0.0129,
          "percent_delta": -0.0512,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3793,
          "after": 0.2519,
          "delta": -0.1274,
          "percent_delta": -0.3359,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.997,
          "after": 1.0038,
          "delta": 0.0068,
          "percent_delta": 0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3793,
          "after": 0.2519,
          "delta": -0.1274,
          "percent_delta": -0.3359,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.50), rates preserved: AVG=0.111 HR/AB=0.023",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.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.1042,
          "after": 0.0,
          "delta": -0.1042,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0624,
          "after": 0.0,
          "delta": -0.0624,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.4347,
          "after": 4.0,
          "delta": 0.5653,
          "percent_delta": 0.1646,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2651,
          "after": 0.0,
          "delta": -0.2651,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.3898,
          "after": 0.0,
          "delta": -0.3898,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.029,
          "after": 0.0,
          "delta": -0.029,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0821,
          "after": 0.0,
          "delta": -0.0821,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2392,
          "after": 0.0,
          "delta": -0.2392,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0038,
          "after": 1.0,
          "delta": -0.0038,
          "percent_delta": -0.0038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.4347,
          "after": 4.0,
          "delta": 0.5653,
          "percent_delta": 0.1646,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.3898,
          "after": 0.0,
          "delta": -0.3898,
          "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": 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_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4333,
          "after": 0.0,
          "delta": -0.4333,
          "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.4333,
          "after": 0.0,
          "delta": -0.4333,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": {},
      "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.111,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.18,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.247,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1135,
          "after": 0.111,
          "delta": -0.0025,
          "percent_delta": -0.022,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.177,
          "after": 0.18,
          "delta": 0.003,
          "percent_delta": 0.0169,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2519,
          "after": 0.247,
          "delta": -0.0049,
          "percent_delta": -0.0195,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 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": 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.1135,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.177,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2519,
        "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.111,
          "after": 0.1135,
          "delta": 0.0025,
          "percent_delta": 0.0224,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.18,
          "after": 0.177,
          "delta": -0.003,
          "percent_delta": -0.0166,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.247,
          "after": 0.2519,
          "delta": 0.0049,
          "percent_delta": 0.0198,
          "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": "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.033,
        "after": 0.0,
        "delta": -0.033,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.5,
        "after": 4.0,
        "delta": 0.5,
        "percent_delta": 0.1429,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.173,
        "after": 0.1135,
        "delta": -0.0595,
        "percent_delta": -0.3439,
        "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.28,
        "after": 0.0,
        "delta": -0.28,
        "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.209,
        "after": 0.177,
        "delta": -0.032,
        "percent_delta": -0.1531,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.467,
        "after": 0.0,
        "delta": -0.467,
        "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.406,
        "after": 0.2519,
        "delta": -0.1541,
        "percent_delta": -0.3796,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.975,
        "after": 2.0,
        "delta": 1.025,
        "percent_delta": 1.0513,
        "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.975,
        "after": 2.0,
        "delta": 1.025,
        "percent_delta": 1.0513,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.467,
        "after": 0.0,
        "delta": -0.467,
        "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.033-
predicted_AB3.500-
predicted_AVG0.173-
predicted_BB0.292-
predicted_H0.280-
predicted_HR0.070-
predicted_OBP0.209-
predicted_R0.467-
predicted_RBI0.170-
predicted_SLG0.406-
predicted_SO0.975-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.104-0.021
predicted_3B0.0620.029
predicted_AB3.435-0.065
predicted_AVG0.171-0.002
predicted_BB0.267-0.025
predicted_H0.4020.122
predicted_HBP0.029-
predicted_HR0.0850.015
predicted_OBP0.2150.006
predicted_R0.457-0.010
predicted_RBI0.2520.082
predicted_SLG0.379-0.027
predicted_SO0.9970.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.1040.000
predicted_3B0.0620.000
predicted_AB3.4350.000
predicted_AVG0.114-0.057
predicted_BB0.265-0.002
predicted_H0.390-0.012
predicted_HBP0.0290.000
predicted_HR0.082-0.003
predicted_OBP0.177-0.038
predicted_R0.433-0.023
predicted_RBI0.239-0.013
predicted_SLG0.252-0.127
predicted_SO1.0040.007
4. ab_floor_and_scaling

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

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.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
AB4.0000.000
BB0.0000.000
CS0.000-
H0.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H0.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.104
predicted_3B0.000-0.062
predicted_AB4.0000.565
predicted_AVG0.111-0.003
predicted_BB0.000-0.265
predicted_H0.000-0.390
predicted_HR0.000-0.082
predicted_OBP0.1800.003
predicted_R0.000-0.433
predicted_RBI0.000-0.239
predicted_SLG0.247-0.005
predicted_SO1.000-0.004
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.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: 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-15.0001.0000.0001.0000.0001.0002.0001.0006.0000.06670.11760.20000.06670.00000.06670.06670.4000
last_100.2010-31.0003.0000.0002.0001.0004.0004.0001.00010.0000.09680.11760.32260.09680.03230.12900.03230.3226
season0.60120-420.00091.00015.0004.00017.00047.00056.00035.000117.0000.21670.28330.39290.21670.04050.11190.08330.2786
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0770
predicted_3B0.1010
predicted_AB3.3490
predicted_AVG0.1679
predicted_BB0.2340
predicted_H0.5620
predicted_HBP0.0290
predicted_HR0.1040
predicted_OBP0.2224
predicted_R0.4430
predicted_RBI0.3600
predicted_SLG0.3443
predicted_SO1.0260
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12500.07700.1042model_form_blend
predicted_3B0.03300.10100.0624model_form_blend
predicted_AB3.50003.34903.4347model_form_blend
predicted_AVG0.17300.16790.1708model_form_blend
predicted_BB0.29200.23400.2669model_form_blend
predicted_H0.28000.56200.4019model_form_blend
predicted_HBP-0.02900.0290form_only
predicted_HR0.07000.10400.0847model_form_blend
predicted_OBP0.20900.22240.2148model_form_blend
predicted_R0.46700.44300.4566model_form_blend
predicted_RBI0.17000.36000.2521model_form_blend
predicted_SLG0.40600.34430.3793model_form_blend
predicted_SO0.97501.02600.9970model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260826_HOU@NYY
game_typefull
mlbID701358
playerID701358
playerNameCam Smith
posRF
startedTrue
startingPositionRF
teamHOU
teamID11
game_date2026-08-26
sl_k_percent24.8
sl_bb_percent7.5
sl_woba0.294
sl_xwoba0.321
sl_xba0.242
sl_xslg0.428
sl_sweet_spot_percent30.9
sl_barrel_batted_rate11.0
sl_hard_hit_percent44.4
sl_exit_velocity_avg89.2
sl_launch_angle_avg11.6
sl_whiff_percent29.0
sl_swing_percent48.8
Isaac Paredes (670623) · BATTER · 3B · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 513
All-history rows before 20260827: 513
System season_avg: 0.2570
Data season_avg (2026 season-to-date): 0.2602
Diff (system - data): -0.0032
System opponent_avg: 0.2610

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1850.0000.000Hitting_2B0.1910.000-0.1910.000
predicted_3B0.0080.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB3.6904.0004.000Hitting_AB3.7683.0000.2321.000
predicted_AVG0.2670.0000.250Hitting_AVG0.2600.000-0.2600.000
predicted_BB0.4270.0001.000Hitting_BB0.4411.000-0.441-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9900.0001.000Hitting_H0.9810.000-0.9810.000
predicted_HR0.1300.0000.000Hitting_HR0.1360.000-0.1360.000
predicted_OBP0.3700.0000.400Hitting_OBP0.3570.250-0.357-0.250
predicted_R0.3950.0000.000Hitting_R0.4311.000-0.431-1.000
predicted_RBI0.7800.0001.000Hitting_RBI0.6060.000-0.6060.000
predicted_SLG0.4620.0000.250Hitting_SLG0.4240.000-0.4240.000
predicted_SO0.5650.0000.000Hitting_SO0.5850.000-0.5850.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics1
Deboosted Metrics9
Better Metrics2
Worse Metrics8
Biggest Boostpredicted_AB: 3.6900 -> 4.0000 (boost 0.3100, better)
Biggest Deboostpredicted_H: 0.9900 -> 0.0000 (deboost -0.9900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend64251predicted_BB: 0.4270 -> 0.4795 (boost 0.0525, better)predicted_SO: 0.5650 -> 0.4999 (deboost -0.0651, 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.4723 -> 0.4409 (deboost -0.0314, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling74334predicted_BB: 0.4762 -> 1.0000 (boost 0.5238, better)predicted_2B: 0.2050 -> 0.0000 (deboost -0.2050, worse)AB rounded to 4 (raw=3.69), rates preserved: AVG=0.262 HR/AB=0.038
5bvp_blend10101-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Sample-size BvP blend (BvP AB=23.0, weight=0.174, BvP AVG=0.261)
6consistency_constraints10101-predicted_R: 0.3781 -> 0.0000 (deboost -0.3781, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation21120predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context41304predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference30312-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
10current_json_final22020predicted_SLG: 0.4140 -> 0.4409 (boost 0.0269, 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.185,
        "predicted_3B": 0.008,
        "predicted_AB": 3.69,
        "predicted_AVG": 0.267,
        "predicted_BB": 0.427,
        "predicted_H": 0.99,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.37,
        "predicted_R": 0.395,
        "predicted_RBI": 0.78,
        "predicted_SLG": 0.462,
        "predicted_SO": 0.565
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.205,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.634,
        "predicted_AVG": 0.2733,
        "predicted_BB": 0.4795,
        "predicted_H": 0.9952,
        "predicted_HBP": 0.097,
        "predicted_HR": 0.1439,
        "predicted_OBP": 0.3753,
        "predicted_R": 0.3985,
        "predicted_RBI": 0.7639,
        "predicted_SLG": 0.4723,
        "predicted_SO": 0.4999
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.185,
          "after": 0.205,
          "delta": 0.02,
          "percent_delta": 0.1081,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.008,
          "after": 0.0067,
          "delta": -0.0013,
          "percent_delta": -0.1625,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.69,
          "after": 3.634,
          "delta": -0.056,
          "percent_delta": -0.0152,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.267,
          "after": 0.2733,
          "delta": 0.0063,
          "percent_delta": 0.0236,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.427,
          "after": 0.4795,
          "delta": 0.0525,
          "percent_delta": 0.123,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.99,
          "after": 0.9952,
          "delta": 0.0052,
          "percent_delta": 0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.13,
          "after": 0.1439,
          "delta": 0.0139,
          "percent_delta": 0.1069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.37,
          "after": 0.3753,
          "delta": 0.0053,
          "percent_delta": 0.0143,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.395,
          "after": 0.3985,
          "delta": 0.0035,
          "percent_delta": 0.0089,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.78,
          "after": 0.7639,
          "delta": -0.0161,
          "percent_delta": -0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.462,
          "after": 0.4723,
          "delta": 0.0103,
          "percent_delta": 0.0223,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.565,
          "after": 0.4999,
          "delta": -0.0651,
          "percent_delta": -0.1152,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.427,
          "after": 0.4795,
          "delta": 0.0525,
          "percent_delta": 0.123,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.565,
          "after": 0.4999,
          "delta": -0.0651,
          "percent_delta": -0.1152,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.205,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.634,
        "predicted_AVG": 0.2656,
        "predicted_BB": 0.4762,
        "predicted_H": 0.9652,
        "predicted_HBP": 0.097,
        "predicted_HR": 0.1395,
        "predicted_OBP": 0.3507,
        "predicted_R": 0.3781,
        "predicted_RBI": 0.7249,
        "predicted_SLG": 0.4409,
        "predicted_SO": 0.5033
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.205,
          "after": 0.205,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0067,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.634,
          "after": 3.634,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2733,
          "after": 0.2656,
          "delta": -0.0077,
          "percent_delta": -0.0282,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4795,
          "after": 0.4762,
          "delta": -0.0033,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9952,
          "after": 0.9652,
          "delta": -0.03,
          "percent_delta": -0.0301,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.097,
          "after": 0.097,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1439,
          "after": 0.1395,
          "delta": -0.0044,
          "percent_delta": -0.0306,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3753,
          "after": 0.3507,
          "delta": -0.0246,
          "percent_delta": -0.0655,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3985,
          "after": 0.3781,
          "delta": -0.0204,
          "percent_delta": -0.0512,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7639,
          "after": 0.7249,
          "delta": -0.039,
          "percent_delta": -0.0511,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4723,
          "after": 0.4409,
          "delta": -0.0314,
          "percent_delta": -0.0665,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4999,
          "after": 0.5033,
          "delta": 0.0034,
          "percent_delta": 0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4723,
          "after": 0.4409,
          "delta": -0.0314,
          "percent_delta": -0.0665,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.69), rates preserved: AVG=0.262 HR/AB=0.038",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.205,
          "after": 0.0,
          "delta": -0.205,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0,
          "delta": -0.0067,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.634,
          "after": 4.0,
          "delta": 0.366,
          "percent_delta": 0.1007,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4762,
          "after": 1.0,
          "delta": 0.5238,
          "percent_delta": 1.1,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9652,
          "after": 1.0,
          "delta": 0.0348,
          "percent_delta": 0.0361,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.097,
          "after": 0.0,
          "delta": -0.097,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1395,
          "after": 0.0,
          "delta": -0.1395,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7249,
          "after": 1.0,
          "delta": 0.2751,
          "percent_delta": 0.3795,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5033,
          "after": 1.0,
          "delta": 0.4967,
          "percent_delta": 0.9869,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.4762,
          "after": 1.0,
          "delta": 0.5238,
          "percent_delta": 1.1,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.205,
          "after": 0.0,
          "delta": -0.205,
          "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=23.0, weight=0.174, BvP AVG=0.261)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "model_expectation": 0.8264,
        "bvp": 0.1736
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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.3781,
          "after": 0.0,
          "delta": -0.3781,
          "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.3781,
          "after": 0.0,
          "delta": -0.3781,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "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": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "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": "embedded_savant_player_context",
      "description": "Player 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.261,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.342,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.414,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2656,
          "after": 0.261,
          "delta": -0.0046,
          "percent_delta": -0.0173,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3507,
          "after": 0.342,
          "delta": -0.0087,
          "percent_delta": -0.0248,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 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.4409,
          "after": 0.414,
          "delta": -0.0269,
          "percent_delta": -0.061,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "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.2656,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3507,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4409,
        "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.261,
          "after": 0.2656,
          "delta": 0.0046,
          "percent_delta": 0.0177,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.342,
          "after": 0.3507,
          "delta": 0.0087,
          "percent_delta": 0.0255,
          "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.414,
          "after": 0.4409,
          "delta": 0.0269,
          "percent_delta": 0.065,
          "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.414,
          "after": 0.4409,
          "delta": 0.0269,
          "percent_delta": 0.065,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.185,
        "after": 0.0,
        "delta": -0.185,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.008,
        "after": 0.0,
        "delta": -0.008,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.69,
        "after": 4.0,
        "delta": 0.31,
        "percent_delta": 0.084,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.267,
        "after": 0.2656,
        "delta": -0.0014,
        "percent_delta": -0.0052,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.427,
        "after": 0.0,
        "delta": -0.427,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.99,
        "after": 0.0,
        "delta": -0.99,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.13,
        "after": 0.0,
        "delta": -0.13,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.37,
        "after": 0.3507,
        "delta": -0.0193,
        "percent_delta": -0.0522,
        "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.78,
        "after": 0.0,
        "delta": -0.78,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.462,
        "after": 0.4409,
        "delta": -0.0211,
        "percent_delta": -0.0457,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.565,
        "after": 0.0,
        "delta": -0.565,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 1,
      "deboosted_metrics": 9,
      "better_metrics": 2,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.69,
        "after": 4.0,
        "delta": 0.31,
        "percent_delta": 0.084,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.99,
        "after": 0.0,
        "delta": -0.99,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.185-
predicted_3B0.008-
predicted_AB3.690-
predicted_AVG0.267-
predicted_BB0.427-
predicted_H0.990-
predicted_HR0.130-
predicted_OBP0.370-
predicted_R0.395-
predicted_RBI0.780-
predicted_SLG0.462-
predicted_SO0.565-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2050.020
predicted_3B0.007-0.001
predicted_AB3.634-0.056
predicted_AVG0.2730.006
predicted_BB0.4790.052
predicted_H0.9950.005
predicted_HBP0.097-
predicted_HR0.1440.014
predicted_OBP0.3750.005
predicted_R0.3990.004
predicted_RBI0.764-0.016
predicted_SLG0.4720.010
predicted_SO0.500-0.065
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2050.000
predicted_3B0.0070.000
predicted_AB3.6340.000
predicted_AVG0.266-0.008
predicted_BB0.476-0.003
predicted_H0.965-0.030
predicted_HBP0.0970.000
predicted_HR0.140-0.004
predicted_OBP0.351-0.025
predicted_R0.378-0.020
predicted_RBI0.725-0.039
predicted_SLG0.441-0.031
predicted_SO0.5030.003
4. ab_floor_and_scaling

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

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=23.0, weight=0.174, BvP AVG=0.261)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
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. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI1.0000.000
SO0.000-1.000
8. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.205
predicted_3B0.000-0.007
predicted_AB4.0000.366
predicted_AVG0.261-0.005
predicted_BB0.000-0.476
predicted_H1.0000.035
predicted_HR0.000-0.140
predicted_OBP0.342-0.009
predicted_R0.000-0.378
predicted_RBI1.0000.275
predicted_SLG0.414-0.027
predicted_SO1.0000.497
9. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO0.0000.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: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0005.0002.0000.0001.0005.0002.0004.0001.0000.29410.40910.58820.29410.05880.29410.23530.0588
last_100.2010-34.00012.0002.0000.0002.00010.0004.0007.0001.0000.35290.46510.58820.35290.05880.29410.20590.0294
season0.60124-452.000116.00023.0001.00017.00072.00049.00053.00070.0000.25660.35290.42480.25660.03760.15930.11730.1549
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2310
predicted_3B0.0050
predicted_AB3.5610
predicted_AVG0.2814
predicted_BB0.5480
predicted_H1.0020
predicted_HBP0.0970
predicted_HR0.1620
predicted_OBP0.3822
predicted_R0.4030
predicted_RBI0.7430
predicted_SLG0.4857
predicted_SO0.4150
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18500.23100.2050model_form_blend
predicted_3B0.00800.00500.0067model_form_blend
predicted_AB3.69003.56103.6340model_form_blend
predicted_AVG0.26700.28140.2733model_form_blend
predicted_BB0.42700.54800.4795model_form_blend
predicted_H0.99001.00200.9952model_form_blend
predicted_HBP-0.09700.0970form_only
predicted_HR0.13000.16200.1439model_form_blend
predicted_OBP0.37000.38220.3753model_form_blend
predicted_R0.39500.40300.3985model_form_blend
predicted_RBI0.78000.74300.7639model_form_blend
predicted_SLG0.46200.48570.4723model_form_blend
predicted_SO0.56500.41500.4999model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP1
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260826_HOU@NYY
game_typefull
mlbID670623
playerID670623
playerNameIsaac Paredes
pos3B
startedTrue
startingPosition3B
teamHOU
teamID11
game_date2026-08-26
sl_k_percent13.1
sl_bb_percent10.6
sl_woba0.343
sl_xwoba0.32
sl_xba0.244
sl_xslg0.364
sl_sweet_spot_percent37.5
sl_barrel_batted_rate4.9
sl_hard_hit_percent27.9
sl_exit_velocity_avg85.9
sl_launch_angle_avg23.9
sl_whiff_percent15.2
sl_swing_percent43.6
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 20260827: 236
All-history rows before 20260827: 236
System season_avg: 0.2170
Data season_avg (2026 season-to-date): 0.2373
Diff (system - data): -0.0203
System opponent_avg: 0.1850
System season_avg diverges from 2026 season-to-date by -0.0203. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0950.0000.000Hitting_2B0.1360.000-0.1360.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.9322.0003.000Hitting_AB3.1613.000-1.161-1.000
predicted_AVG0.2170.0000.333Hitting_AVG0.2370.000-0.2370.000
predicted_BB0.2161.0000.000Hitting_BB0.2540.0000.7461.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.5500.0001.000Hitting_H0.7500.000-0.7500.000
predicted_HR0.1300.0000.000Hitting_HR0.1060.000-0.1060.000
predicted_OBP0.2850.3330.333Hitting_OBP0.2930.0000.0410.333
predicted_R0.2840.0000.000Hitting_R0.3310.000-0.3310.000
predicted_RBI0.3200.0000.000Hitting_RBI0.4070.000-0.4070.000
predicted_SLG0.3840.0000.333Hitting_SLG0.3810.000-0.3810.000
predicted_SO0.6221.0001.000Hitting_SO0.6402.0000.360-1.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_BB: 0.2160 -> 1.0000 (boost 0.7840, better)
Biggest Deboostpredicted_AB: 2.9320 -> 2.0000 (deboost -0.9320, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend44040predicted_H: 0.5500 -> 0.6108 (boost 0.0608, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_OBP: 0.2928 -> 0.2629 (deboost -0.0299, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_H: 0.5924 -> 1.0000 (boost 0.4076, better)predicted_RBI: 0.3115 -> 0.0000 (deboost -0.3115, worse)AB rounded to 3 (raw=2.93), rates preserved: AVG=0.202 HR/AB=0.050
5bvp_blend00000--Sample-size BvP blend (BvP AB=27.0, weight=0.189, BvP AVG=0.185)
6consistency_constraints10101-predicted_R: 0.3043 -> 0.0000 (deboost -0.3043, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context20202-predicted_SLG: 0.3817 -> 0.3570 (deboost -0.0247, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference31212predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
10current_json_final22020predicted_SLG: 0.3570 -> 0.3817 (boost 0.0247, better)-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.095,
        "predicted_3B": 0.0,
        "predicted_AB": 2.932,
        "predicted_AVG": 0.217,
        "predicted_BB": 0.216,
        "predicted_H": 0.55,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.285,
        "predicted_R": 0.284,
        "predicted_RBI": 0.32,
        "predicted_SLG": 0.384,
        "predicted_SO": 0.622
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0829,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.9241,
        "predicted_AVG": 0.2261,
        "predicted_BB": 0.241,
        "predicted_H": 0.6108,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.1513,
        "predicted_OBP": 0.2928,
        "predicted_R": 0.3207,
        "predicted_RBI": 0.3283,
        "predicted_SLG": 0.4108,
        "predicted_SO": 0.6628
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.095,
          "after": 0.0829,
          "delta": -0.0121,
          "percent_delta": -0.1274,
          "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.932,
          "after": 2.9241,
          "delta": -0.0079,
          "percent_delta": -0.0027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.217,
          "after": 0.2261,
          "delta": 0.0091,
          "percent_delta": 0.0419,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.216,
          "after": 0.241,
          "delta": 0.025,
          "percent_delta": 0.1157,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.55,
          "after": 0.6108,
          "delta": 0.0608,
          "percent_delta": 0.1105,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.13,
          "after": 0.1513,
          "delta": 0.0213,
          "percent_delta": 0.1638,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.285,
          "after": 0.2928,
          "delta": 0.0078,
          "percent_delta": 0.0274,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.284,
          "after": 0.3207,
          "delta": 0.0367,
          "percent_delta": 0.1292,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.32,
          "after": 0.3283,
          "delta": 0.0083,
          "percent_delta": 0.0259,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.384,
          "after": 0.4108,
          "delta": 0.0268,
          "percent_delta": 0.0698,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.622,
          "after": 0.6628,
          "delta": 0.0408,
          "percent_delta": 0.0656,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.55,
          "after": 0.6108,
          "delta": 0.0608,
          "percent_delta": 0.1105,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 74
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0829,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.9241,
        "predicted_AVG": 0.2026,
        "predicted_BB": 0.2394,
        "predicted_H": 0.5924,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.1467,
        "predicted_OBP": 0.2629,
        "predicted_R": 0.3043,
        "predicted_RBI": 0.3115,
        "predicted_SLG": 0.3817,
        "predicted_SO": 0.6673
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0829,
          "after": 0.0829,
          "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.9241,
          "after": 2.9241,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2261,
          "after": 0.2026,
          "delta": -0.0235,
          "percent_delta": -0.1039,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.241,
          "after": 0.2394,
          "delta": -0.0016,
          "percent_delta": -0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6108,
          "after": 0.5924,
          "delta": -0.0184,
          "percent_delta": -0.0301,
          "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.1513,
          "after": 0.1467,
          "delta": -0.0046,
          "percent_delta": -0.0304,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2928,
          "after": 0.2629,
          "delta": -0.0299,
          "percent_delta": -0.1021,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3207,
          "after": 0.3043,
          "delta": -0.0164,
          "percent_delta": -0.0511,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3283,
          "after": 0.3115,
          "delta": -0.0168,
          "percent_delta": -0.0512,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4108,
          "after": 0.3817,
          "delta": -0.0291,
          "percent_delta": -0.0708,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6628,
          "after": 0.6673,
          "delta": 0.0045,
          "percent_delta": 0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.2928,
          "after": 0.2629,
          "delta": -0.0299,
          "percent_delta": -0.1021,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.93), rates preserved: AVG=0.202 HR/AB=0.050",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0829,
          "after": 0.0,
          "delta": -0.0829,
          "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.9241,
          "after": 3.0,
          "delta": 0.0759,
          "percent_delta": 0.026,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2394,
          "after": 0.0,
          "delta": -0.2394,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5924,
          "after": 1.0,
          "delta": 0.4076,
          "percent_delta": 0.688,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.003,
          "after": 0.0,
          "delta": -0.003,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1467,
          "after": 0.0,
          "delta": -0.1467,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3115,
          "after": 0.0,
          "delta": -0.3115,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6673,
          "after": 1.0,
          "delta": 0.3327,
          "percent_delta": 0.4986,
          "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.5924,
          "after": 1.0,
          "delta": 0.4076,
          "percent_delta": 0.688,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3115,
          "after": 0.0,
          "delta": -0.3115,
          "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=27.0, weight=0.189, BvP AVG=0.185)",
      "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.8105,
        "bvp": 0.1895
      },
      "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.3043,
          "after": 0.0,
          "delta": -0.3043,
          "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.3043,
          "after": 0.0,
          "delta": -0.3043,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "embedded_savant_player_context",
      "description": "Player 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.199,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.255,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.357,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2026,
          "after": 0.199,
          "delta": -0.0036,
          "percent_delta": -0.0178,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2629,
          "after": 0.255,
          "delta": -0.0079,
          "percent_delta": -0.03,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3817,
          "after": 0.357,
          "delta": -0.0247,
          "percent_delta": -0.0647,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.3817,
          "after": 0.357,
          "delta": -0.0247,
          "percent_delta": -0.0647,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "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.2026,
        "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.2629,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3817,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.199,
          "after": 0.2026,
          "delta": 0.0036,
          "percent_delta": 0.0181,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.255,
          "after": 0.2629,
          "delta": 0.0079,
          "percent_delta": 0.0311,
          "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.357,
          "after": 0.3817,
          "delta": 0.0247,
          "percent_delta": 0.0693,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.357,
          "after": 0.3817,
          "delta": 0.0247,
          "percent_delta": 0.0693,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.095,
        "after": 0.0,
        "delta": -0.095,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.932,
        "after": 2.0,
        "delta": -0.932,
        "percent_delta": -0.3179,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.217,
        "after": 0.2026,
        "delta": -0.0144,
        "percent_delta": -0.0664,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.216,
        "after": 1.0,
        "delta": 0.784,
        "percent_delta": 3.6296,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.55,
        "after": 0.0,
        "delta": -0.55,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.13,
        "after": 0.0,
        "delta": -0.13,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.285,
        "after": 0.2629,
        "delta": -0.0221,
        "percent_delta": -0.0775,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.284,
        "after": 0.0,
        "delta": -0.284,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.32,
        "after": 0.0,
        "delta": -0.32,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.384,
        "after": 0.3817,
        "delta": -0.0023,
        "percent_delta": -0.006,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.622,
        "after": 1.0,
        "delta": 0.378,
        "percent_delta": 0.6077,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 1,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.216,
        "after": 1.0,
        "delta": 0.784,
        "percent_delta": 3.6296,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 2.932,
        "after": 2.0,
        "delta": -0.932,
        "percent_delta": -0.3179,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.095-
predicted_3B0.000-
predicted_AB2.932-
predicted_AVG0.217-
predicted_BB0.216-
predicted_H0.550-
predicted_HR0.130-
predicted_OBP0.285-
predicted_R0.284-
predicted_RBI0.320-
predicted_SLG0.384-
predicted_SO0.622-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.083-0.012
predicted_3B0.0000.000
predicted_AB2.924-0.008
predicted_AVG0.2260.009
predicted_BB0.2410.025
predicted_H0.6110.061
predicted_HBP0.003-
predicted_HR0.1510.021
predicted_OBP0.2930.008
predicted_R0.3210.037
predicted_RBI0.3280.008
predicted_SLG0.4110.027
predicted_SO0.6630.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.0830.000
predicted_3B0.0000.000
predicted_AB2.9240.000
predicted_AVG0.203-0.023
predicted_BB0.239-0.002
predicted_H0.592-0.018
predicted_HBP0.0030.000
predicted_HR0.147-0.005
predicted_OBP0.263-0.030
predicted_R0.304-0.016
predicted_RBI0.311-0.017
predicted_SLG0.382-0.029
predicted_SO0.6670.005
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.93), rates preserved: AVG=0.202 HR/AB=0.050

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

Sample-size BvP blend (BvP AB=27.0, weight=0.189, BvP AVG=0.185)

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.000
SO1.0000.000
8. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.083
predicted_3B0.000-0.000
predicted_AB3.0000.076
predicted_AVG0.199-0.004
predicted_BB0.000-0.239
predicted_H1.0000.408
predicted_HR0.000-0.147
predicted_OBP0.255-0.008
predicted_R0.000-0.304
predicted_RBI0.000-0.311
predicted_SLG0.357-0.025
predicted_SO1.0000.333
9. 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
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 74
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-13.0004.0000.0000.0002.0002.0003.0002.0004.0000.30770.40000.76920.30770.15380.15380.15380.3077
last_100.2010-26.0006.0000.0000.0002.0002.0003.0003.0008.0000.23080.31030.46150.23080.07690.07690.11540.3077
season0.6074-217.00047.0007.0000.0007.00025.00021.00016.00046.0000.21660.26920.34560.21660.03230.11520.07370.2120
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0660
predicted_3B0.0010
predicted_AB2.9130
predicted_AVG0.2388
predicted_BB0.2760
predicted_H0.6960
predicted_HBP0.0030
predicted_HR0.1810
predicted_OBP0.3038
predicted_R0.3720
predicted_RBI0.3400
predicted_SLG0.4483
predicted_SO0.7200
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09500.06600.0829model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB2.93202.91302.9241model_form_blend
predicted_AVG0.21700.23880.2261model_form_blend
predicted_BB0.21600.27600.2410model_form_blend
predicted_H0.55000.69600.6108model_form_blend
predicted_HBP-0.00300.0030form_only
predicted_HR0.13000.18100.1513model_form_blend
predicted_OBP0.28500.30380.2928model_form_blend
predicted_R0.28400.37200.3207model_form_blend
predicted_RBI0.32000.34000.3283model_form_blend
predicted_SLG0.38400.44830.4108model_form_blend
predicted_SO0.62200.72000.6628model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_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_SO2
Hitting_TB0
Hitting_battingOrder9
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260826_HOU@NYY
game_typefull
mlbID543877
playerID543877
playerNameChristian Vázquez
posC
startedTrue
startingPositionC
teamHOU
teamID11
game_date2026-08-26
sl_k_percent19.7
sl_bb_percent7.2
sl_woba0.269
sl_xwoba0.238
sl_xba0.197
sl_xslg0.273
sl_sweet_spot_percent31.9
sl_barrel_batted_rate2.2
sl_hard_hit_percent22.5
sl_exit_velocity_avg85.9
sl_launch_angle_avg14.9
sl_whiff_percent19.7
sl_swing_percent47.6
Jose Altuve (514888) · BATTER · 2B · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 437
All-history rows before 20260827: 437
System season_avg: 0.2470
Data season_avg (2026 season-to-date): 0.2529
Diff (system - data): -0.0059
System opponent_avg: 0.2310

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1520.0000.000Hitting_2B0.1741.000-0.174-1.000
predicted_3B0.0190.0000.000Hitting_3B0.0210.000-0.0210.000
predicted_AB4.6204.0005.000Hitting_AB3.9913.0000.0091.000
predicted_AVG0.2330.0000.200Hitting_AVG0.2530.333-0.253-0.333
predicted_BB0.3430.0001.000Hitting_BB0.3641.000-0.364-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0230.000-0.0230.000
predicted_H1.0800.0001.000Hitting_H1.0091.000-1.009-1.000
predicted_HR0.1200.0000.000Hitting_HR0.1370.000-0.1370.000
predicted_OBP0.3090.0000.333Hitting_OBP0.3150.500-0.315-0.500
predicted_R0.5520.0001.000Hitting_R0.6061.000-0.606-1.000
predicted_RBI0.5000.0001.000Hitting_RBI0.3941.000-0.394-1.000
predicted_SB-0.0000.000BaseRunning_SB0.0410.000-0.0410.000
predicted_SLG0.3920.0000.200Hitting_SLG0.4100.667-0.410-0.667
predicted_SO0.8863.0001.000Hitting_SO0.8600.0002.1403.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics1
Deboosted Metrics9
Better Metrics0
Worse Metrics10
Biggest Boostpredicted_SO: 0.8860 -> 3.0000 (boost 2.1140, worse)
Biggest Deboostpredicted_H: 1.0800 -> 0.0000 (deboost -1.0800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32121predicted_AVG: 0.2330 -> 0.2459 (boost 0.0129, better)predicted_AB: 4.6200 -> 4.2894 (deboost -0.3306, worse)Final model input calibrated 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.4030 -> 0.3679 (deboost -0.0351, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62415predicted_AB: 4.2894 -> 5.0000 (boost 0.7106, better)predicted_RBI: 0.4548 -> 0.0000 (deboost -0.4548, worse)AB rounded to 5 (raw=4.62), rates preserved: AVG=0.221 HR/AB=0.027
5bvp_blend00000--Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.231)
6consistency_constraints10101-predicted_R: 0.4988 -> 0.0000 (deboost -0.4988, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation33030predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context60606-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference31203predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse)predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
10current_json_final33030predicted_SLG: 0.3330 -> 0.3679 (boost 0.0349, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "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.152,
        "predicted_3B": 0.019,
        "predicted_AB": 4.62,
        "predicted_AVG": 0.233,
        "predicted_BB": 0.343,
        "predicted_H": 1.08,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.309,
        "predicted_R": 0.552,
        "predicted_RBI": 0.5,
        "predicted_SLG": 0.392,
        "predicted_SO": 0.886
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.136,
        "predicted_3B": 0.0242,
        "predicted_AB": 4.2894,
        "predicted_AVG": 0.2459,
        "predicted_BB": 0.3257,
        "predicted_H": 1.0511,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.1286,
        "predicted_OBP": 0.3125,
        "predicted_R": 0.5257,
        "predicted_RBI": 0.4793,
        "predicted_SLG": 0.403,
        "predicted_SO": 0.9283
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.152,
          "after": 0.136,
          "delta": -0.016,
          "percent_delta": -0.1053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.019,
          "after": 0.0242,
          "delta": 0.0052,
          "percent_delta": 0.2737,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.62,
          "after": 4.2894,
          "delta": -0.3306,
          "percent_delta": -0.0716,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.233,
          "after": 0.2459,
          "delta": 0.0129,
          "percent_delta": 0.0554,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.343,
          "after": 0.3257,
          "delta": -0.0173,
          "percent_delta": -0.0504,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.08,
          "after": 1.0511,
          "delta": -0.0289,
          "percent_delta": -0.0268,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1286,
          "delta": 0.0086,
          "percent_delta": 0.0717,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.309,
          "after": 0.3125,
          "delta": 0.0035,
          "percent_delta": 0.0113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.552,
          "after": 0.5257,
          "delta": -0.0263,
          "percent_delta": -0.0476,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5,
          "after": 0.4793,
          "delta": -0.0207,
          "percent_delta": -0.0414,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.392,
          "after": 0.403,
          "delta": 0.011,
          "percent_delta": 0.0281,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.886,
          "after": 0.9283,
          "delta": 0.0423,
          "percent_delta": 0.0477,
          "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.233,
          "after": 0.2459,
          "delta": 0.0129,
          "percent_delta": 0.0554,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.62,
          "after": 4.2894,
          "delta": -0.3306,
          "percent_delta": -0.0716,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.136,
        "predicted_3B": 0.0242,
        "predicted_AB": 4.2894,
        "predicted_AVG": 0.2377,
        "predicted_BB": 0.3235,
        "predicted_H": 1.0195,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.1247,
        "predicted_OBP": 0.2911,
        "predicted_R": 0.4988,
        "predicted_RBI": 0.4548,
        "predicted_SLG": 0.3679,
        "predicted_SO": 0.9346
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.136,
          "after": 0.136,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0242,
          "after": 0.0242,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2894,
          "after": 4.2894,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2459,
          "after": 0.2377,
          "delta": -0.0082,
          "percent_delta": -0.0333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3257,
          "after": 0.3235,
          "delta": -0.0022,
          "percent_delta": -0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0511,
          "after": 1.0195,
          "delta": -0.0316,
          "percent_delta": -0.0301,
          "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.1286,
          "after": 0.1247,
          "delta": -0.0039,
          "percent_delta": -0.0303,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3125,
          "after": 0.2911,
          "delta": -0.0214,
          "percent_delta": -0.0685,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5257,
          "after": 0.4988,
          "delta": -0.0269,
          "percent_delta": -0.0512,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4793,
          "after": 0.4548,
          "delta": -0.0245,
          "percent_delta": -0.0511,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.403,
          "after": 0.3679,
          "delta": -0.0351,
          "percent_delta": -0.0871,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9283,
          "after": 0.9346,
          "delta": 0.0063,
          "percent_delta": 0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.403,
          "after": 0.3679,
          "delta": -0.0351,
          "percent_delta": -0.0871,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=4.62), rates preserved: AVG=0.221 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": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "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.0242,
          "after": 0.0,
          "delta": -0.0242,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2894,
          "after": 5.0,
          "delta": 0.7106,
          "percent_delta": 0.1657,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3235,
          "after": 0.0,
          "delta": -0.3235,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0195,
          "after": 1.0,
          "delta": -0.0195,
          "percent_delta": -0.0191,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.007,
          "after": 0.0,
          "delta": -0.007,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1247,
          "after": 0.0,
          "delta": -0.1247,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4548,
          "after": 0.0,
          "delta": -0.4548,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9346,
          "after": 1.0,
          "delta": 0.0654,
          "percent_delta": 0.07,
          "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.2894,
          "after": 5.0,
          "delta": 0.7106,
          "percent_delta": 0.1657,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4548,
          "after": 0.0,
          "delta": -0.4548,
          "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=13.0, weight=0.121, BvP AVG=0.231)",
      "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.8791,
        "bvp": 0.1209
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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.4988,
          "after": 0.0,
          "delta": -0.4988,
          "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.4988,
          "after": 0.0,
          "delta": -0.4988,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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_SO",
          "before": 1.0,
          "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_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "embedded_savant_player_context",
      "description": "Player 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.222,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.285,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.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": 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.2377,
          "after": 0.222,
          "delta": -0.0157,
          "percent_delta": -0.066,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2911,
          "after": 0.285,
          "delta": -0.0061,
          "percent_delta": -0.021,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3679,
          "after": 0.333,
          "delta": -0.0349,
          "percent_delta": -0.0949,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "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": 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": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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": 10,
      "step": "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.2377,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2911,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3679,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2377,
          "delta": 0.0157,
          "percent_delta": 0.0706,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.285,
          "after": 0.2911,
          "delta": 0.0061,
          "percent_delta": 0.0215,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.3679,
          "delta": 0.0349,
          "percent_delta": 0.1047,
          "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.333,
          "after": 0.3679,
          "delta": 0.0349,
          "percent_delta": 0.1047,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.152,
        "after": 0.0,
        "delta": -0.152,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.019,
        "after": 0.0,
        "delta": -0.019,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.62,
        "after": 4.0,
        "delta": -0.62,
        "percent_delta": -0.1342,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.233,
        "after": 0.2377,
        "delta": 0.0047,
        "percent_delta": 0.0202,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.343,
        "after": 0.0,
        "delta": -0.343,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.08,
        "after": 0.0,
        "delta": -1.08,
        "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.309,
        "after": 0.2911,
        "delta": -0.0179,
        "percent_delta": -0.0579,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.552,
        "after": 0.0,
        "delta": -0.552,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.5,
        "after": 0.0,
        "delta": -0.5,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.392,
        "after": 0.3679,
        "delta": -0.0241,
        "percent_delta": -0.0615,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.886,
        "after": 3.0,
        "delta": 2.114,
        "percent_delta": 2.386,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 1,
      "deboosted_metrics": 9,
      "better_metrics": 0,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.886,
        "after": 3.0,
        "delta": 2.114,
        "percent_delta": 2.386,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.08,
        "after": 0.0,
        "delta": -1.08,
        "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.152-
predicted_3B0.019-
predicted_AB4.620-
predicted_AVG0.233-
predicted_BB0.343-
predicted_H1.080-
predicted_HR0.120-
predicted_OBP0.309-
predicted_R0.552-
predicted_RBI0.500-
predicted_SLG0.392-
predicted_SO0.886-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.016
predicted_3B0.0240.005
predicted_AB4.289-0.331
predicted_AVG0.2460.013
predicted_BB0.326-0.017
predicted_H1.051-0.029
predicted_HBP0.007-
predicted_HR0.1290.009
predicted_OBP0.3120.004
predicted_R0.526-0.026
predicted_RBI0.479-0.021
predicted_SLG0.4030.011
predicted_SO0.9280.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.1360.000
predicted_3B0.0240.000
predicted_AB4.2890.000
predicted_AVG0.238-0.008
predicted_BB0.324-0.002
predicted_H1.020-0.032
predicted_HBP0.0070.000
predicted_HR0.125-0.004
predicted_OBP0.291-0.021
predicted_R0.499-0.027
predicted_RBI0.455-0.025
predicted_SLG0.368-0.035
predicted_SO0.9350.006
4. ab_floor_and_scaling

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

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=13.0, weight=0.121, BvP AVG=0.231)

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
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB1.0001.000
H1.0000.000
HR0.0000.000
R1.0001.000
RBI1.0001.000
SO1.0000.000
8. embedded_savant_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.024
predicted_AB5.0000.711
predicted_AVG0.222-0.016
predicted_BB0.000-0.324
predicted_H1.000-0.020
predicted_HR0.000-0.125
predicted_OBP0.285-0.006
predicted_R0.000-0.499
predicted_RBI0.000-0.455
predicted_SLG0.333-0.035
predicted_SO1.0000.065
9. 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.000-1.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO3.0002.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: 4.620
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.0003.0002.0001.0006.0000.26320.30000.42110.26320.05260.15790.05260.3158
last_100.2010-38.00012.0001.0001.0001.0005.0004.0003.00011.0000.31580.36590.47370.31580.02630.13160.07900.2895
season0.60105-409.000101.00016.0002.00014.00040.00058.00036.00093.0000.24690.30800.39850.24690.03420.09780.08800.2274
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1150
predicted_3B0.0310
predicted_AB3.8540
predicted_AVG0.2629
predicted_BB0.3030
predicted_H1.0130
predicted_HBP0.0070
predicted_HR0.1400
predicted_OBP0.3172
predicted_R0.4910
predicted_RBI0.4520
predicted_SLG0.4174
predicted_SO0.9840
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15200.11500.1360model_form_blend
predicted_3B0.01900.03100.0242model_form_blend
predicted_AB4.62003.85404.2894model_form_blend
predicted_AVG0.23300.26290.2459model_form_blend
predicted_BB0.34300.30300.3257model_form_blend
predicted_H1.08001.01301.0511model_form_blend
predicted_HBP-0.00700.0070form_only
predicted_HR0.12000.14000.1286model_form_blend
predicted_OBP0.30900.31720.3125model_form_blend
predicted_R0.55200.49100.5257model_form_blend
predicted_RBI0.50000.45200.4793model_form_blend
predicted_SLG0.39200.41740.4030model_form_blend
predicted_SO0.88600.98400.9283model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260826_HOU@NYY
game_typefull
mlbID514888
playerID514888
playerNameJose Altuve
pos2B
startedTrue
startingPosition2B
teamHOU
teamID11
game_date2026-08-26
sl_k_percent20.4
sl_bb_percent8.1
sl_woba0.311
sl_xwoba0.275
sl_xba0.222
sl_xslg0.327
sl_sweet_spot_percent31.6
sl_barrel_batted_rate4.8
sl_hard_hit_percent32.8
sl_exit_velocity_avg85.4
sl_launch_angle_avg9.2
sl_whiff_percent22.3
sl_swing_percent47.9
Hayden Wesneski (669713) · PITCHER · Starter · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 5
All-history rows before 20260827: 5

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB3.0003.0003.000Pitching_BB2.0003.0001.0000.000
predicted_ER2.0002.0002.000Pitching_ER2.6000.000-0.6002.000
predicted_H2.0002.0002.000Pitching_H4.8001.000-2.8001.000
predicted_IP5.1005.1005.100Pitching_InningsPitched5.4405.000-0.3400.100
predicted_SO5.0005.0005.000Pitching_SO4.4004.0000.6001.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": "669713",
  "player_name": "Hayden Wesneski",
  "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": 3.0,
        "predicted_ER": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.3333,
        "predicted_SO": 5.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.1,
        "predicted_R": 2.0,
        "predicted_SO": 5.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.3333,
          "after": 5.1,
          "delta": -0.2333,
          "percent_delta": -0.0438,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 5.3333,
          "after": 5.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": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 5.3333,
        "after": 5.1,
        "delta": -0.2333,
        "percent_delta": -0.0437,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 5.3333,
        "after": 5.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_ER2.000-
predicted_H2.000-
predicted_HR0.000-
predicted_IP5.333-
predicted_SO5.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 5
Reference playing time: 5.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45527.20013.00024.00010.00022.0002.0004.22891.22890.46990.86750.36140.79520.0723
last_100.35527.20013.00024.00010.00022.0002.0004.22891.22890.46990.86750.36140.79520.0723
season0.20527.20013.00024.00010.00022.0002.0004.22891.22890.46990.86750.36140.79520.0723
Weighted Prediction From Real Data
MetricValue
predicted_BB2.0050
predicted_ER2.6690
predicted_ERA4.3676
predicted_H5.0660
predicted_HR0.6020
predicted_IP5.1000
predicted_SO4.7870
predicted_WHIP1.2857
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB3.00002.00502.5634model_form_blend
predicted_ER2.00002.66902.2935model_form_blend
predicted_ERA-4.36764.3676form_only
predicted_H2.00005.06603.3452model_form_blend
predicted_HR0.00000.60200.2641model_form_blend
predicted_IP5.10005.10005.1000model_form_blend
predicted_SO5.00004.78704.9065model_form_blend
predicted_WHIP-1.28571.2857form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.1
H2
R2
ER2
BB3
SO5
HR0
BF23
Pitches97

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB3
Pitching_Balk0
Pitching_Batters Faced18
Pitching_ER0
Pitching_ERA4.23
Pitching_Flyouts2
Pitching_Groundouts4
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched5.0
Pitching_Pitches91
Pitching_R0
Pitching_SO4
Pitching_Strikes59
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260821_OAK@HOU
game_typefull
mlbID669713
playerID669713
playerNameHayden Wesneski
posP
startedTrue
startingPositionP
teamHOU
teamID11
game_date2026-08-21
sl_k_percent21.1
sl_bb_percent9.0
sl_woba0.294
sl_xwoba0.304
sl_sweet_spot_percent34.8
sl_barrel_batted_rate6.5
sl_hard_hit_percent40.2
sl_whiff_percent26.6
sl_swing_percent50.1
sl_avg_best_speed78.42807587
sl_avg_hyper_speed94.31652033
Josh Hader (623352) · PITCHER · Closer · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 34
All-history rows before 20260827: 34

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3240.000-0.3240.000
predicted_ER0.0000.0000.000Pitching_ER0.0880.000-0.0880.000
predicted_H0.0000.0000.000Pitching_H0.3820.000-0.3820.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9531.1000.047-0.100
predicted_SO1.0001.0001.000Pitching_SO1.2941.000-0.2940.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 33
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.1000.0003.0001.0006.0000.0000.00000.75000.00000.56250.18751.12500.0000
last_100.351011.1000.0003.0001.00011.0000.0000.00000.35290.00000.26470.08820.97060.0000
season0.203333.1002.00010.00011.00044.0001.0000.54000.63000.06000.30000.33001.32000.0300
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2610
predicted_ER0.2210
predicted_ERA1.9892
predicted_H0.6490
predicted_HR0.0660
predicted_IP1.0000
predicted_SO1.0400
predicted_WHIP0.9101
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.26100.1225model_form_blend
predicted_ER0.00000.22100.1037model_form_blend
predicted_ERA-1.98921.9892form_only
predicted_H0.00000.64900.3046model_form_blend
predicted_HR0.00000.06600.0310model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.04001.0188model_form_blend
predicted_WHIP-0.91010.9101form_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 date34
Season rows before report date34
Report year2026
Profile rows used33
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA0.81
Pitching_Flyouts2
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.1
Pitching_Pitches10
Pitching_R0
Pitching_SO1
Pitching_Strikes8
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260825_HOU@NYY
game_typefull
mlbID623352
playerID623352
playerNameJosh Hader
posP
startedFalse
startingPositionP
teamHOU
teamID11
game_date2026-08-25
sl_k_percent35.8
sl_bb_percent8.2
sl_woba0.167
sl_xwoba0.217
sl_sweet_spot_percent26.7
sl_barrel_batted_rate8.0
sl_hard_hit_percent34.7
sl_whiff_percent36.3
sl_swing_percent53.5
sl_avg_best_speed75.396715263
sl_avg_hyper_speed93.080613867
Steven Okert (595345) · PITCHER · Setup Man · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 65
All-history rows before 20260827: 65

Metric-by-Metric Comparison

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

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 65
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.2002.0003.0002.0005.0001.0003.85711.07140.42860.64290.42861.07140.2143
last_100.351010.0002.0007.0002.0009.0001.0001.80000.90000.20000.70000.20000.90000.1000
season0.206565.10016.00043.00014.00066.0007.0002.20410.87240.24490.65820.21431.01020.1071
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3230
predicted_ER0.3640
predicted_ERA3.2758
predicted_H0.7510
predicted_HR0.1510
predicted_IP1.0000
predicted_SO0.9840
predicted_WHIP1.0740
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.32300.1723model_form_blend
predicted_ER0.00000.36400.1941model_form_blend
predicted_ERA-3.27583.2758form_only
predicted_H2.00000.75101.3338model_form_blend
predicted_HR0.00000.15100.0805model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00000.98400.5248model_form_blend
predicted_WHIP-1.07401.0740form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER1
Pitching_ERA2.20
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches18
Pitching_R1
Pitching_SO1
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260825_HOU@NYY
game_typefull
mlbID595345
playerID595345
playerNameSteven Okert
posP
startedFalse
startingPositionP
teamHOU
teamID11
game_date2026-08-25
sl_k_percent26.1
sl_bb_percent5.4
sl_woba0.252
sl_xwoba0.274
sl_sweet_spot_percent33.7
sl_barrel_batted_rate6.9
sl_hard_hit_percent35.4
sl_whiff_percent30.9
sl_swing_percent50.0
sl_avg_best_speed76.784037294
sl_avg_hyper_speed93.312259588
Bryan Abreu (650556) · PITCHER · Middle Reliever (High Leverage) · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 52
All-history rows before 20260827: 52

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.6920.0000.3081.000
predicted_ER3.0003.0003.000Pitching_ER0.4421.0002.5582.000
predicted_H4.0004.0004.000Pitching_H0.6923.0003.3081.000
predicted_IP0.2001.0000.200Pitching_InningsPitched0.8651.0000.1350.000
predicted_SO0.0000.0000.000Pitching_SO1.2120.000-1.2120.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": "650556",
  "player_name": "Bryan Abreu",
  "position": "Middle Reliever (High Leverage)",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 3.0,
        "predicted_H": 4.0,
        "predicted_HR": 2.0,
        "predicted_IP": 0.6667,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 3.0,
        "predicted_H": 4.0,
        "predicted_HR": 2.0,
        "predicted_IP": 0.2,
        "predicted_R": 3.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 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": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 0.2,
        "delta": -0.4667,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 0.2,
        "delta": -0.4667,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER3.000-
predicted_H4.000-
predicted_HR2.000-
predicted_IP0.667-
predicted_SO0.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 51
Reference playing time: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.2001.0005.0004.0006.0000.0001.58821.58820.17650.88230.70591.05880.0000
last_100.351010.2003.0007.0008.00014.0000.0002.53121.40620.28120.65620.75001.31250.0000
season0.205149.20023.00034.00036.00063.0007.0004.16781.40940.46310.68460.72481.26850.1409
Weighted Prediction From Real Data
MetricValue
predicted_BB0.5380
predicted_ER0.3090
predicted_ERA3.1265
predicted_H0.7410
predicted_HR0.0600
predicted_IP1.0000
predicted_SO0.9850
predicted_WHIP1.4399
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.53800.7649model_form_blend
predicted_ER3.00000.30901.6307model_form_blend
predicted_ERA-3.12653.1265form_only
predicted_H4.00000.74102.3417model_form_blend
predicted_HR2.00000.06001.0128model_form_blend
predicted_IP0.20001.00001.0000model_form_blend
predicted_SO0.00000.98500.5012model_form_blend
predicted_WHIP-1.43991.4399form_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 date52
Season rows before report date52
Report year2026
Profile rows used51
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H4
R3
ER3
BB1
SO0
HR2
BF7
Pitches24

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER1
Pitching_ERA4.17
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H3
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches15
Pitching_R1
Pitching_SO0
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260825_HOU@NYY
game_typefull
mlbID650556
playerID650556
playerNameBryan Abreu
posP
startedFalse
startingPositionP
teamHOU
teamID11
game_date2026-08-25
sl_k_percent29.7
sl_bb_percent17.0
sl_woba0.326
sl_xwoba0.317
sl_sweet_spot_percent34.7
sl_barrel_batted_rate6.0
sl_hard_hit_percent40.7
sl_whiff_percent34.9
sl_swing_percent41.1
sl_avg_best_speed81.276064035
sl_avg_hyper_speed94.240100354

Home Team: NYY

Home Pitcher Deep Analysis

FieldValue
PitcherGerrit Cole
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.2663
ESPN Rank43
Movement AvailableTrue
Primary Pitch-
Movement Score0.1251
Avg Velo92.0826
Avg Spin2363.5792
HB Inches0
IVB Inches0
Release Extension0
Pre IP6
Pre ER2
Pre H2
Pre BB2
Pre SO8
Season ERA3.1079
Season WHIP1.0683
Role Avg IP5.7920
Recent Avg IP6.1330
Last Start IP6
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYY",
    "games": 131,
    "wins": 74,
    "losses": 57,
    "win_pct": 0.5649,
    "runs_scored": 586.0,
    "runs_allowed": 488.0,
    "run_differential": 98.0,
    "run_differential_per_game": 0.7481,
    "avg_runs_scored": 4.4733,
    "avg_runs_allowed": 3.7252,
    "offense_index": 0.9986,
    "defense_index": 1.2025,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.2,
      "run_differential": 9.0
    },
    "available": true,
    "quality_score": 0.182
  },
  "opponent": {
    "team": "HOU",
    "games": 132,
    "wins": 66,
    "losses": 66,
    "win_pct": 0.5,
    "runs_scored": 605.0,
    "runs_allowed": 647.0,
    "run_differential": -42.0,
    "run_differential_per_game": -0.3182,
    "avg_runs_scored": 4.5833,
    "avg_runs_allowed": 4.9015,
    "offense_index": 1.0232,
    "defense_index": 0.9139,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 6.1,
      "run_differential": -15.0
    },
    "available": true,
    "quality_score": -0.0741
  },
  "edges": {
    "quality_edge": 0.2561,
    "offense_edge": -0.0014,
    "opponent_offense_edge": 0.0232,
    "defense_strength": 0.2025,
    "opponent_defense_weakness": 0.0861,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0154,
    "run_prevention": 0.9707,
    "strikeout": 1.0058
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "543037",
    "profile": {
      "available": true,
      "pitcher_id": "543037",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 348.0,
        "k_percent": 26.6,
        "bb_percent": 5.3,
        "woba": 0.285,
        "xwoba": 0.282,
        "sweet_spot_percent": 34.4,
        "barrel_batted_rate": 8.1,
        "hard_hit_percent": 42.3,
        "avg_best_speed": 80.7584,
        "avg_hyper_speed": 94.0837,
        "whiff_percent": 22.2,
        "swing_percent": 48.6
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.2841,
        "command_and_miss": 0.3407,
        "regression_edge": 0.0857,
        "xwoba_edge": 0.8286,
        "barrel_edge": -0.2222,
        "hard_hit_edge": -0.6429,
        "whiff_edge": -0.4286,
        "bb_edge": 0.975,
        "pitch_design_score": 0.1251
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "543037",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 92,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 92,
          "pitch_usage": 0.0,
          "release_speed": 92.0825980662545,
          "release_spin_rate": 2363.5792056180953,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 92,
            "pitch_usage": 0.0,
            "release_speed": 92.0825980662545,
            "release_spin_rate": 2363.5792056180953,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0826,
          "release_spin_rate": 2363.5792,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1251,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.8939,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.2663,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9774,
      "strikeout_factor": 1.0091,
      "walk_factor": 0.922,
      "homer_factor": 1.0186,
      "woba_minus_xwoba": 0.003,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "543037",
        "espn_id": 32081,
        "player_name": "Gerrit Cole",
        "team": "NYY",
        "role": "pitcher",
        "espn_rank": 43,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 43,
          "gp_value": 16.0,
          "gp_rank": 419,
          "gs_value": 16.0,
          "gs_rank": 117,
          "qs_value": 10.0,
          "qs_rank": 50,
          "era_value": 3.1079,
          "era_rank": null,
          "w_value": 7.0,
          "w_rank": 73,
          "l_value": 6.0,
          "l_rank": 97,
          "sv_value": 0.0,
          "sv_rank": 241,
          "hld_value": 0.0,
          "hld_rank": 331,
          "ip_value": 92.2,
          "ip_rank": 121,
          "h_value": 79.0,
          "h_rank": 135,
          "er_value": 32.0,
          "er_rank": 166,
          "hr_value": 12.0,
          "hr_rank": 119,
          "bb_value": 20.0,
          "bb_rank": 262,
          "k_value": 100.0,
          "k_rank": 87,
          "k_per_9_value": 9.712231,
          "k_per_9_rank": 19.0,
          "whip_value": 1.0683,
          "whip_rank": null,
          "war_value": 2.52,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9774,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 0.9774,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.922,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0186,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 7.0,
        "factor": 1.0091,
        "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": 60.1,
    "ER": 19,
    "H": 50,
    "BB": 11,
    "SO": 71,
    "HR": 7,
    "ERA": 2.8342541436464086,
    "WHIP": 1.011049723756906,
    "K9": 10.591160220994475,
    "HR9": 1.0441988950276242,
    "games_pitched": 10,
    "quality_starts": 7,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-20T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "543037",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 92,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 92,
    "pitch_usage": 0.0,
    "release_speed": 92.0825980662545,
    "release_spin_rate": 2363.5792056180953,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 92,
      "pitch_usage": 0.0,
      "release_speed": 92.0825980662545,
      "release_spin_rate": 2363.5792056180953,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0826,
    "release_spin_rate": 2363.5792,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1251,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.8939,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 16.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7619,
    "prior_weight": 0.2381
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "543037",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 16,
  "reference_playing_time": 6.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 30.2,
        "ER": 5.0,
        "R": 6.0,
        "H": 23.0,
        "BB": 8.0,
        "SO": 34.0,
        "HR": 1.0,
        "BF": 121.0,
        "Pitches": 460.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 1.0,
        "R": 1.2,
        "H": 4.6,
        "BB": 1.6,
        "SO": 6.8,
        "HR": 0.2,
        "BF": 24.2,
        "Pitches": 92.0
      },
      "rates": {
        "ERA": 1.4674,
        "WHIP": 1.0109,
        "ER_per_IP": 0.16304,
        "H_per_IP": 0.75,
        "BB_per_IP": 0.26087,
        "SO_per_IP": 1.1087,
        "HR_per_IP": 0.03261
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 60.1,
        "ER": 19.0,
        "R": 20.0,
        "H": 50.0,
        "BB": 11.0,
        "SO": 71.0,
        "HR": 7.0,
        "BF": 240.0,
        "Pitches": 930.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 1.9,
        "R": 2.0,
        "H": 5.0,
        "BB": 1.1,
        "SO": 7.1,
        "HR": 0.7,
        "BF": 24.0,
        "Pitches": 93.0
      },
      "rates": {
        "ERA": 2.8343,
        "WHIP": 1.011,
        "ER_per_IP": 0.31492,
        "H_per_IP": 0.82873,
        "BB_per_IP": 0.18232,
        "SO_per_IP": 1.1768,
        "HR_per_IP": 0.11602
      }
    },
    "season": {
      "games": 16,
      "totals": {
        "IP": 92.2,
        "ER": 32.0,
        "R": 33.0,
        "H": 79.0,
        "BB": 20.0,
        "SO": 100.0,
        "HR": 12.0,
        "BF": 376.0,
        "Pitches": 1426.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 2.0,
        "R": 2.0625,
        "H": 4.9375,
        "BB": 1.25,
        "SO": 6.25,
        "HR": 0.75,
        "BF": 23.5,
        "Pitches": 89.125
      },
      "rates": {
        "ERA": 3.1079,
        "WHIP": 1.0683,
        "ER_per_IP": 0.34532,
        "H_per_IP": 0.85252,
        "BB_per_IP": 0.21583,
        "SO_per_IP": 1.07914,
        "HR_per_IP": 0.1295
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 6.0,
    "predicted_ER": 1.854,
    "predicted_H": 4.998,
    "predicted_BB": 1.538,
    "predicted_SO": 6.446,
    "predicted_HR": 0.576,
    "predicted_ERA": 2.8054,
    "predicted_WHIP": 1.0986
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4506,
  "form_weight": 0.5494,
  "form_reliability": 0.7619,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 16.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7619,
    "prior_weight": 0.2381
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 6.0,
      "form": 6.0,
      "final": 6.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 1.854,
      "final": 1.9198,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 4.998,
      "final": 3.6471,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 1.538,
      "final": 1.7462,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 8.0,
      "form": 6.446,
      "final": 7.1462,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.576,
      "final": 0.3165,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.8054,
      "final": 2.8054,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0986,
      "final": 1.0986,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherBrent Headrick
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.6559
ESPN Rank47
Movement AvailableTrue
Primary Pitch-
Movement Score0.0132
Avg Velo90.0844
Avg Spin2121.1076
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA1.8806
Season WHIP1.1791
Role Avg IP0.9850
Recent Avg IP0.9330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYY",
    "games": 131,
    "wins": 74,
    "losses": 57,
    "win_pct": 0.5649,
    "runs_scored": 586.0,
    "runs_allowed": 488.0,
    "run_differential": 98.0,
    "run_differential_per_game": 0.7481,
    "avg_runs_scored": 4.4733,
    "avg_runs_allowed": 3.7252,
    "offense_index": 0.9986,
    "defense_index": 1.2025,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.2,
      "run_differential": 9.0
    },
    "available": true,
    "quality_score": 0.182
  },
  "opponent": {
    "team": "HOU",
    "games": 132,
    "wins": 66,
    "losses": 66,
    "win_pct": 0.5,
    "runs_scored": 605.0,
    "runs_allowed": 647.0,
    "run_differential": -42.0,
    "run_differential_per_game": -0.3182,
    "avg_runs_scored": 4.5833,
    "avg_runs_allowed": 4.9015,
    "offense_index": 1.0232,
    "defense_index": 0.9139,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 6.1,
      "run_differential": -15.0
    },
    "available": true,
    "quality_score": -0.0741
  },
  "edges": {
    "quality_edge": 0.2561,
    "offense_edge": -0.0014,
    "opponent_offense_edge": 0.0232,
    "defense_strength": 0.2025,
    "opponent_defense_weakness": 0.0861,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0154,
    "run_prevention": 0.9707,
    "strikeout": 1.0058
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "687396",
    "profile": {
      "available": true,
      "pitcher_id": "687396",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 255.0,
        "k_percent": 30.4,
        "bb_percent": 7.2,
        "woba": 0.285,
        "xwoba": 0.269,
        "sweet_spot_percent": 39.5,
        "barrel_batted_rate": 4.7,
        "hard_hit_percent": 38.4,
        "avg_best_speed": 77.3551,
        "avg_hyper_speed": 93.9777,
        "whiff_percent": 32.0,
        "swing_percent": 53.7
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.6327,
        "command_and_miss": 0.98,
        "regression_edge": 0.4571,
        "xwoba_edge": 1.2,
        "barrel_edge": 0.5333,
        "hard_hit_edge": -0.0857,
        "whiff_edge": 0.9714,
        "bb_edge": 0.5,
        "pitch_design_score": 0.0132
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "687396",
        "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.08444346892821,
          "release_spin_rate": 2121.1075631539743,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.08444346892821,
            "release_spin_rate": 2121.1075631539743,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0844,
          "release_spin_rate": 2121.1076,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0132,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.0946,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.6559,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9442,
      "strikeout_factor": 1.0869,
      "walk_factor": 0.96,
      "homer_factor": 0.9248,
      "woba_minus_xwoba": 0.016,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "687396",
        "espn_id": 5116839,
        "player_name": "Brent Headrick",
        "team": "NYY",
        "role": "pitcher",
        "espn_rank": 47,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 47,
          "gp_value": 68.0,
          "gp_rank": 3,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 1.8805,
          "era_rank": null,
          "w_value": 7.0,
          "w_rank": 73,
          "l_value": 3.0,
          "l_rank": 219,
          "sv_value": 0.0,
          "sv_rank": 241,
          "hld_value": 21.0,
          "hld_rank": 10,
          "ip_value": 67.0,
          "ip_rank": 176,
          "h_value": 59.0,
          "h_rank": 176,
          "er_value": 14.0,
          "er_rank": 403,
          "hr_value": 4.0,
          "hr_rank": 347,
          "bb_value": 20.0,
          "bb_rank": 262,
          "k_value": 84.0,
          "k_rank": 123,
          "k_per_9_value": 11.283582,
          "k_per_9_rank": 18.0,
          "whip_value": 1.1791,
          "whip_rank": null,
          "war_value": 2.47,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9442,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9442,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.96,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9248,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0869,
        "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": 5,
    "H": 14,
    "BB": 1,
    "SO": 15,
    "HR": 2,
    "ERA": 5.000000000000001,
    "WHIP": 1.666666666666667,
    "K9": 15.000000000000004,
    "HR9": 2.0000000000000004,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "687396",
  "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.08444346892821,
    "release_spin_rate": 2121.1075631539743,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.08444346892821,
      "release_spin_rate": 2121.1075631539743,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0844,
    "release_spin_rate": 2121.1076,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0132,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.0946,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.446,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7289,
    "prior_weight": 0.2711
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "687396",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 68,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.2,
        "ER": 3.0,
        "R": 3.0,
        "H": 7.0,
        "BB": 1.0,
        "SO": 7.0,
        "HR": 1.0,
        "BF": 22.0,
        "Pitches": 100.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 1.4,
        "BB": 0.2,
        "SO": 1.4,
        "HR": 0.2,
        "BF": 4.4,
        "Pitches": 20.0
      },
      "rates": {
        "ERA": 5.7857,
        "WHIP": 1.7143,
        "ER_per_IP": 0.64286,
        "H_per_IP": 1.5,
        "BB_per_IP": 0.21429,
        "SO_per_IP": 1.5,
        "HR_per_IP": 0.21429
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.0,
        "ER": 5.0,
        "R": 5.0,
        "H": 14.0,
        "BB": 1.0,
        "SO": 15.0,
        "HR": 2.0,
        "BF": 42.0,
        "Pitches": 182.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.5,
        "R": 0.5,
        "H": 1.4,
        "BB": 0.1,
        "SO": 1.5,
        "HR": 0.2,
        "BF": 4.2,
        "Pitches": 18.2
      },
      "rates": {
        "ERA": 5.0,
        "WHIP": 1.6667,
        "ER_per_IP": 0.55556,
        "H_per_IP": 1.55556,
        "BB_per_IP": 0.11111,
        "SO_per_IP": 1.66667,
        "HR_per_IP": 0.22222
      }
    },
    "season": {
      "games": 68,
      "totals": {
        "IP": 67.0,
        "ER": 14.0,
        "R": 15.0,
        "H": 59.0,
        "BB": 20.0,
        "SO": 84.0,
        "HR": 4.0,
        "BF": 276.0,
        "Pitches": 1071.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2059,
        "R": 0.2206,
        "H": 0.8676,
        "BB": 0.2941,
        "SO": 1.2353,
        "HR": 0.0588,
        "BF": 4.0588,
        "Pitches": 15.75
      },
      "rates": {
        "ERA": 1.8806,
        "WHIP": 1.1791,
        "ER_per_IP": 0.20896,
        "H_per_IP": 0.8806,
        "BB_per_IP": 0.29851,
        "SO_per_IP": 1.25373,
        "HR_per_IP": 0.0597
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.519,
    "predicted_H": 1.281,
    "predicted_BB": 0.242,
    "predicted_SO": 1.356,
    "predicted_HR": 0.175,
    "predicted_ERA": 4.6691,
    "predicted_WHIP": 1.5233
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4645,
  "form_weight": 0.5355,
  "form_reliability": 0.7289,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.446,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7289,
    "prior_weight": 0.2711
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.519,
      "final": 0.2779,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.281,
      "final": 0.6859,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.242,
      "final": 0.1296,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.356,
      "final": 0.7261,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.175,
      "final": 0.0937,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.6691,
      "final": 4.6691,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.5233,
      "final": 1.5233,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherDavid Bednar
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.8981
ESPN Rank87
Movement AvailableTrue
Primary Pitch-
Movement Score0.0256
Avg Velo90.3055
Avg Spin2090.2279
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER2
Pre H2
Pre BB0
Pre SO2
Season ERA2.3547
Season WHIP0.9942
Role Avg IP1.0820
Recent Avg IP1.1330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYY",
    "games": 131,
    "wins": 74,
    "losses": 57,
    "win_pct": 0.5649,
    "runs_scored": 586.0,
    "runs_allowed": 488.0,
    "run_differential": 98.0,
    "run_differential_per_game": 0.7481,
    "avg_runs_scored": 4.4733,
    "avg_runs_allowed": 3.7252,
    "offense_index": 0.9986,
    "defense_index": 1.2025,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.2,
      "run_differential": 9.0
    },
    "available": true,
    "quality_score": 0.182
  },
  "opponent": {
    "team": "HOU",
    "games": 132,
    "wins": 66,
    "losses": 66,
    "win_pct": 0.5,
    "runs_scored": 605.0,
    "runs_allowed": 647.0,
    "run_differential": -42.0,
    "run_differential_per_game": -0.3182,
    "avg_runs_scored": 4.5833,
    "avg_runs_allowed": 4.9015,
    "offense_index": 1.0232,
    "defense_index": 0.9139,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 6.1,
      "run_differential": -15.0
    },
    "available": true,
    "quality_score": -0.0741
  },
  "edges": {
    "quality_edge": 0.2561,
    "offense_edge": -0.0014,
    "opponent_offense_edge": 0.0232,
    "defense_strength": 0.2025,
    "opponent_defense_weakness": 0.0861,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0154,
    "run_prevention": 0.9707,
    "strikeout": 1.0058
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "670280",
    "profile": {
      "available": true,
      "pitcher_id": "670280",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 225.0,
        "k_percent": 28.1,
        "bb_percent": 7.8,
        "woba": 0.236,
        "xwoba": 0.245,
        "sweet_spot_percent": 24.0,
        "barrel_batted_rate": 3.4,
        "hard_hit_percent": 33.6,
        "avg_best_speed": 74.7355,
        "avg_hyper_speed": 92.9428,
        "whiff_percent": 31.3,
        "swing_percent": 53.5
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.468,
        "command_and_miss": 0.7671,
        "regression_edge": -0.2571,
        "xwoba_edge": 1.8857,
        "barrel_edge": 0.8222,
        "hard_hit_edge": 0.6,
        "whiff_edge": 0.8714,
        "bb_edge": 0.35,
        "pitch_design_score": 0.0256
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "670280",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 18,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 18,
          "pitch_usage": 0.0,
          "release_speed": 90.30549364435211,
          "release_spin_rate": 2090.2279499168244,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 18,
            "pitch_usage": 0.0,
            "release_speed": 90.30549364435211,
            "release_spin_rate": 2090.2279499168244,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.3055,
          "release_spin_rate": 2090.2279,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0256,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.1831,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.8981,
      "sample_weight": 0.9,
      "run_prevention_factor": 0.9237,
      "strikeout_factor": 1.0627,
      "walk_factor": 0.9748,
      "homer_factor": 0.8683,
      "woba_minus_xwoba": -0.009,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "670280",
        "espn_id": 38303,
        "player_name": "David Bednar",
        "team": "NYY",
        "role": "pitcher",
        "espn_rank": 87,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 87,
          "gp_value": 53.0,
          "gp_rank": 61,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 2.3546,
          "era_rank": null,
          "w_value": 6.0,
          "w_rank": 93,
          "l_value": 3.0,
          "l_rank": 219,
          "sv_value": 30.0,
          "sv_rank": 5,
          "hld_value": 0.0,
          "hld_rank": 331,
          "ip_value": 57.1,
          "ip_rank": 218,
          "h_value": 39.0,
          "h_rank": 306,
          "er_value": 15.0,
          "er_rank": 385,
          "hr_value": 3.0,
          "hr_rank": 412,
          "bb_value": 18.0,
          "bb_rank": 301,
          "k_value": 65.0,
          "k_rank": 174,
          "k_per_9_value": 10.203488,
          "k_per_9_rank": 21.0,
          "whip_value": 0.9941,
          "whip_rank": null,
          "war_value": 1.74,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9313,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9313,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9773,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.8815,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0564,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 11.1,
    "ER": 1,
    "H": 4,
    "BB": 4,
    "SO": 12,
    "HR": 0,
    "ERA": 0.7941176470588235,
    "WHIP": 0.7058823529411764,
    "K9": 9.529411764705882,
    "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-21T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "670280",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 18,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 18,
    "pitch_usage": 0.0,
    "release_speed": 90.30549364435211,
    "release_spin_rate": 2090.2279499168244,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 18,
      "pitch_usage": 0.0,
      "release_speed": 90.30549364435211,
      "release_spin_rate": 2090.2279499168244,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.3055,
    "release_spin_rate": 2090.2279,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0256,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.1831,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.506,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6971,
    "prior_weight": 0.3029
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "670280",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 53,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.2,
        "ER": 0.0,
        "R": 1.0,
        "H": 2.0,
        "BB": 1.0,
        "SO": 7.0,
        "HR": 0.0,
        "BF": 21.0,
        "Pitches": 83.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.2,
        "H": 0.4,
        "BB": 0.2,
        "SO": 1.4,
        "HR": 0.0,
        "BF": 4.2,
        "Pitches": 16.6
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.5294,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.35294,
        "BB_per_IP": 0.17647,
        "SO_per_IP": 1.23529,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.1,
        "ER": 1.0,
        "R": 2.0,
        "H": 4.0,
        "BB": 4.0,
        "SO": 12.0,
        "HR": 0.0,
        "BF": 43.0,
        "Pitches": 175.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.2,
        "H": 0.4,
        "BB": 0.4,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 4.3,
        "Pitches": 17.5
      },
      "rates": {
        "ERA": 0.7941,
        "WHIP": 0.7059,
        "ER_per_IP": 0.08824,
        "H_per_IP": 0.35294,
        "BB_per_IP": 0.35294,
        "SO_per_IP": 1.05882,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 53,
      "totals": {
        "IP": 57.1,
        "ER": 15.0,
        "R": 19.0,
        "H": 39.0,
        "BB": 18.0,
        "SO": 65.0,
        "HR": 3.0,
        "BF": 231.0,
        "Pitches": 963.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.283,
        "R": 0.3585,
        "H": 0.7358,
        "BB": 0.3396,
        "SO": 1.2264,
        "HR": 0.0566,
        "BF": 4.3585,
        "Pitches": 18.1698
      },
      "rates": {
        "ERA": 2.3547,
        "WHIP": 0.9942,
        "ER_per_IP": 0.26163,
        "H_per_IP": 0.68023,
        "BB_per_IP": 0.31395,
        "SO_per_IP": 1.13372,
        "HR_per_IP": 0.05233
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.21,
    "predicted_H": 0.587,
    "predicted_BB": 0.297,
    "predicted_SO": 1.09,
    "predicted_HR": 0.052,
    "predicted_ERA": 1.887,
    "predicted_WHIP": 0.8836
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.478,
  "form_weight": 0.522,
  "form_reliability": 0.6971,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.506,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6971,
    "prior_weight": 0.3029
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 0.21,
      "final": 1.0656,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.587,
      "final": 1.2624,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.297,
      "final": 0.155,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.09,
      "final": 1.525,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 2.0,
      "form": 0.052,
      "final": 0.9831,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.887,
      "final": 1.887,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.8836,
      "final": 0.8836,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherFernando Cruz
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5149
ESPN Rank147
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2800
Avg Velo84.8077
Avg Spin1509.4367
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H1
Pre BB0
Pre SO2
Season ERA3.1280
Season WHIP1.3354
Role Avg IP0.8960
Recent Avg IP0.8670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYY",
    "games": 131,
    "wins": 74,
    "losses": 57,
    "win_pct": 0.5649,
    "runs_scored": 586.0,
    "runs_allowed": 488.0,
    "run_differential": 98.0,
    "run_differential_per_game": 0.7481,
    "avg_runs_scored": 4.4733,
    "avg_runs_allowed": 3.7252,
    "offense_index": 0.9986,
    "defense_index": 1.2025,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.2,
      "run_differential": 9.0
    },
    "available": true,
    "quality_score": 0.182
  },
  "opponent": {
    "team": "HOU",
    "games": 132,
    "wins": 66,
    "losses": 66,
    "win_pct": 0.5,
    "runs_scored": 605.0,
    "runs_allowed": 647.0,
    "run_differential": -42.0,
    "run_differential_per_game": -0.3182,
    "avg_runs_scored": 4.5833,
    "avg_runs_allowed": 4.9015,
    "offense_index": 1.0232,
    "defense_index": 0.9139,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 6.1,
      "run_differential": -15.0
    },
    "available": true,
    "quality_score": -0.0741
  },
  "edges": {
    "quality_edge": 0.2561,
    "offense_edge": -0.0014,
    "opponent_offense_edge": 0.0232,
    "defense_strength": 0.2025,
    "opponent_defense_weakness": 0.0861,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0154,
    "run_prevention": 0.9707,
    "strikeout": 1.0058
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "518585",
    "profile": {
      "available": true,
      "pitcher_id": "518585",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 222.0,
        "k_percent": 28.6,
        "bb_percent": 13.7,
        "woba": 0.306,
        "xwoba": 0.281,
        "sweet_spot_percent": 29.3,
        "barrel_batted_rate": 9.0,
        "hard_hit_percent": 27.1,
        "avg_best_speed": 76.1761,
        "avg_hyper_speed": 92.7099,
        "whiff_percent": 39.1,
        "swing_percent": 43.6
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.5328,
        "command_and_miss": 0.8943,
        "regression_edge": 0.7143,
        "xwoba_edge": 0.8571,
        "barrel_edge": -0.4222,
        "hard_hit_edge": 1.5286,
        "whiff_edge": 1.9857,
        "bb_edge": -1.125,
        "pitch_design_score": -0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "518585",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 9,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 9,
          "pitch_usage": 0.0,
          "release_speed": 84.80773586649414,
          "release_spin_rate": 1509.4366527975285,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 9,
            "pitch_usage": 0.0,
            "release_speed": 84.80773586649414,
            "release_spin_rate": 1509.4366527975285,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.8077,
          "release_spin_rate": 1509.4367,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.5149,
      "sample_weight": 0.888,
      "run_prevention_factor": 0.9562,
      "strikeout_factor": 1.104,
      "walk_factor": 1.0799,
      "homer_factor": 0.9529,
      "woba_minus_xwoba": 0.025,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "518585",
        "espn_id": 34068,
        "player_name": "Fernando Cruz",
        "team": "NYY",
        "role": "pitcher",
        "espn_rank": 147,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 147,
          "gp_value": 61.0,
          "gp_rank": 12,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 3.128,
          "era_rank": null,
          "w_value": 4.0,
          "w_rank": 175,
          "l_value": 6.0,
          "l_rank": 97,
          "sv_value": 2.0,
          "sv_rank": 84,
          "hld_value": 19.0,
          "hld_rank": 15,
          "ip_value": 54.2,
          "ip_rank": 236,
          "h_value": 41.0,
          "h_rank": 288,
          "er_value": 19.0,
          "er_rank": 305,
          "hr_value": 7.0,
          "hr_rank": 212,
          "bb_value": 32.0,
          "bb_rank": 122,
          "k_value": 67.0,
          "k_rank": 167,
          "k_per_9_value": 11.030487,
          "k_per_9_rank": 19.0,
          "whip_value": 1.3353,
          "whip_rank": null,
          "war_value": 1.12,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9611,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9611,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.071,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9582,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0924,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 8.0,
    "ER": 6,
    "H": 8,
    "BB": 3,
    "SO": 9,
    "HR": 4,
    "ERA": 6.75,
    "WHIP": 1.375,
    "K9": 10.125,
    "HR9": 4.5,
    "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-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "518585",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 9,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 9,
    "pitch_usage": 0.0,
    "release_speed": 84.80773586649414,
    "release_spin_rate": 1509.4366527975285,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 9,
      "pitch_usage": 0.0,
      "release_speed": 84.80773586649414,
      "release_spin_rate": 1509.4366527975285,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.8077,
    "release_spin_rate": 1509.4367,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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": 10.971,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6869,
    "prior_weight": 0.3131
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "518585",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 61,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 3.0,
        "R": 3.0,
        "H": 4.0,
        "BB": 1.0,
        "SO": 5.0,
        "HR": 2.0,
        "BF": 18.0,
        "Pitches": 71.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 0.8,
        "BB": 0.2,
        "SO": 1.0,
        "HR": 0.4,
        "BF": 3.6,
        "Pitches": 14.2
      },
      "rates": {
        "ERA": 6.2308,
        "WHIP": 1.1538,
        "ER_per_IP": 0.69231,
        "H_per_IP": 0.92308,
        "BB_per_IP": 0.23077,
        "SO_per_IP": 1.15385,
        "HR_per_IP": 0.46154
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.0,
        "ER": 6.0,
        "R": 6.0,
        "H": 8.0,
        "BB": 3.0,
        "SO": 9.0,
        "HR": 4.0,
        "BF": 35.0,
        "Pitches": 139.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.6,
        "R": 0.6,
        "H": 0.8,
        "BB": 0.3,
        "SO": 0.9,
        "HR": 0.4,
        "BF": 3.5,
        "Pitches": 13.9
      },
      "rates": {
        "ERA": 6.75,
        "WHIP": 1.375,
        "ER_per_IP": 0.75,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.375,
        "SO_per_IP": 1.125,
        "HR_per_IP": 0.5
      }
    },
    "season": {
      "games": 61,
      "totals": {
        "IP": 54.2,
        "ER": 19.0,
        "R": 23.0,
        "H": 41.0,
        "BB": 32.0,
        "SO": 67.0,
        "HR": 7.0,
        "BF": 234.0,
        "Pitches": 944.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3115,
        "R": 0.377,
        "H": 0.6721,
        "BB": 0.5246,
        "SO": 1.0984,
        "HR": 0.1148,
        "BF": 3.8361,
        "Pitches": 15.4754
      },
      "rates": {
        "ERA": 3.128,
        "WHIP": 1.3354,
        "ER_per_IP": 0.34756,
        "H_per_IP": 0.75,
        "BB_per_IP": 0.58537,
        "SO_per_IP": 1.22561,
        "HR_per_IP": 0.12805
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.551,
    "predicted_H": 0.859,
    "predicted_BB": 0.328,
    "predicted_SO": 1.004,
    "predicted_HR": 0.3,
    "predicted_ERA": 5.3894,
    "predicted_WHIP": 1.291
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4823,
  "form_weight": 0.5177,
  "form_reliability": 0.6869,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.971,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6869,
    "prior_weight": 0.3131
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.551,
      "final": 0.2853,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.859,
      "final": 0.927,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.328,
      "final": 0.1698,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.004,
      "final": 1.4844,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.3,
      "final": 0.1553,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.3894,
      "final": 5.3894,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.291,
      "final": 1.291,
      "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."
}
Ben Rice (700250) · BATTER · DH · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 524
All-history rows before 20260827: 524
System season_avg: 0.2500
Data season_avg (2026 season-to-date): 0.2545
Diff (system - data): -0.0045
System opponent_avg: 0.3750

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1540.0000.000Hitting_2B0.1720.000-0.1720.000
predicted_3B0.0240.0000.000Hitting_3B0.0270.000-0.0270.000
predicted_AB4.2804.0004.000Hitting_AB3.8402.0000.1602.000
predicted_AVG0.2290.2500.250Hitting_AVG0.2540.500-0.004-0.250
predicted_BB0.5280.0001.000Hitting_BB0.5713.000-0.571-3.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9801.0001.000Hitting_H0.9771.0000.0230.000
predicted_HR0.2301.0001.000Hitting_HR0.2821.0000.7180.000
predicted_OBP0.3520.4000.400Hitting_OBP0.3560.8000.044-0.400
predicted_R0.6421.0001.000Hitting_R0.6873.0000.313-2.000
predicted_RBI0.6904.0001.000Hitting_RBI0.6721.0003.3283.000
predicted_SLG0.4101.0001.000Hitting_SLG0.5342.0000.466-1.000
predicted_SO1.0731.0001.000Hitting_SO1.0950.000-0.0951.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.6900 -> 4.0000 (boost 3.3100, better)
Biggest Deboostpredicted_BB: 0.5280 -> 0.0000 (deboost -0.5280, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_SLG: 0.4100 -> 0.4152 (boost 0.0052, better)predicted_AB: 4.2800 -> 4.0485 (deboost -0.2315, worse)Final model input calibrated 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.4152 -> 0.4399 (boost 0.0247, better)predicted_OBP: 0.3481 -> 0.3252 (deboost -0.0229, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62433predicted_BB: 0.5395 -> 1.0000 (boost 0.4605, better)predicted_HR: 0.2198 -> 0.0000 (deboost -0.2198, worse)AB rounded to 4 (raw=4.28), rates preserved: AVG=0.223 HR/AB=0.051
5consistency_constraints11010predicted_R: 0.6495 -> 1.0000 (boost 0.3505, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context40404-predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference43131predicted_RBI: 1.0000 -> 4.0000 (boost 3.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.4160 -> 0.4399 (boost 0.0239, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "700250",
  "player_name": "Ben Rice",
  "position": "DH",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.154,
        "predicted_3B": 0.024,
        "predicted_AB": 4.28,
        "predicted_AVG": 0.229,
        "predicted_BB": 0.528,
        "predicted_H": 0.98,
        "predicted_HR": 0.23,
        "predicted_OBP": 0.352,
        "predicted_R": 0.642,
        "predicted_RBI": 0.69,
        "predicted_SLG": 0.41,
        "predicted_SO": 1.073
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1292,
        "predicted_3B": 0.0201,
        "predicted_AB": 4.0485,
        "predicted_AVG": 0.23,
        "predicted_BB": 0.5354,
        "predicted_H": 0.9309,
        "predicted_HBP": 0.101,
        "predicted_HR": 0.2152,
        "predicted_OBP": 0.3481,
        "predicted_R": 0.6242,
        "predicted_RBI": 0.657,
        "predicted_SLG": 0.4152,
        "predicted_SO": 1.0639
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.154,
          "after": 0.1292,
          "delta": -0.0248,
          "percent_delta": -0.161,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.024,
          "after": 0.0201,
          "delta": -0.0039,
          "percent_delta": -0.1625,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.28,
          "after": 4.0485,
          "delta": -0.2315,
          "percent_delta": -0.0541,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.229,
          "after": 0.23,
          "delta": 0.001,
          "percent_delta": 0.0044,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.528,
          "after": 0.5354,
          "delta": 0.0074,
          "percent_delta": 0.014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.98,
          "after": 0.9309,
          "delta": -0.0491,
          "percent_delta": -0.0501,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.23,
          "after": 0.2152,
          "delta": -0.0148,
          "percent_delta": -0.0643,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.352,
          "after": 0.3481,
          "delta": -0.0039,
          "percent_delta": -0.0111,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.642,
          "after": 0.6242,
          "delta": -0.0178,
          "percent_delta": -0.0277,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.69,
          "after": 0.657,
          "delta": -0.033,
          "percent_delta": -0.0478,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.41,
          "after": 0.4152,
          "delta": 0.0052,
          "percent_delta": 0.0127,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.073,
          "after": 1.0639,
          "delta": -0.0091,
          "percent_delta": -0.0085,
          "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.41,
          "after": 0.4152,
          "delta": 0.0052,
          "percent_delta": 0.0127,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.28,
          "after": 4.0485,
          "delta": -0.2315,
          "percent_delta": -0.0541,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1292,
        "predicted_3B": 0.0201,
        "predicted_AB": 4.0485,
        "predicted_AVG": 0.2352,
        "predicted_BB": 0.5395,
        "predicted_H": 0.9523,
        "predicted_HBP": 0.101,
        "predicted_HR": 0.2198,
        "predicted_OBP": 0.3252,
        "predicted_R": 0.6495,
        "predicted_RBI": 0.6837,
        "predicted_SLG": 0.4399,
        "predicted_SO": 1.0558
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1292,
          "after": 0.1292,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0201,
          "after": 0.0201,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0485,
          "after": 4.0485,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.23,
          "after": 0.2352,
          "delta": 0.0052,
          "percent_delta": 0.0226,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5354,
          "after": 0.5395,
          "delta": 0.0041,
          "percent_delta": 0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9309,
          "after": 0.9523,
          "delta": 0.0214,
          "percent_delta": 0.023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.101,
          "after": 0.101,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2152,
          "after": 0.2198,
          "delta": 0.0046,
          "percent_delta": 0.0214,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3481,
          "after": 0.3252,
          "delta": -0.0229,
          "percent_delta": -0.0658,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6242,
          "after": 0.6495,
          "delta": 0.0253,
          "percent_delta": 0.0405,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.657,
          "after": 0.6837,
          "delta": 0.0267,
          "percent_delta": 0.0406,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4152,
          "after": 0.4399,
          "delta": 0.0247,
          "percent_delta": 0.0595,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0639,
          "after": 1.0558,
          "delta": -0.0081,
          "percent_delta": -0.0076,
          "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.4152,
          "after": 0.4399,
          "delta": 0.0247,
          "percent_delta": 0.0595,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3481,
          "after": 0.3252,
          "delta": -0.0229,
          "percent_delta": -0.0658,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.28), rates preserved: AVG=0.223 HR/AB=0.051",
      "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.1292,
          "after": 0.0,
          "delta": -0.1292,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0201,
          "after": 0.0,
          "delta": -0.0201,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0485,
          "after": 4.0,
          "delta": -0.0485,
          "percent_delta": -0.012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5395,
          "after": 1.0,
          "delta": 0.4605,
          "percent_delta": 0.8536,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9523,
          "after": 1.0,
          "delta": 0.0477,
          "percent_delta": 0.0501,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.101,
          "after": 0.0,
          "delta": -0.101,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2198,
          "after": 0.0,
          "delta": -0.2198,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6837,
          "after": 1.0,
          "delta": 0.3163,
          "percent_delta": 0.4626,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0558,
          "after": 1.0,
          "delta": -0.0558,
          "percent_delta": -0.0529,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.5395,
          "after": 1.0,
          "delta": 0.4605,
          "percent_delta": 0.8536,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "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": 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.6495,
          "after": 1.0,
          "delta": 0.3505,
          "percent_delta": 0.5396,
          "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.6495,
          "after": 1.0,
          "delta": 0.3505,
          "percent_delta": 0.5396,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "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.223,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.315,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.416,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2352,
          "after": 0.223,
          "delta": -0.0122,
          "percent_delta": -0.0519,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3252,
          "after": 0.315,
          "delta": -0.0102,
          "percent_delta": -0.0314,
          "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.4399,
          "after": 0.416,
          "delta": -0.0239,
          "percent_delta": -0.0543,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 4.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 4.0,
          "delta": 3.0,
          "percent_delta": 3.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 4.0,
          "delta": 3.0,
          "percent_delta": 3.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2352,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3252,
        "predicted_R": 1.0,
        "predicted_RBI": 4.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4399,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.223,
          "after": 0.2352,
          "delta": 0.0122,
          "percent_delta": 0.0548,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 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_OBP",
          "before": 0.315,
          "after": 0.3252,
          "delta": 0.0102,
          "percent_delta": 0.0322,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.416,
          "after": 0.4399,
          "delta": 0.0239,
          "percent_delta": 0.0575,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.416,
          "after": 0.4399,
          "delta": 0.0239,
          "percent_delta": 0.0575,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.154,
        "after": 0.0,
        "delta": -0.154,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.024,
        "after": 0.0,
        "delta": -0.024,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.28,
        "after": 4.0,
        "delta": -0.28,
        "percent_delta": -0.0654,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.229,
        "after": 0.2352,
        "delta": 0.0062,
        "percent_delta": 0.0271,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.528,
        "after": 0.0,
        "delta": -0.528,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.98,
        "after": 1.0,
        "delta": 0.02,
        "percent_delta": 0.0204,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.23,
        "after": 1.0,
        "delta": 0.77,
        "percent_delta": 3.3478,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.352,
        "after": 0.3252,
        "delta": -0.0268,
        "percent_delta": -0.0761,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.642,
        "after": 1.0,
        "delta": 0.358,
        "percent_delta": 0.5576,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.69,
        "after": 4.0,
        "delta": 3.31,
        "percent_delta": 4.7971,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.41,
        "after": 0.4399,
        "delta": 0.0299,
        "percent_delta": 0.0729,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.073,
        "after": 1.0,
        "delta": -0.073,
        "percent_delta": -0.068,
        "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.69,
        "after": 4.0,
        "delta": 3.31,
        "percent_delta": 4.7971,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.528,
        "after": 0.0,
        "delta": -0.528,
        "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.154-
predicted_3B0.024-
predicted_AB4.280-
predicted_AVG0.229-
predicted_BB0.528-
predicted_H0.980-
predicted_HR0.230-
predicted_OBP0.352-
predicted_R0.642-
predicted_RBI0.690-
predicted_SLG0.410-
predicted_SO1.073-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.129-0.025
predicted_3B0.020-0.004
predicted_AB4.048-0.232
predicted_AVG0.2300.001
predicted_BB0.5350.007
predicted_H0.931-0.049
predicted_HBP0.101-
predicted_HR0.215-0.015
predicted_OBP0.348-0.004
predicted_R0.624-0.018
predicted_RBI0.657-0.033
predicted_SLG0.4150.005
predicted_SO1.064-0.009
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1290.000
predicted_3B0.0200.000
predicted_AB4.0480.000
predicted_AVG0.2350.005
predicted_BB0.5390.004
predicted_H0.9520.021
predicted_HBP0.1010.000
predicted_HR0.2200.005
predicted_OBP0.325-0.023
predicted_R0.6490.025
predicted_RBI0.6840.027
predicted_SLG0.4400.025
predicted_SO1.056-0.008
4. ab_floor_and_scaling

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

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. 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
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
H1.0000.000
HR1.0001.000
R1.0000.000
RBI1.0000.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.129
predicted_3B0.000-0.020
predicted_AB4.000-0.048
predicted_AVG0.223-0.012
predicted_BB1.0000.461
predicted_H1.0000.048
predicted_HR0.000-0.220
predicted_OBP0.315-0.010
predicted_R1.0000.351
predicted_RBI1.0000.316
predicted_SLG0.416-0.024
predicted_SO1.000-0.056
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
HBP1.0001.000
HR1.0000.000
PA5.000-
R1.0000.000
RBI4.0003.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: 123
Reference playing time: 4.280
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0004.0000.0000.0000.0003.0003.0004.0005.0000.22220.39130.22220.22220.00000.16670.22220.2778
last_100.2010-39.0007.0000.0000.0002.0006.0005.0004.00011.0000.17950.28890.33330.17950.05130.15380.10260.2821
season0.60123-460.000115.00019.0003.00033.00078.00079.00065.000132.0000.25000.34840.51960.25000.07170.16960.14130.2870
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0970
predicted_3B0.0150
predicted_AB3.7470
predicted_AVG0.2313
predicted_BB0.5450
predicted_H0.8670
predicted_HBP0.1010
predicted_HR0.1960
predicted_OBP0.3430
predicted_R0.6010
predicted_RBI0.6140
predicted_SLG0.4220
predicted_SO1.0520
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15400.09700.1292model_form_blend
predicted_3B0.02400.01500.0201model_form_blend
predicted_AB4.28003.74704.0485model_form_blend
predicted_AVG0.22900.23130.2300model_form_blend
predicted_BB0.52800.54500.5354model_form_blend
predicted_H0.98000.86700.9309model_form_blend
predicted_HBP-0.10100.1010form_only
predicted_HR0.23000.19600.2152model_form_blend
predicted_OBP0.35200.34300.3481model_form_blend
predicted_R0.64200.60100.6242model_form_blend
predicted_RBI0.69000.61400.6570model_form_blend
predicted_SLG0.41000.42200.4152model_form_blend
predicted_SO1.07301.05201.0639model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.5
Hitting_BB3
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R3
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB4
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260826_HOU@NYY
game_typefull
mlbID700250
playerID700250
playerNameBen Rice
posDH
startedTrue
startingPositionDH
teamNYY
teamID19
game_date2026-08-26
sl_k_percent24.9
sl_bb_percent12.0
sl_woba0.373
sl_xwoba0.374
sl_xba0.265
sl_xslg0.509
sl_sweet_spot_percent38.8
sl_barrel_batted_rate14.7
sl_hard_hit_percent48.7
sl_exit_velocity_avg92.1
sl_launch_angle_avg14.6
sl_whiff_percent25.8
sl_swing_percent44.0
Trent Grisham (663757) · BATTER · CF · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 433
All-history rows before 20260827: 433
System season_avg: 0.2190
Data season_avg (2026 season-to-date): 0.2227
Diff (system - data): -0.0037
System opponent_avg: 0.0830

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1790.0000.000Hitting_2B0.1920.000-0.1920.000
predicted_3B0.0190.0000.000Hitting_3B0.0230.000-0.0230.000
predicted_AB4.2804.0004.000Hitting_AB3.7855.0000.215-1.000
predicted_AVG0.2010.2500.250Hitting_AVG0.2230.2000.0270.050
predicted_BB0.5091.0001.000Hitting_BB0.5130.0000.4871.000
predicted_CS-0.0000.000BaseRunning_CS0.0210.000-0.0210.000
predicted_H0.8601.0001.000Hitting_H0.8431.0000.1570.000
predicted_HR0.2200.0000.000Hitting_HR0.1690.000-0.1690.000
predicted_OBP0.3470.4000.400Hitting_OBP0.3130.2000.0870.200
predicted_R0.5941.0001.000Hitting_R0.6171.0000.3830.000
predicted_RBI0.6400.0001.000Hitting_RBI0.5520.000-0.5520.000
predicted_SLG0.3880.2500.250Hitting_SLG0.4190.200-0.1690.050
predicted_SO0.7451.0001.000Hitting_SO0.7391.0000.2610.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics5
Deboosted Metrics5
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_BB: 0.5090 -> 1.0000 (boost 0.4910, better)
Biggest Deboostpredicted_RBI: 0.6400 -> 0.0000 (deboost -0.6400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend62415predicted_BB: 0.5090 -> 0.6095 (boost 0.1005, better)predicted_AB: 4.2800 -> 3.9704 (deboost -0.3096, worse)Final model input calibrated 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.3918 -> 0.4101 (boost 0.0183, better)predicted_OBP: 0.3409 -> 0.3108 (deboost -0.0301, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling64233predicted_RBI: 0.6072 -> 1.0000 (boost 0.3928, better)predicted_HR: 0.2123 -> 0.0000 (deboost -0.2123, worse)AB rounded to 4 (raw=4.28), rates preserved: AVG=0.189 HR/AB=0.050
5consistency_constraints11010predicted_R: 0.6342 -> 1.0000 (boost 0.3658, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context30303-predicted_SLG: 0.4101 -> 0.3800 (deboost -0.0301, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference10101-predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.3800 -> 0.4101 (boost 0.0301, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "663757",
  "player_name": "Trent Grisham",
  "position": "CF",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.179,
        "predicted_3B": 0.019,
        "predicted_AB": 4.28,
        "predicted_AVG": 0.201,
        "predicted_BB": 0.509,
        "predicted_H": 0.86,
        "predicted_HR": 0.22,
        "predicted_OBP": 0.347,
        "predicted_R": 0.594,
        "predicted_RBI": 0.64,
        "predicted_SLG": 0.388,
        "predicted_SO": 0.745
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1497,
        "predicted_3B": 0.0156,
        "predicted_AB": 3.9704,
        "predicted_AVG": 0.1994,
        "predicted_BB": 0.6095,
        "predicted_H": 0.7923,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.2079,
        "predicted_OBP": 0.3409,
        "predicted_R": 0.6095,
        "predicted_RBI": 0.5835,
        "predicted_SLG": 0.3918,
        "predicted_SO": 0.8226
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.179,
          "after": 0.1497,
          "delta": -0.0293,
          "percent_delta": -0.1637,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.019,
          "after": 0.0156,
          "delta": -0.0034,
          "percent_delta": -0.1789,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.28,
          "after": 3.9704,
          "delta": -0.3096,
          "percent_delta": -0.0723,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.201,
          "after": 0.1994,
          "delta": -0.0016,
          "percent_delta": -0.008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.509,
          "after": 0.6095,
          "delta": 0.1005,
          "percent_delta": 0.1974,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.86,
          "after": 0.7923,
          "delta": -0.0677,
          "percent_delta": -0.0787,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.22,
          "after": 0.2079,
          "delta": -0.0121,
          "percent_delta": -0.055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.347,
          "after": 0.3409,
          "delta": -0.0061,
          "percent_delta": -0.0176,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.594,
          "after": 0.6095,
          "delta": 0.0155,
          "percent_delta": 0.0261,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.64,
          "after": 0.5835,
          "delta": -0.0565,
          "percent_delta": -0.0883,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.388,
          "after": 0.3918,
          "delta": 0.0038,
          "percent_delta": 0.0098,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.745,
          "after": 0.8226,
          "delta": 0.0776,
          "percent_delta": 0.1042,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.509,
          "after": 0.6095,
          "delta": 0.1005,
          "percent_delta": 0.1974,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.28,
          "after": 3.9704,
          "delta": -0.3096,
          "percent_delta": -0.0723,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 106
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1497,
        "predicted_3B": 0.0156,
        "predicted_AB": 3.9704,
        "predicted_AVG": 0.2041,
        "predicted_BB": 0.6141,
        "predicted_H": 0.8105,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.2123,
        "predicted_OBP": 0.3108,
        "predicted_R": 0.6342,
        "predicted_RBI": 0.6072,
        "predicted_SLG": 0.4101,
        "predicted_SO": 0.8163
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1497,
          "after": 0.1497,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0156,
          "after": 0.0156,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9704,
          "after": 3.9704,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1994,
          "after": 0.2041,
          "delta": 0.0047,
          "percent_delta": 0.0236,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6095,
          "after": 0.6141,
          "delta": 0.0046,
          "percent_delta": 0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7923,
          "after": 0.8105,
          "delta": 0.0182,
          "percent_delta": 0.023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.002,
          "after": 0.002,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2079,
          "after": 0.2123,
          "delta": 0.0044,
          "percent_delta": 0.0212,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3409,
          "after": 0.3108,
          "delta": -0.0301,
          "percent_delta": -0.0883,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6095,
          "after": 0.6342,
          "delta": 0.0247,
          "percent_delta": 0.0405,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5835,
          "after": 0.6072,
          "delta": 0.0237,
          "percent_delta": 0.0406,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3918,
          "after": 0.4101,
          "delta": 0.0183,
          "percent_delta": 0.0467,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8226,
          "after": 0.8163,
          "delta": -0.0063,
          "percent_delta": -0.0077,
          "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.3918,
          "after": 0.4101,
          "delta": 0.0183,
          "percent_delta": 0.0467,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3409,
          "after": 0.3108,
          "delta": -0.0301,
          "percent_delta": -0.0883,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.28), rates preserved: AVG=0.189 HR/AB=0.050",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1497,
          "after": 0.0,
          "delta": -0.1497,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0156,
          "after": 0.0,
          "delta": -0.0156,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9704,
          "after": 4.0,
          "delta": 0.0296,
          "percent_delta": 0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6141,
          "after": 1.0,
          "delta": 0.3859,
          "percent_delta": 0.6284,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8105,
          "after": 1.0,
          "delta": 0.1895,
          "percent_delta": 0.2338,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.002,
          "after": 0.0,
          "delta": -0.002,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2123,
          "after": 0.0,
          "delta": -0.2123,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6072,
          "after": 1.0,
          "delta": 0.3928,
          "percent_delta": 0.6469,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8163,
          "after": 1.0,
          "delta": 0.1837,
          "percent_delta": 0.225,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.6072,
          "after": 1.0,
          "delta": 0.3928,
          "percent_delta": 0.6469,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.2123,
          "after": 0.0,
          "delta": -0.2123,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6342,
          "after": 1.0,
          "delta": 0.3658,
          "percent_delta": 0.5768,
          "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.6342,
          "after": 1.0,
          "delta": 0.3658,
          "percent_delta": 0.5768,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.189,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.296,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.38,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2041,
          "after": 0.189,
          "delta": -0.0151,
          "percent_delta": -0.074,
          "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.3108,
          "after": 0.296,
          "delta": -0.0148,
          "percent_delta": -0.0476,
          "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.4101,
          "after": 0.38,
          "delta": -0.0301,
          "percent_delta": -0.0734,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.4101,
          "after": 0.38,
          "delta": -0.0301,
          "percent_delta": -0.0734,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2041,
        "predicted_BB": 1.0,
        "predicted_CF": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3108,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4101,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.189,
          "after": 0.2041,
          "delta": 0.0151,
          "percent_delta": 0.0801,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.296,
          "after": 0.3108,
          "delta": 0.0148,
          "percent_delta": 0.0498,
          "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.38,
          "after": 0.4101,
          "delta": 0.0301,
          "percent_delta": 0.0793,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.38,
          "after": 0.4101,
          "delta": 0.0301,
          "percent_delta": 0.0793,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.179,
        "after": 0.0,
        "delta": -0.179,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.019,
        "after": 0.0,
        "delta": -0.019,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.28,
        "after": 4.0,
        "delta": -0.28,
        "percent_delta": -0.0654,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.201,
        "after": 0.2041,
        "delta": 0.0031,
        "percent_delta": 0.0154,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.509,
        "after": 1.0,
        "delta": 0.491,
        "percent_delta": 0.9646,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.86,
        "after": 1.0,
        "delta": 0.14,
        "percent_delta": 0.1628,
        "direction": "boost",
        "projection_effect": "better",
        "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.347,
        "after": 0.3108,
        "delta": -0.0362,
        "percent_delta": -0.1043,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.594,
        "after": 1.0,
        "delta": 0.406,
        "percent_delta": 0.6835,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.64,
        "after": 0.0,
        "delta": -0.64,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.388,
        "after": 0.4101,
        "delta": 0.0221,
        "percent_delta": 0.057,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.745,
        "after": 1.0,
        "delta": 0.255,
        "percent_delta": 0.3423,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 5,
      "deboosted_metrics": 5,
      "better_metrics": 4,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.509,
        "after": 1.0,
        "delta": 0.491,
        "percent_delta": 0.9646,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.64,
        "after": 0.0,
        "delta": -0.64,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.179-
predicted_3B0.019-
predicted_AB4.280-
predicted_AVG0.201-
predicted_BB0.509-
predicted_H0.860-
predicted_HR0.220-
predicted_OBP0.347-
predicted_R0.594-
predicted_RBI0.640-
predicted_SLG0.388-
predicted_SO0.745-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.150-0.029
predicted_3B0.016-0.003
predicted_AB3.970-0.310
predicted_AVG0.199-0.002
predicted_BB0.6100.101
predicted_H0.792-0.068
predicted_HBP0.002-
predicted_HR0.208-0.012
predicted_OBP0.341-0.006
predicted_R0.6100.016
predicted_RBI0.584-0.056
predicted_SLG0.3920.004
predicted_SO0.8230.078
3. team_form_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.0160.000
predicted_AB3.9700.000
predicted_AVG0.2040.005
predicted_BB0.6140.005
predicted_H0.8100.018
predicted_HBP0.0020.000
predicted_HR0.2120.004
predicted_OBP0.311-0.030
predicted_R0.6340.025
predicted_RBI0.6070.024
predicted_SLG0.4100.018
predicted_SO0.816-0.006
4. ab_floor_and_scaling

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

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. 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
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI1.0000.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.150
predicted_3B0.000-0.016
predicted_AB4.0000.030
predicted_AVG0.189-0.015
predicted_BB1.0000.386
predicted_H1.0000.190
predicted_HR0.000-0.212
predicted_OBP0.296-0.015
predicted_R1.0000.366
predicted_RBI1.0000.393
predicted_SLG0.380-0.030
predicted_SO1.0000.184
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
BB1.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0000.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 106
Reference playing time: 4.280
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0002.0000.0000.0001.0002.0004.0007.0006.0000.11760.37500.29410.11770.05880.11770.41180.3529
last_100.2010-36.0007.0000.0000.0003.0006.0006.0009.00012.0000.19440.35560.44440.19440.08330.16670.25000.3333
season0.60106-379.00083.00019.0002.00017.00055.00063.00054.00079.0000.21900.31420.41420.21900.04490.14510.14250.2084
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1110
predicted_3B0.0110
predicted_AB3.5620
predicted_AVG0.1973
predicted_BB0.7420
predicted_H0.7030
predicted_HBP0.0020
predicted_HR0.1920
predicted_OBP0.3328
predicted_R0.6300
predicted_RBI0.5090
predicted_SLG0.3969
predicted_SO0.9250
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17900.11100.1497model_form_blend
predicted_3B0.01900.01100.0156model_form_blend
predicted_AB4.28003.56203.9704model_form_blend
predicted_AVG0.20100.19730.1994model_form_blend
predicted_BB0.50900.74200.6095model_form_blend
predicted_H0.86000.70300.7923model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.22000.19200.2079model_form_blend
predicted_OBP0.34700.33280.3409model_form_blend
predicted_R0.59400.63000.6095model_form_blend
predicted_RBI0.64000.50900.5835model_form_blend
predicted_SLG0.38800.39690.3918model_form_blend
predicted_SO0.74500.92500.8226model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.2
Hitting_BB0
Hitting_GIDP1
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260826_HOU@NYY
game_typefull
mlbID663757
playerID663757
playerNameTrent Grisham
posCF
startedTrue
startingPositionCF
teamNYY
teamID19
game_date2026-08-26
sl_k_percent18.3
sl_bb_percent12.6
sl_woba0.311
sl_xwoba0.336
sl_xba0.242
sl_xslg0.428
sl_sweet_spot_percent35.4
sl_barrel_batted_rate9.8
sl_hard_hit_percent45.4
sl_exit_velocity_avg90.6
sl_launch_angle_avg17.6
sl_whiff_percent18.2
sl_swing_percent39.1
Spencer Jones (682987) · BATTER · RF · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 172
All-history rows before 20260827: 172
System season_avg: 0.2330
Data season_avg (2026 season-to-date): 0.2299
Diff (system - data): 0.0031
System opponent_avg: 0.2330

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1640.0000.000Hitting_2B0.1690.000-0.1690.000
predicted_3B0.0180.0000.000Hitting_3B0.0230.000-0.0230.000
predicted_AB2.9643.0003.000Hitting_AB3.1104.000-0.110-1.000
predicted_AVG0.2330.3330.333Hitting_AVG0.2300.2500.1030.083
predicted_BB0.3091.0000.000Hitting_BB0.3550.0000.6451.000
predicted_CS-0.0000.000BaseRunning_CS0.0120.000-0.0120.000
predicted_H0.6911.0001.000Hitting_H0.7151.0000.2850.000
predicted_HR0.1271.0000.000Hitting_HR0.1280.0000.8721.000
predicted_OBP0.3060.5000.333Hitting_OBP0.3140.2500.1860.250
predicted_R0.3821.0000.000Hitting_R0.3720.0000.6281.000
predicted_RBI0.4001.0000.000Hitting_RBI0.4531.0000.5470.000
predicted_SLG0.4291.3330.333Hitting_SLG0.4220.2500.9111.083
predicted_SO1.1640.0001.000Hitting_SO1.2563.000-1.256-3.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics8
Deboosted Metrics2
Better Metrics9
Worse Metrics1
Biggest Boostpredicted_HR: 0.1270 -> 1.0000 (boost 0.8730, better)
Biggest Deboostpredicted_SO: 1.1640 -> 0.0000 (deboost -1.1640, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend66060predicted_AB: 2.9640 -> 3.0877 (boost 0.1237, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot33030predicted_SLG: 0.4685 -> 0.4794 (boost 0.0109, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling71625predicted_H: 0.7979 -> 1.0000 (boost 0.2021, better)predicted_RBI: 0.4503 -> 0.0000 (deboost -0.4503, worse)AB rounded to 3 (raw=3.09), rates preserved: AVG=0.258 HR/AB=0.050
5consistency_constraints10101-predicted_R: 0.4966 -> 0.0000 (deboost -0.4966, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context11010predicted_OBP: 0.3260 -> 0.3310 (boost 0.0050, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference54150predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
9current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "682987",
  "player_name": "Spencer Jones",
  "position": "RF",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.164,
        "predicted_3B": 0.018,
        "predicted_AB": 2.964,
        "predicted_AVG": 0.233,
        "predicted_BB": 0.309,
        "predicted_H": 0.691,
        "predicted_HR": 0.127,
        "predicted_OBP": 0.306,
        "predicted_R": 0.382,
        "predicted_RBI": 0.4,
        "predicted_SLG": 0.429,
        "predicted_SO": 1.164
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1897,
        "predicted_3B": 0.0155,
        "predicted_AB": 3.0877,
        "predicted_AVG": 0.2515,
        "predicted_BB": 0.3074,
        "predicted_H": 0.78,
        "predicted_HBP": 0.014,
        "predicted_HR": 0.1507,
        "predicted_OBP": 0.3209,
        "predicted_R": 0.4772,
        "predicted_RBI": 0.4327,
        "predicted_SLG": 0.4685,
        "predicted_SO": 1.1236
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.164,
          "after": 0.1897,
          "delta": 0.0257,
          "percent_delta": 0.1567,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.018,
          "after": 0.0155,
          "delta": -0.0025,
          "percent_delta": -0.1389,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.964,
          "after": 3.0877,
          "delta": 0.1237,
          "percent_delta": 0.0417,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.233,
          "after": 0.2515,
          "delta": 0.0185,
          "percent_delta": 0.0794,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.309,
          "after": 0.3074,
          "delta": -0.0016,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.691,
          "after": 0.78,
          "delta": 0.089,
          "percent_delta": 0.1288,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.127,
          "after": 0.1507,
          "delta": 0.0237,
          "percent_delta": 0.1866,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.306,
          "after": 0.3209,
          "delta": 0.0149,
          "percent_delta": 0.0487,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.382,
          "after": 0.4772,
          "delta": 0.0952,
          "percent_delta": 0.2492,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4,
          "after": 0.4327,
          "delta": 0.0327,
          "percent_delta": 0.0817,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.429,
          "after": 0.4685,
          "delta": 0.0395,
          "percent_delta": 0.0921,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.164,
          "after": 1.1236,
          "delta": -0.0404,
          "percent_delta": -0.0347,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 6,
        "deboosted_metrics": 0,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.964,
          "after": 3.0877,
          "delta": 0.1237,
          "percent_delta": 0.0417,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 55
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1897,
        "predicted_3B": 0.0155,
        "predicted_AB": 3.0877,
        "predicted_AVG": 0.2584,
        "predicted_BB": 0.3097,
        "predicted_H": 0.7979,
        "predicted_HBP": 0.014,
        "predicted_HR": 0.1539,
        "predicted_OBP": 0.326,
        "predicted_R": 0.4966,
        "predicted_RBI": 0.4503,
        "predicted_SLG": 0.4794,
        "predicted_SO": 1.1151
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1897,
          "after": 0.1897,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0155,
          "after": 0.0155,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0877,
          "after": 3.0877,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2515,
          "after": 0.2584,
          "delta": 0.0069,
          "percent_delta": 0.0274,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3074,
          "after": 0.3097,
          "delta": 0.0023,
          "percent_delta": 0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.78,
          "after": 0.7979,
          "delta": 0.0179,
          "percent_delta": 0.0229,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.014,
          "after": 0.014,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1507,
          "after": 0.1539,
          "delta": 0.0032,
          "percent_delta": 0.0212,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3209,
          "after": 0.326,
          "delta": 0.0051,
          "percent_delta": 0.0159,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4772,
          "after": 0.4966,
          "delta": 0.0194,
          "percent_delta": 0.0407,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4327,
          "after": 0.4503,
          "delta": 0.0176,
          "percent_delta": 0.0407,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4685,
          "after": 0.4794,
          "delta": 0.0109,
          "percent_delta": 0.0233,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1236,
          "after": 1.1151,
          "delta": -0.0085,
          "percent_delta": -0.0076,
          "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.4685,
          "after": 0.4794,
          "delta": 0.0109,
          "percent_delta": 0.0233,
          "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.09), rates preserved: AVG=0.258 HR/AB=0.050",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1897,
          "after": 0.0,
          "delta": -0.1897,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0155,
          "after": 0.0,
          "delta": -0.0155,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0877,
          "after": 3.0,
          "delta": -0.0877,
          "percent_delta": -0.0284,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3097,
          "after": 0.0,
          "delta": -0.3097,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7979,
          "after": 1.0,
          "delta": 0.2021,
          "percent_delta": 0.2533,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.014,
          "after": 0.0,
          "delta": -0.014,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1539,
          "after": 0.0,
          "delta": -0.1539,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4503,
          "after": 0.0,
          "delta": -0.4503,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1151,
          "after": 1.0,
          "delta": -0.1151,
          "percent_delta": -0.1032,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7979,
          "after": 1.0,
          "delta": 0.2021,
          "percent_delta": 0.2533,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4503,
          "after": 0.0,
          "delta": -0.4503,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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.4966,
          "after": 0.0,
          "delta": -0.4966,
          "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.4966,
          "after": 0.0,
          "delta": -0.4966,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": {},
      "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.258,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.331,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.479,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2584,
          "after": 0.258,
          "delta": -0.0004,
          "percent_delta": -0.0015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.326,
          "after": 0.331,
          "delta": 0.005,
          "percent_delta": 0.0153,
          "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.4794,
          "after": 0.479,
          "delta": -0.0004,
          "percent_delta": -0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.326,
          "after": 0.331,
          "delta": 0.005,
          "percent_delta": 0.0153,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2584,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.326,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4794,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.258,
          "after": 0.2584,
          "delta": 0.0004,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "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.331,
          "after": 0.326,
          "delta": -0.005,
          "percent_delta": -0.015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.479,
          "after": 0.4794,
          "delta": 0.0004,
          "percent_delta": 0.0009,
          "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": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.164,
        "after": 0.0,
        "delta": -0.164,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.018,
        "after": 0.0,
        "delta": -0.018,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.964,
        "after": 3.0,
        "delta": 0.036,
        "percent_delta": 0.0121,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AVG",
        "before": 0.233,
        "after": 0.2584,
        "delta": 0.0254,
        "percent_delta": 0.109,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.309,
        "after": 1.0,
        "delta": 0.691,
        "percent_delta": 2.2362,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.691,
        "after": 1.0,
        "delta": 0.309,
        "percent_delta": 0.4472,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.127,
        "after": 1.0,
        "delta": 0.873,
        "percent_delta": 6.874,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.306,
        "after": 0.326,
        "delta": 0.02,
        "percent_delta": 0.0654,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.382,
        "after": 1.0,
        "delta": 0.618,
        "percent_delta": 1.6178,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.4,
        "after": 1.0,
        "delta": 0.6,
        "percent_delta": 1.5,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.429,
        "after": 0.4794,
        "delta": 0.0504,
        "percent_delta": 0.1175,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.164,
        "after": 0.0,
        "delta": -1.164,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 8,
      "deboosted_metrics": 2,
      "better_metrics": 9,
      "worse_metrics": 1,
      "biggest_boost": {
        "metric": "predicted_HR",
        "before": 0.127,
        "after": 1.0,
        "delta": 0.873,
        "percent_delta": 6.874,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.164,
        "after": 0.0,
        "delta": -1.164,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.164-
predicted_3B0.018-
predicted_AB2.964-
predicted_AVG0.233-
predicted_BB0.309-
predicted_H0.691-
predicted_HR0.127-
predicted_OBP0.306-
predicted_R0.382-
predicted_RBI0.400-
predicted_SLG0.429-
predicted_SO1.164-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1900.026
predicted_3B0.015-0.002
predicted_AB3.0880.124
predicted_AVG0.2520.018
predicted_BB0.307-0.002
predicted_H0.7800.089
predicted_HBP0.014-
predicted_HR0.1510.024
predicted_OBP0.3210.015
predicted_R0.4770.095
predicted_RBI0.4330.033
predicted_SLG0.4690.040
predicted_SO1.124-0.040
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1900.000
predicted_3B0.0150.000
predicted_AB3.0880.000
predicted_AVG0.2580.007
predicted_BB0.3100.002
predicted_H0.7980.018
predicted_HBP0.0140.000
predicted_HR0.1540.003
predicted_OBP0.3260.005
predicted_R0.4970.019
predicted_RBI0.4500.018
predicted_SLG0.4790.011
predicted_SO1.115-0.008
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.09), rates preserved: AVG=0.258 HR/AB=0.050

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.190
predicted_3B0.000-0.015
predicted_AB3.000-0.088
predicted_AVG0.258-0.000
predicted_BB0.000-0.310
predicted_H1.0000.202
predicted_HR0.000-0.154
predicted_OBP0.3310.005
predicted_R0.000-0.497
predicted_RBI0.000-0.450
predicted_SLG0.479-0.000
predicted_SO1.000-0.115
8. 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
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0001.000
RBI1.0001.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 55
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0007.0002.0000.0002.0004.0006.0002.0003.0000.41180.47370.88240.41180.11770.23530.11770.1765
last_100.2010-36.00011.0003.0000.0002.0004.0009.0002.00013.0000.30560.34210.55560.30560.05560.11110.05560.3611
season0.6055-163.00038.0009.0001.0007.00022.00021.00017.00064.0000.23310.30940.42940.23310.04290.13500.10430.3926
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2270
predicted_3B0.0120
predicted_AB3.2670
predicted_AVG0.2783
predicted_BB0.3050
predicted_H0.9090
predicted_HBP0.0140
predicted_HR0.1850
predicted_OBP0.3426
predicted_R0.6150
predicted_RBI0.4800
predicted_SLG0.5257
predicted_SO1.0650
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16400.22700.1897model_form_blend
predicted_3B0.01800.01200.0155model_form_blend
predicted_AB2.96403.26703.0877model_form_blend
predicted_AVG0.23300.27830.2515model_form_blend
predicted_BB0.30900.30500.3074model_form_blend
predicted_H0.69100.90900.7800model_form_blend
predicted_HBP-0.01400.0140form_only
predicted_HR0.12700.18500.1507model_form_blend
predicted_OBP0.30600.34260.3209model_form_blend
predicted_R0.38200.61500.4772model_form_blend
predicted_RBI0.40000.48000.4327model_form_blend
predicted_SLG0.42900.52570.4685model_form_blend
predicted_SO1.16401.06501.1236model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_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_SO3
Hitting_TB1
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260826_HOU@NYY
game_typefull
mlbID682987
playerID682987
playerNameSpencer Jones
posCF
startedTrue
startingPositionRF
teamNYY
teamID19
game_date2026-08-26
sl_k_percent35.3
sl_bb_percent9.0
sl_woba0.321
sl_xwoba0.327
sl_xba0.238
sl_xslg0.45
sl_sweet_spot_percent42.3
sl_barrel_batted_rate15.3
sl_hard_hit_percent57.3
sl_exit_velocity_avg94.4
sl_launch_angle_avg18.3
sl_whiff_percent38.2
sl_swing_percent53.5
Cody Bellinger (641355) · BATTER · LF · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 436
All-history rows before 20260827: 436
System season_avg: 0.2610
Data season_avg (2026 season-to-date): 0.2663
Diff (system - data): -0.0053
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.2060.0001.000Hitting_2B0.2181.000-0.218-1.000
predicted_3B0.0290.0000.000Hitting_3B0.0320.000-0.0320.000
predicted_AB4.1304.0004.000Hitting_AB3.6955.0000.305-1.000
predicted_AVG0.2530.0000.250Hitting_AVG0.2660.200-0.266-0.200
predicted_BB0.5290.0001.000Hitting_BB0.5670.000-0.5670.000
predicted_CS-0.0000.000BaseRunning_CS0.0570.000-0.0570.000
predicted_H1.0400.0001.000Hitting_H0.9841.000-0.984-1.000
predicted_HR0.1600.0000.000Hitting_HR0.1170.000-0.1170.000
predicted_OBP0.3640.0000.400Hitting_OBP0.3600.200-0.360-0.200
predicted_R0.5290.0001.000Hitting_R0.5461.000-0.546-1.000
predicted_RBI0.6400.0001.000Hitting_RBI0.5622.000-0.562-2.000
predicted_SLG0.4870.0000.500Hitting_SLG0.4380.400-0.438-0.400
predicted_SO0.6572.0000.000Hitting_SO0.6400.0001.3602.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.6570 -> 2.0000 (boost 1.3430, worse)
Biggest Deboostpredicted_H: 1.0400 -> 0.0000 (deboost -1.0400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_AVG: 0.2530 -> 0.2699 (boost 0.0169, better)predicted_AB: 4.1300 -> 3.9278 (deboost -0.2022, worse)Final model input calibrated 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.4861 -> 0.4617 (deboost -0.0244, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_RBI: 0.6404 -> 1.0000 (boost 0.3596, better)predicted_BB: 0.5048 -> 0.0000 (deboost -0.5048, worse)AB rounded to 4 (raw=4.13), rates preserved: AVG=0.261 HR/AB=0.036
5consistency_constraints11010predicted_R: 0.5702 -> 1.0000 (boost 0.4298, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation32130predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context61506predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference41304predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.4390 -> 0.4617 (boost 0.0227, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "641355",
  "player_name": "Cody Bellinger",
  "position": "LF",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.206,
        "predicted_3B": 0.029,
        "predicted_AB": 4.13,
        "predicted_AVG": 0.253,
        "predicted_BB": 0.529,
        "predicted_H": 1.04,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.364,
        "predicted_R": 0.529,
        "predicted_RBI": 0.64,
        "predicted_SLG": 0.487,
        "predicted_SO": 0.657
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.237,
        "predicted_3B": 0.0238,
        "predicted_AB": 3.9278,
        "predicted_AVG": 0.2699,
        "predicted_BB": 0.501,
        "predicted_H": 1.0529,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.1475,
        "predicted_OBP": 0.3667,
        "predicted_R": 0.548,
        "predicted_RBI": 0.6154,
        "predicted_SLG": 0.4861,
        "predicted_SO": 0.6609
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.206,
          "after": 0.237,
          "delta": 0.031,
          "percent_delta": 0.1505,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.029,
          "after": 0.0238,
          "delta": -0.0052,
          "percent_delta": -0.1793,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.13,
          "after": 3.9278,
          "delta": -0.2022,
          "percent_delta": -0.049,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.253,
          "after": 0.2699,
          "delta": 0.0169,
          "percent_delta": 0.0668,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.529,
          "after": 0.501,
          "delta": -0.028,
          "percent_delta": -0.0529,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.04,
          "after": 1.0529,
          "delta": 0.0129,
          "percent_delta": 0.0124,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.16,
          "after": 0.1475,
          "delta": -0.0125,
          "percent_delta": -0.0781,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.364,
          "after": 0.3667,
          "delta": 0.0027,
          "percent_delta": 0.0074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.529,
          "after": 0.548,
          "delta": 0.019,
          "percent_delta": 0.0359,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.64,
          "after": 0.6154,
          "delta": -0.0246,
          "percent_delta": -0.0384,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.487,
          "after": 0.4861,
          "delta": -0.0009,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.657,
          "after": 0.6609,
          "delta": 0.0039,
          "percent_delta": 0.0059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.253,
          "after": 0.2699,
          "delta": 0.0169,
          "percent_delta": 0.0668,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.13,
          "after": 3.9278,
          "delta": -0.2022,
          "percent_delta": -0.049,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 102
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.237,
        "predicted_3B": 0.0238,
        "predicted_AB": 3.9278,
        "predicted_AVG": 0.2742,
        "predicted_BB": 0.5048,
        "predicted_H": 1.0771,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.1506,
        "predicted_OBP": 0.3569,
        "predicted_R": 0.5702,
        "predicted_RBI": 0.6404,
        "predicted_SLG": 0.4617,
        "predicted_SO": 0.6559
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.237,
          "after": 0.237,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0238,
          "after": 0.0238,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9278,
          "after": 3.9278,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2699,
          "after": 0.2742,
          "delta": 0.0043,
          "percent_delta": 0.0159,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.501,
          "after": 0.5048,
          "delta": 0.0038,
          "percent_delta": 0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0529,
          "after": 1.0771,
          "delta": 0.0242,
          "percent_delta": 0.023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.002,
          "after": 0.002,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1475,
          "after": 0.1506,
          "delta": 0.0031,
          "percent_delta": 0.021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3667,
          "after": 0.3569,
          "delta": -0.0098,
          "percent_delta": -0.0267,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.548,
          "after": 0.5702,
          "delta": 0.0222,
          "percent_delta": 0.0405,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6154,
          "after": 0.6404,
          "delta": 0.025,
          "percent_delta": 0.0406,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4861,
          "after": 0.4617,
          "delta": -0.0244,
          "percent_delta": -0.0502,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6609,
          "after": 0.6559,
          "delta": -0.005,
          "percent_delta": -0.0076,
          "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.4861,
          "after": 0.4617,
          "delta": -0.0244,
          "percent_delta": -0.0502,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.13), rates preserved: AVG=0.261 HR/AB=0.036",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.237,
          "after": 0.0,
          "delta": -0.237,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0238,
          "after": 0.0,
          "delta": -0.0238,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9278,
          "after": 4.0,
          "delta": 0.0722,
          "percent_delta": 0.0184,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5048,
          "after": 0.0,
          "delta": -0.5048,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0771,
          "after": 1.0,
          "delta": -0.0771,
          "percent_delta": -0.0716,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.002,
          "after": 0.0,
          "delta": -0.002,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1506,
          "after": 0.0,
          "delta": -0.1506,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6404,
          "after": 1.0,
          "delta": 0.3596,
          "percent_delta": 0.5615,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6559,
          "after": 1.0,
          "delta": 0.3441,
          "percent_delta": 0.5246,
          "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.6404,
          "after": 1.0,
          "delta": 0.3596,
          "percent_delta": 0.5615,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.5048,
          "after": 0.0,
          "delta": -0.5048,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5702,
          "after": 1.0,
          "delta": 0.4298,
          "percent_delta": 0.7538,
          "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.5702,
          "after": 1.0,
          "delta": 0.4298,
          "percent_delta": 0.7538,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "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_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_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": 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.261,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.346,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.439,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2742,
          "after": 0.261,
          "delta": -0.0132,
          "percent_delta": -0.0481,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3569,
          "after": 0.346,
          "delta": -0.0109,
          "percent_delta": -0.0305,
          "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.4617,
          "after": 0.439,
          "delta": -0.0227,
          "percent_delta": -0.0492,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2742,
        "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.3569,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4617,
        "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.261,
          "after": 0.2742,
          "delta": 0.0132,
          "percent_delta": 0.0507,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.346,
          "after": 0.3569,
          "delta": 0.0109,
          "percent_delta": 0.0315,
          "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.439,
          "after": 0.4617,
          "delta": 0.0227,
          "percent_delta": 0.0518,
          "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.439,
          "after": 0.4617,
          "delta": 0.0227,
          "percent_delta": 0.0518,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.206,
        "after": 0.0,
        "delta": -0.206,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.029,
        "after": 0.0,
        "delta": -0.029,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.13,
        "after": 4.0,
        "delta": -0.13,
        "percent_delta": -0.0315,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.253,
        "after": 0.2742,
        "delta": 0.0212,
        "percent_delta": 0.0838,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.529,
        "after": 0.0,
        "delta": -0.529,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.04,
        "after": 0.0,
        "delta": -1.04,
        "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.364,
        "after": 0.3569,
        "delta": -0.0071,
        "percent_delta": -0.0195,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.529,
        "after": 0.0,
        "delta": -0.529,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.64,
        "after": 0.0,
        "delta": -0.64,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.487,
        "after": 0.4617,
        "delta": -0.0253,
        "percent_delta": -0.052,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.657,
        "after": 2.0,
        "delta": 1.343,
        "percent_delta": 2.0441,
        "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.657,
        "after": 2.0,
        "delta": 1.343,
        "percent_delta": 2.0441,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.04,
        "after": 0.0,
        "delta": -1.04,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.206-
predicted_3B0.029-
predicted_AB4.130-
predicted_AVG0.253-
predicted_BB0.529-
predicted_H1.040-
predicted_HR0.160-
predicted_OBP0.364-
predicted_R0.529-
predicted_RBI0.640-
predicted_SLG0.487-
predicted_SO0.657-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2370.031
predicted_3B0.024-0.005
predicted_AB3.928-0.202
predicted_AVG0.2700.017
predicted_BB0.501-0.028
predicted_H1.0530.013
predicted_HBP0.002-
predicted_HR0.147-0.013
predicted_OBP0.3670.003
predicted_R0.5480.019
predicted_RBI0.615-0.025
predicted_SLG0.486-0.001
predicted_SO0.6610.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.2370.000
predicted_3B0.0240.000
predicted_AB3.9280.000
predicted_AVG0.2740.004
predicted_BB0.5050.004
predicted_H1.0770.024
predicted_HBP0.0020.000
predicted_HR0.1510.003
predicted_OBP0.357-0.010
predicted_R0.5700.022
predicted_RBI0.6400.025
predicted_SLG0.462-0.024
predicted_SO0.656-0.005
4. ab_floor_and_scaling

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

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
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-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI1.0000.000
SO0.000-1.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.237
predicted_3B0.000-0.024
predicted_AB4.0000.072
predicted_AVG0.261-0.013
predicted_BB0.000-0.505
predicted_H1.000-0.077
predicted_HR0.000-0.151
predicted_OBP0.346-0.011
predicted_R1.0000.430
predicted_RBI1.0000.360
predicted_SLG0.439-0.023
predicted_SO1.0000.344
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 102
Reference playing time: 4.130
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.0002.0000.0001.0004.0003.0002.0003.0000.33330.40000.61110.33330.05560.22220.11110.1667
last_100.2010-36.00013.0004.0000.0001.0005.0007.0004.0007.0000.36110.42500.55560.36110.02780.13890.11110.1944
season0.60102-376.00098.00021.0003.00012.00056.00054.00054.00067.0000.26060.34940.42820.26060.03190.14890.14360.1782
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2780
predicted_3B0.0170
predicted_AB3.6610
predicted_AVG0.2922
predicted_BB0.4640
predicted_H1.0700
predicted_HBP0.0020
predicted_HR0.1310
predicted_OBP0.3702
predicted_R0.5730
predicted_RBI0.5830
predicted_SLG0.4849
predicted_SO0.6660
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20600.27800.2370model_form_blend
predicted_3B0.02900.01700.0238model_form_blend
predicted_AB4.13003.66103.9278model_form_blend
predicted_AVG0.25300.29220.2699model_form_blend
predicted_BB0.52900.46400.5010model_form_blend
predicted_H1.04001.07001.0529model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.16000.13100.1475model_form_blend
predicted_OBP0.36400.37020.3667model_form_blend
predicted_R0.52900.57300.5480model_form_blend
predicted_RBI0.64000.58300.6154model_form_blend
predicted_SLG0.48700.48490.4861model_form_blend
predicted_SO0.65700.66600.6609model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB5
Hitting_AVG0.2
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260826_HOU@NYY
game_typefull
mlbID641355
playerID641355
playerNameCody Bellinger
posLF
startedTrue
startingPositionLF
teamNYY
teamID19
game_date2026-08-26
sl_k_percent15.7
sl_bb_percent11.9
sl_woba0.335
sl_xwoba0.345
sl_xba0.276
sl_xslg0.417
sl_sweet_spot_percent39.9
sl_barrel_batted_rate6.2
sl_hard_hit_percent35.9
sl_exit_velocity_avg88.9
sl_launch_angle_avg18.5
sl_whiff_percent19.5
sl_swing_percent46.4
Luis García Jr. (671277) · BATTER · 1B · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 61
All-history rows before 20260827: 61
System season_avg: 0.2830
Data season_avg (2026 season-to-date): 0.2447
Diff (system - data): 0.0383
System opponent_avg: 0.2700
System season_avg diverges from 2026 season-to-date by 0.0383. 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.1970.0000.000Hitting_2B0.2130.000-0.2130.000
predicted_3B0.0410.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.9404.0004.000Hitting_AB3.8855.0000.115-1.000
predicted_AVG0.3250.2500.250Hitting_AVG0.2450.6000.005-0.350
predicted_BB0.1800.0000.000Hitting_BB0.2790.000-0.2790.000
predicted_CS-0.0000.000BaseRunning_CS0.0660.000-0.0660.000
predicted_H1.2801.0001.000Hitting_H0.9513.0000.049-2.000
predicted_HR0.3100.0001.000Hitting_HR0.1311.000-0.131-1.000
predicted_OBP0.3680.2500.250Hitting_OBP0.2900.600-0.040-0.350
predicted_R0.4590.0001.000Hitting_R0.3443.000-0.344-3.000
predicted_RBI0.9500.0001.000Hitting_RBI0.3442.000-0.344-2.000
predicted_SLG0.6540.2501.000Hitting_SLG0.4011.200-0.151-0.950
predicted_SO0.6071.0001.000Hitting_SO0.7380.0000.2621.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics3
Deboosted Metrics6
Better Metrics2
Worse Metrics7
Biggest Boostpredicted_SO: 0.6070 -> 1.0000 (boost 0.3930, worse)
Biggest Deboostpredicted_RBI: 0.9500 -> 0.0000 (deboost -0.9500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend52323predicted_BB: 0.1800 -> 0.2361 (boost 0.0561, better)predicted_AB: 3.9400 -> 3.7363 (deboost -0.2037, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot11010predicted_AVG: 0.3253 -> 0.3326 (boost 0.0073, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_SO: 0.6384 -> 1.0000 (boost 0.3616, worse)predicted_HR: 0.3157 -> 0.0000 (deboost -0.3157, worse)AB rounded to 4 (raw=3.94), rates preserved: AVG=0.315 HR/AB=0.080
5consistency_constraints11010predicted_R: 0.5315 -> 1.0000 (boost 0.4685, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context40404-predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference20202-predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.6210 -> 0.6547 (boost 0.0337, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "671277",
  "player_name": "Luis García Jr.",
  "position": "1B",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.197,
        "predicted_3B": 0.041,
        "predicted_AB": 3.94,
        "predicted_AVG": 0.325,
        "predicted_BB": 0.18,
        "predicted_H": 1.28,
        "predicted_HR": 0.31,
        "predicted_OBP": 0.368,
        "predicted_R": 0.459,
        "predicted_RBI": 0.95,
        "predicted_SLG": 0.654,
        "predicted_SO": 0.607
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1892,
        "predicted_3B": 0.0337,
        "predicted_AB": 3.7363,
        "predicted_AVG": 0.3253,
        "predicted_BB": 0.2361,
        "predicted_H": 1.2148,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.3091,
        "predicted_OBP": 0.3708,
        "predicted_R": 0.5108,
        "predicted_RBI": 0.8805,
        "predicted_SLG": 0.6555,
        "predicted_SO": 0.6433
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.197,
          "after": 0.1892,
          "delta": -0.0078,
          "percent_delta": -0.0396,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.041,
          "after": 0.0337,
          "delta": -0.0073,
          "percent_delta": -0.178,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.94,
          "after": 3.7363,
          "delta": -0.2037,
          "percent_delta": -0.0517,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.325,
          "after": 0.3253,
          "delta": 0.0003,
          "percent_delta": 0.0009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.18,
          "after": 0.2361,
          "delta": 0.0561,
          "percent_delta": 0.3117,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.28,
          "after": 1.2148,
          "delta": -0.0652,
          "percent_delta": -0.0509,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.31,
          "after": 0.3091,
          "delta": -0.0009,
          "percent_delta": -0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.368,
          "after": 0.3708,
          "delta": 0.0028,
          "percent_delta": 0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.459,
          "after": 0.5108,
          "delta": 0.0518,
          "percent_delta": 0.1129,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.95,
          "after": 0.8805,
          "delta": -0.0695,
          "percent_delta": -0.0732,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.654,
          "after": 0.6555,
          "delta": 0.0015,
          "percent_delta": 0.0023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.607,
          "after": 0.6433,
          "delta": 0.0363,
          "percent_delta": 0.0598,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.18,
          "after": 0.2361,
          "delta": 0.0561,
          "percent_delta": 0.3117,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.94,
          "after": 3.7363,
          "delta": -0.2037,
          "percent_delta": -0.0517,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 122
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1892,
        "predicted_3B": 0.0337,
        "predicted_AB": 3.7363,
        "predicted_AVG": 0.3326,
        "predicted_BB": 0.2379,
        "predicted_H": 1.2427,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.3157,
        "predicted_OBP": 0.3726,
        "predicted_R": 0.5315,
        "predicted_RBI": 0.9162,
        "predicted_SLG": 0.6547,
        "predicted_SO": 0.6384
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1892,
          "after": 0.1892,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0337,
          "after": 0.0337,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7363,
          "after": 3.7363,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3253,
          "after": 0.3326,
          "delta": 0.0073,
          "percent_delta": 0.0224,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2361,
          "after": 0.2379,
          "delta": 0.0018,
          "percent_delta": 0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.2148,
          "after": 1.2427,
          "delta": 0.0279,
          "percent_delta": 0.023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.002,
          "after": 0.002,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3091,
          "after": 0.3157,
          "delta": 0.0066,
          "percent_delta": 0.0214,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3708,
          "after": 0.3726,
          "delta": 0.0018,
          "percent_delta": 0.0049,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5108,
          "after": 0.5315,
          "delta": 0.0207,
          "percent_delta": 0.0405,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8805,
          "after": 0.9162,
          "delta": 0.0357,
          "percent_delta": 0.0405,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.6555,
          "after": 0.6547,
          "delta": -0.0008,
          "percent_delta": -0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.6433,
          "after": 0.6384,
          "delta": -0.0049,
          "percent_delta": -0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.3253,
          "after": 0.3326,
          "delta": 0.0073,
          "percent_delta": 0.0224,
          "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.94), rates preserved: AVG=0.315 HR/AB=0.080",
      "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.1892,
          "after": 0.0,
          "delta": -0.1892,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0337,
          "after": 0.0,
          "delta": -0.0337,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7363,
          "after": 4.0,
          "delta": 0.2637,
          "percent_delta": 0.0706,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2379,
          "after": 0.0,
          "delta": -0.2379,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.2427,
          "after": 1.0,
          "delta": -0.2427,
          "percent_delta": -0.1953,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.002,
          "after": 0.0,
          "delta": -0.002,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3157,
          "after": 0.0,
          "delta": -0.3157,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9162,
          "after": 1.0,
          "delta": 0.0838,
          "percent_delta": 0.0915,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6384,
          "after": 1.0,
          "delta": 0.3616,
          "percent_delta": 0.5664,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.6384,
          "after": 1.0,
          "delta": 0.3616,
          "percent_delta": 0.5664,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.3157,
          "after": 0.0,
          "delta": -0.3157,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5315,
          "after": 1.0,
          "delta": 0.4685,
          "percent_delta": 0.8815,
          "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.5315,
          "after": 1.0,
          "delta": 0.4685,
          "percent_delta": 0.8815,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "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.315,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.36,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.621,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3326,
          "after": 0.315,
          "delta": -0.0176,
          "percent_delta": -0.0529,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3726,
          "after": 0.36,
          "delta": -0.0126,
          "percent_delta": -0.0338,
          "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.6547,
          "after": 0.621,
          "delta": -0.0337,
          "percent_delta": -0.0515,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.3326,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3726,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.6547,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.315,
          "after": 0.3326,
          "delta": 0.0176,
          "percent_delta": 0.0559,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.36,
          "after": 0.3726,
          "delta": 0.0126,
          "percent_delta": 0.0349,
          "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.621,
          "after": 0.6547,
          "delta": 0.0337,
          "percent_delta": 0.0543,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.621,
          "after": 0.6547,
          "delta": 0.0337,
          "percent_delta": 0.0543,
          "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.197,
        "after": 0.0,
        "delta": -0.197,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.041,
        "after": 0.0,
        "delta": -0.041,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.94,
        "after": 4.0,
        "delta": 0.06,
        "percent_delta": 0.0152,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.325,
        "after": 0.3326,
        "delta": 0.0076,
        "percent_delta": 0.0234,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.18,
        "after": 0.0,
        "delta": -0.18,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.28,
        "after": 1.0,
        "delta": -0.28,
        "percent_delta": -0.2188,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.31,
        "after": 0.0,
        "delta": -0.31,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.368,
        "after": 0.3726,
        "delta": 0.0046,
        "percent_delta": 0.0125,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.459,
        "after": 0.0,
        "delta": -0.459,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.95,
        "after": 0.0,
        "delta": -0.95,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.654,
        "after": 0.6547,
        "delta": 0.0007,
        "percent_delta": 0.0011,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.607,
        "after": 1.0,
        "delta": 0.393,
        "percent_delta": 0.6474,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 3,
      "deboosted_metrics": 6,
      "better_metrics": 2,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.607,
        "after": 1.0,
        "delta": 0.393,
        "percent_delta": 0.6474,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.95,
        "after": 0.0,
        "delta": -0.95,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.197-
predicted_3B0.041-
predicted_AB3.940-
predicted_AVG0.325-
predicted_BB0.180-
predicted_H1.280-
predicted_HR0.310-
predicted_OBP0.368-
predicted_R0.459-
predicted_RBI0.950-
predicted_SLG0.654-
predicted_SO0.607-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.189-0.008
predicted_3B0.034-0.007
predicted_AB3.736-0.204
predicted_AVG0.3250.000
predicted_BB0.2360.056
predicted_H1.215-0.065
predicted_HBP0.002-
predicted_HR0.309-0.001
predicted_OBP0.3710.003
predicted_R0.5110.052
predicted_RBI0.880-0.070
predicted_SLG0.6550.001
predicted_SO0.6430.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.1890.000
predicted_3B0.0340.000
predicted_AB3.7360.000
predicted_AVG0.3330.007
predicted_BB0.2380.002
predicted_H1.2430.028
predicted_HBP0.0020.000
predicted_HR0.3160.007
predicted_OBP0.3730.002
predicted_R0.5310.021
predicted_RBI0.9160.036
predicted_SLG0.655-0.001
predicted_SO0.638-0.005
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.94), rates preserved: AVG=0.315 HR/AB=0.080

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
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR1.0001.000
R1.0000.000
RBI1.0000.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.189
predicted_3B0.000-0.034
predicted_AB4.0000.264
predicted_AVG0.315-0.018
predicted_BB0.000-0.238
predicted_H1.000-0.243
predicted_HR0.000-0.316
predicted_OBP0.360-0.013
predicted_R1.0000.469
predicted_RBI1.0000.084
predicted_SLG0.621-0.034
predicted_SO1.0000.362
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
H1.0000.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 122
Reference playing time: 3.940
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0008.0001.0000.0003.0006.0005.0003.0003.0000.50000.57891.12500.50000.18750.37500.18750.1875
last_100.2010-36.00011.0001.0000.0003.0007.0005.0004.00010.0000.30560.36590.58330.30560.08330.19440.11110.2778
season0.60122-424.000120.00024.0005.00027.00085.00056.00022.00074.0000.28300.31700.55420.28300.06370.20050.05190.1745
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1790
predicted_3B0.0240
predicted_AB3.4680
predicted_AVG0.3257
predicted_BB0.3100
predicted_H1.1290
predicted_HBP0.0020
predicted_HR0.3080
predicted_OBP0.3745
predicted_R0.5790
predicted_RBI0.7890
predicted_SLG0.6574
predicted_SO0.6910
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19700.17900.1892model_form_blend
predicted_3B0.04100.02400.0337model_form_blend
predicted_AB3.94003.46803.7363model_form_blend
predicted_AVG0.32500.32570.3253model_form_blend
predicted_BB0.18000.31000.2361model_form_blend
predicted_H1.28001.12901.2148model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.31000.30800.3091model_form_blend
predicted_OBP0.36800.37450.3708model_form_blend
predicted_R0.45900.57900.5108model_form_blend
predicted_RBI0.95000.78900.8805model_form_blend
predicted_SLG0.65400.65740.6555model_form_blend
predicted_SO0.60700.69100.6433model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.6
Hitting_BB0
Hitting_GIDP0
Hitting_H3
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R3
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB6
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260826_HOU@NYY
game_typefull
mlbID671277
playerID671277
playerNameLuis García Jr.
pos1B
startedTrue
startingPosition1B
teamNYY
teamID19
game_date2026-08-26
sl_k_percent16.8
sl_bb_percent4.9
sl_woba0.37
sl_xwoba0.353
sl_xba0.286
sl_xslg0.503
sl_sweet_spot_percent34.1
sl_barrel_batted_rate12.3
sl_hard_hit_percent46.6
sl_exit_velocity_avg91.8
sl_launch_angle_avg11.3
sl_whiff_percent20.0
sl_swing_percent52.7
José Caballero (676609) · BATTER · 3B · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 373
All-history rows before 20260827: 373
System season_avg: 0.2330
Data season_avg (2026 season-to-date): 0.2520
Diff (system - data): -0.0190
System opponent_avg: 0.3750
System season_avg diverges from 2026 season-to-date by -0.0190. 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.1140.0000.000Hitting_2B0.1370.000-0.1370.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.2764.0003.000Hitting_AB3.4164.0000.5840.000
predicted_AVG0.2330.5000.333Hitting_AVG0.2520.2500.2480.250
predicted_BB0.2190.0000.000Hitting_BB0.2410.000-0.2410.000
predicted_CS-0.0000.000BaseRunning_CS0.0880.000-0.0880.000
predicted_H0.7622.0001.000Hitting_H0.8611.0001.1391.000
predicted_HR0.1140.0000.000Hitting_HR0.1310.000-0.1310.000
predicted_OBP0.2810.5000.333Hitting_OBP0.3090.2500.1910.250
predicted_R0.3711.0000.000Hitting_R0.4180.0000.5821.000
predicted_RBI0.4190.0000.000Hitting_RBI0.4770.000-0.4770.000
predicted_SLG0.3720.5000.333Hitting_SLG0.4070.2500.0930.250
predicted_SO0.8761.0001.000Hitting_SO0.8851.0000.1150.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_H: 0.7620 -> 2.0000 (boost 1.2380, better)
Biggest Deboostpredicted_RBI: 0.4190 -> 0.0000 (deboost -0.4190, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend40404-predicted_H: 0.7620 -> 0.6733 (deboost -0.0887, worse)Final model input calibrated 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.3249 -> 0.3321 (boost 0.0072, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling82617predicted_H: 0.6888 -> 1.0000 (boost 0.3112, better)predicted_RBI: 0.4262 -> 0.0000 (deboost -0.4262, worse)AB rounded to 3 (raw=3.28), rates preserved: AVG=0.210 HR/AB=0.030
5consistency_constraints10101-predicted_R: 0.3348 -> 0.0000 (deboost -0.3348, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference33030predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "676609",
  "player_name": "José Caballero",
  "position": "3B",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.114,
        "predicted_3B": 0.0,
        "predicted_AB": 3.276,
        "predicted_AVG": 0.233,
        "predicted_BB": 0.219,
        "predicted_H": 0.762,
        "predicted_HR": 0.114,
        "predicted_OBP": 0.281,
        "predicted_R": 0.371,
        "predicted_RBI": 0.419,
        "predicted_SLG": 0.372,
        "predicted_SO": 0.876
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0964,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.249,
        "predicted_AVG": 0.2072,
        "predicted_BB": 0.213,
        "predicted_H": 0.6733,
        "predicted_HBP": 0.091,
        "predicted_HR": 0.0956,
        "predicted_OBP": 0.2628,
        "predicted_R": 0.3217,
        "predicted_RBI": 0.4096,
        "predicted_SLG": 0.3249,
        "predicted_SO": 0.9107
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.114,
          "after": 0.0964,
          "delta": -0.0176,
          "percent_delta": -0.1544,
          "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.276,
          "after": 3.249,
          "delta": -0.027,
          "percent_delta": -0.0082,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.233,
          "after": 0.2072,
          "delta": -0.0258,
          "percent_delta": -0.1107,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.219,
          "after": 0.213,
          "delta": -0.006,
          "percent_delta": -0.0274,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.762,
          "after": 0.6733,
          "delta": -0.0887,
          "percent_delta": -0.1164,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.114,
          "after": 0.0956,
          "delta": -0.0184,
          "percent_delta": -0.1614,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.281,
          "after": 0.2628,
          "delta": -0.0182,
          "percent_delta": -0.0648,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.371,
          "after": 0.3217,
          "delta": -0.0493,
          "percent_delta": -0.1329,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.419,
          "after": 0.4096,
          "delta": -0.0094,
          "percent_delta": -0.0224,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.372,
          "after": 0.3249,
          "delta": -0.0471,
          "percent_delta": -0.1266,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.876,
          "after": 0.9107,
          "delta": 0.0347,
          "percent_delta": 0.0396,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.762,
          "after": 0.6733,
          "delta": -0.0887,
          "percent_delta": -0.1164,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.0964,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.249,
        "predicted_AVG": 0.212,
        "predicted_BB": 0.2146,
        "predicted_H": 0.6888,
        "predicted_HBP": 0.091,
        "predicted_HR": 0.0976,
        "predicted_OBP": 0.2608,
        "predicted_R": 0.3348,
        "predicted_RBI": 0.4262,
        "predicted_SLG": 0.3321,
        "predicted_SO": 0.9038
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0964,
          "after": 0.0964,
          "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.249,
          "after": 3.249,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2072,
          "after": 0.212,
          "delta": 0.0048,
          "percent_delta": 0.0232,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.213,
          "after": 0.2146,
          "delta": 0.0016,
          "percent_delta": 0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6733,
          "after": 0.6888,
          "delta": 0.0155,
          "percent_delta": 0.023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.091,
          "after": 0.091,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0956,
          "after": 0.0976,
          "delta": 0.002,
          "percent_delta": 0.0209,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2628,
          "after": 0.2608,
          "delta": -0.002,
          "percent_delta": -0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3217,
          "after": 0.3348,
          "delta": 0.0131,
          "percent_delta": 0.0407,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4096,
          "after": 0.4262,
          "delta": 0.0166,
          "percent_delta": 0.0405,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3249,
          "after": 0.3321,
          "delta": 0.0072,
          "percent_delta": 0.0222,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9107,
          "after": 0.9038,
          "delta": -0.0069,
          "percent_delta": -0.0076,
          "direction": "no_change",
          "projection_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.3249,
          "after": 0.3321,
          "delta": 0.0072,
          "percent_delta": 0.0222,
          "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.28), rates preserved: AVG=0.210 HR/AB=0.030",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0964,
          "after": 0.0,
          "delta": -0.0964,
          "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.249,
          "after": 3.0,
          "delta": -0.249,
          "percent_delta": -0.0766,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2146,
          "after": 0.0,
          "delta": -0.2146,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6888,
          "after": 1.0,
          "delta": 0.3112,
          "percent_delta": 0.4518,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.091,
          "after": 0.0,
          "delta": -0.091,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0976,
          "after": 0.0,
          "delta": -0.0976,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4262,
          "after": 0.0,
          "delta": -0.4262,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9038,
          "after": 1.0,
          "delta": 0.0962,
          "percent_delta": 0.1064,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.6888,
          "after": 1.0,
          "delta": 0.3112,
          "percent_delta": 0.4518,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4262,
          "after": 0.0,
          "delta": -0.4262,
          "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.3348,
          "after": 0.0,
          "delta": -0.3348,
          "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.3348,
          "after": 0.0,
          "delta": -0.3348,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": {},
      "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.21,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.265,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.337,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.212,
          "after": 0.21,
          "delta": -0.002,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2608,
          "after": 0.265,
          "delta": 0.0042,
          "percent_delta": 0.0161,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3321,
          "after": 0.337,
          "delta": 0.0049,
          "percent_delta": 0.0148,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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": 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.212,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2608,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3321,
        "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.21,
          "after": 0.212,
          "delta": 0.002,
          "percent_delta": 0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.265,
          "after": 0.2608,
          "delta": -0.0042,
          "percent_delta": -0.0157,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.337,
          "after": 0.3321,
          "delta": -0.0049,
          "percent_delta": -0.0147,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "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": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.114,
        "after": 0.0,
        "delta": -0.114,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.276,
        "after": 4.0,
        "delta": 0.724,
        "percent_delta": 0.221,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.233,
        "after": 0.212,
        "delta": -0.021,
        "percent_delta": -0.0901,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.219,
        "after": 0.0,
        "delta": -0.219,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.762,
        "after": 2.0,
        "delta": 1.238,
        "percent_delta": 1.6247,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.114,
        "after": 0.0,
        "delta": -0.114,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.281,
        "after": 0.2608,
        "delta": -0.0202,
        "percent_delta": -0.0719,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.371,
        "after": 1.0,
        "delta": 0.629,
        "percent_delta": 1.6954,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.419,
        "after": 0.0,
        "delta": -0.419,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.372,
        "after": 0.3321,
        "delta": -0.0399,
        "percent_delta": -0.1073,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.876,
        "after": 1.0,
        "delta": 0.124,
        "percent_delta": 0.1416,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.762,
        "after": 2.0,
        "delta": 1.238,
        "percent_delta": 1.6247,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.419,
        "after": 0.0,
        "delta": -0.419,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.114-
predicted_3B0.000-
predicted_AB3.276-
predicted_AVG0.233-
predicted_BB0.219-
predicted_H0.762-
predicted_HR0.114-
predicted_OBP0.281-
predicted_R0.371-
predicted_RBI0.419-
predicted_SLG0.372-
predicted_SO0.876-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.096-0.018
predicted_3B0.0000.000
predicted_AB3.249-0.027
predicted_AVG0.207-0.026
predicted_BB0.213-0.006
predicted_H0.673-0.089
predicted_HBP0.091-
predicted_HR0.096-0.018
predicted_OBP0.263-0.018
predicted_R0.322-0.049
predicted_RBI0.410-0.009
predicted_SLG0.325-0.047
predicted_SO0.9110.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.0960.000
predicted_3B0.0000.000
predicted_AB3.2490.000
predicted_AVG0.2120.005
predicted_BB0.2150.002
predicted_H0.6890.015
predicted_HBP0.0910.000
predicted_HR0.0980.002
predicted_OBP0.261-0.002
predicted_R0.3350.013
predicted_RBI0.4260.017
predicted_SLG0.3320.007
predicted_SO0.904-0.007
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.28), rates preserved: AVG=0.210 HR/AB=0.030

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.096
predicted_3B0.000-0.000
predicted_AB3.000-0.249
predicted_AVG0.210-0.002
predicted_BB0.000-0.215
predicted_H1.0000.311
predicted_HR0.000-0.098
predicted_OBP0.2650.004
predicted_R0.000-0.335
predicted_RBI0.000-0.426
predicted_SLG0.3370.005
predicted_SO1.0000.096
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
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 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-17.0001.0000.0000.0000.0002.0000.0000.0005.0000.05880.10530.05880.05880.00000.11770.00000.2941
last_100.2010-26.0002.0000.0000.0000.0003.0001.0003.00011.0000.07690.19350.07690.07690.00000.11540.11540.4231
season0.60105-344.00080.00012.0000.00012.00044.00039.00023.00092.0000.23260.28910.37210.23260.03490.12790.06690.2674
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0730
predicted_3B0.0010
predicted_AB3.2130
predicted_AVG0.1727
predicted_BB0.2050
predicted_H0.5550
predicted_HBP0.0910
predicted_HR0.0710
predicted_OBP0.2385
predicted_R0.2560
predicted_RBI0.3970
predicted_SLG0.2620
predicted_SO0.9570
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11400.07300.0964model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.27603.21303.2490model_form_blend
predicted_AVG0.23300.17270.2072model_form_blend
predicted_BB0.21900.20500.2130model_form_blend
predicted_H0.76200.55500.6733model_form_blend
predicted_HBP-0.09100.0910form_only
predicted_HR0.11400.07100.0956model_form_blend
predicted_OBP0.28100.23850.2628model_form_blend
predicted_R0.37100.25600.3217model_form_blend
predicted_RBI0.41900.39700.4096model_form_blend
predicted_SLG0.37200.26200.3249model_form_blend
predicted_SO0.87600.95700.9107model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder9
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260826_HOU@NYY
game_typefull
mlbID676609
playerID676609
playerNameJosé Caballero
posSS
startedTrue
startingPosition3B
teamNYY
teamID19
game_date2026-08-26
sl_k_percent23.7
sl_bb_percent5.7
sl_woba0.296
sl_xwoba0.283
sl_xba0.234
sl_xslg0.346
sl_sweet_spot_percent32.6
sl_barrel_batted_rate4.3
sl_hard_hit_percent25.9
sl_exit_velocity_avg83.8
sl_launch_angle_avg13.5
sl_whiff_percent27.9
sl_swing_percent50.7
George Lombard Jr. (806146) · BATTER · SS · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 56
All-history rows before 20260827: 56
System season_avg: 0.2860
Data season_avg (2026 season-to-date): 0.2995
Diff (system - data): -0.0135
System opponent_avg: 0.2860

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0561.0000.000Hitting_2B0.0710.0000.9291.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.9703.0004.000Hitting_AB3.5185.000-0.518-2.000
predicted_AVG0.2450.3330.250Hitting_AVG0.2990.0000.0340.333
predicted_BB0.3331.0000.000Hitting_BB0.3570.0000.6431.000
predicted_CS-0.0000.000BaseRunning_CS0.0710.000-0.0710.000
predicted_H0.9701.0001.000Hitting_H1.0540.000-0.0541.000
predicted_HR0.0900.0000.000Hitting_HR0.1250.000-0.1250.000
predicted_OBP0.3170.5000.250Hitting_OBP0.3570.0000.1430.500
predicted_R0.6671.0001.000Hitting_R0.6430.0000.3571.000
predicted_RBI0.3400.0000.000Hitting_RBI0.3391.000-0.339-1.000
predicted_SLG0.3520.6670.250Hitting_SLG0.4260.0000.2400.667
predicted_SO0.9440.0001.000Hitting_SO0.9463.000-0.946-3.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics9
Boosted Metrics4
Deboosted Metrics5
Better Metrics5
Worse Metrics4
Biggest Boostpredicted_2B: 0.0560 -> 1.0000 (boost 0.9440, better)
Biggest Deboostpredicted_AB: 3.9700 -> 3.0000 (deboost -0.9700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_AVG: 0.2450 -> 0.2522 (boost 0.0072, better)predicted_AB: 3.9700 -> 3.8429 (deboost -0.1271, worse)Final model input calibrated 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_AVG: 0.2522 -> 0.2572 (boost 0.0050, better)predicted_SLG: 0.3562 -> 0.3463 (deboost -0.0099, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62415predicted_AB: 3.8429 -> 4.0000 (boost 0.1571, better)predicted_RBI: 0.3399 -> 0.0000 (deboost -0.3399, worse)AB rounded to 4 (raw=3.97), rates preserved: AVG=0.249 HR/AB=0.023
5consistency_constraints11010predicted_R: 0.6794 -> 1.0000 (boost 0.3206, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context10101-predicted_AVG: 0.2572 -> 0.2490 (deboost -0.0082, 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_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final11010predicted_AVG: 0.2490 -> 0.2572 (boost 0.0082, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "806146",
  "player_name": "George Lombard Jr.",
  "position": "SS",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.056,
        "predicted_3B": 0.0,
        "predicted_AB": 3.97,
        "predicted_AVG": 0.245,
        "predicted_BB": 0.333,
        "predicted_H": 0.97,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.317,
        "predicted_R": 0.667,
        "predicted_RBI": 0.34,
        "predicted_SLG": 0.352,
        "predicted_SO": 0.944
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0683,
        "predicted_3B": 0.0014,
        "predicted_AB": 3.8429,
        "predicted_AVG": 0.2522,
        "predicted_BB": 0.3181,
        "predicted_H": 0.966,
        "predicted_HBP": 0.009,
        "predicted_HR": 0.0886,
        "predicted_OBP": 0.3175,
        "predicted_R": 0.6529,
        "predicted_RBI": 0.3266,
        "predicted_SLG": 0.3562,
        "predicted_SO": 0.9447
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.056,
          "after": 0.0683,
          "delta": 0.0123,
          "percent_delta": 0.2196,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0014,
          "delta": 0.0014,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.97,
          "after": 3.8429,
          "delta": -0.1271,
          "percent_delta": -0.032,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.245,
          "after": 0.2522,
          "delta": 0.0072,
          "percent_delta": 0.0294,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.333,
          "after": 0.3181,
          "delta": -0.0149,
          "percent_delta": -0.0447,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.97,
          "after": 0.966,
          "delta": -0.004,
          "percent_delta": -0.0041,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.0886,
          "delta": -0.0014,
          "percent_delta": -0.0156,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.317,
          "after": 0.3175,
          "delta": 0.0005,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.667,
          "after": 0.6529,
          "delta": -0.0141,
          "percent_delta": -0.0211,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.34,
          "after": 0.3266,
          "delta": -0.0134,
          "percent_delta": -0.0394,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.352,
          "after": 0.3562,
          "delta": 0.0042,
          "percent_delta": 0.0119,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.944,
          "after": 0.9447,
          "delta": 0.0007,
          "percent_delta": 0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.245,
          "after": 0.2522,
          "delta": 0.0072,
          "percent_delta": 0.0294,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.97,
          "after": 3.8429,
          "delta": -0.1271,
          "percent_delta": -0.032,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 18
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0683,
        "predicted_3B": 0.0014,
        "predicted_AB": 3.8429,
        "predicted_AVG": 0.2572,
        "predicted_BB": 0.3205,
        "predicted_H": 0.9882,
        "predicted_HBP": 0.009,
        "predicted_HR": 0.0905,
        "predicted_OBP": 0.3143,
        "predicted_R": 0.6794,
        "predicted_RBI": 0.3399,
        "predicted_SLG": 0.3463,
        "predicted_SO": 0.9375
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0683,
          "after": 0.0683,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0014,
          "after": 0.0014,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8429,
          "after": 3.8429,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2522,
          "after": 0.2572,
          "delta": 0.005,
          "percent_delta": 0.0198,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3181,
          "after": 0.3205,
          "delta": 0.0024,
          "percent_delta": 0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.966,
          "after": 0.9882,
          "delta": 0.0222,
          "percent_delta": 0.023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.009,
          "after": 0.009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0886,
          "after": 0.0905,
          "delta": 0.0019,
          "percent_delta": 0.0214,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3175,
          "after": 0.3143,
          "delta": -0.0032,
          "percent_delta": -0.0101,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6529,
          "after": 0.6794,
          "delta": 0.0265,
          "percent_delta": 0.0406,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3266,
          "after": 0.3399,
          "delta": 0.0133,
          "percent_delta": 0.0407,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3562,
          "after": 0.3463,
          "delta": -0.0099,
          "percent_delta": -0.0278,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9447,
          "after": 0.9375,
          "delta": -0.0072,
          "percent_delta": -0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2522,
          "after": 0.2572,
          "delta": 0.005,
          "percent_delta": 0.0198,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3562,
          "after": 0.3463,
          "delta": -0.0099,
          "percent_delta": -0.0278,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.97), rates preserved: AVG=0.249 HR/AB=0.023",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0683,
          "after": 0.0,
          "delta": -0.0683,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0014,
          "after": 0.0,
          "delta": -0.0014,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8429,
          "after": 4.0,
          "delta": 0.1571,
          "percent_delta": 0.0409,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3205,
          "after": 0.0,
          "delta": -0.3205,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9882,
          "after": 1.0,
          "delta": 0.0118,
          "percent_delta": 0.0119,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.009,
          "after": 0.0,
          "delta": -0.009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0905,
          "after": 0.0,
          "delta": -0.0905,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3399,
          "after": 0.0,
          "delta": -0.3399,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9375,
          "after": 1.0,
          "delta": 0.0625,
          "percent_delta": 0.0667,
          "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.8429,
          "after": 4.0,
          "delta": 0.1571,
          "percent_delta": 0.0409,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3399,
          "after": 0.0,
          "delta": -0.3399,
          "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.6794,
          "after": 1.0,
          "delta": 0.3206,
          "percent_delta": 0.4719,
          "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.6794,
          "after": 1.0,
          "delta": 0.3206,
          "percent_delta": 0.4719,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.249,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.31,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.343,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2572,
          "after": 0.249,
          "delta": -0.0082,
          "percent_delta": -0.0319,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3143,
          "after": 0.31,
          "delta": -0.0043,
          "percent_delta": -0.0137,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3463,
          "after": 0.343,
          "delta": -0.0033,
          "percent_delta": -0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2572,
          "after": 0.249,
          "delta": -0.0082,
          "percent_delta": -0.0319,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "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_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2572,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3143,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3463,
        "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.249,
          "after": 0.2572,
          "delta": 0.0082,
          "percent_delta": 0.0327,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.31,
          "after": 0.3143,
          "delta": 0.0043,
          "percent_delta": 0.014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.343,
          "after": 0.3463,
          "delta": 0.0033,
          "percent_delta": 0.0096,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.249,
          "after": 0.2572,
          "delta": 0.0082,
          "percent_delta": 0.0327,
          "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.056,
        "after": 1.0,
        "delta": 0.944,
        "percent_delta": 16.8571,
        "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.97,
        "after": 3.0,
        "delta": -0.97,
        "percent_delta": -0.2443,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.245,
        "after": 0.2572,
        "delta": 0.0122,
        "percent_delta": 0.0498,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.333,
        "after": 1.0,
        "delta": 0.667,
        "percent_delta": 2.003,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.97,
        "after": 1.0,
        "delta": 0.03,
        "percent_delta": 0.0309,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.317,
        "after": 0.3143,
        "delta": -0.0027,
        "percent_delta": -0.0085,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.667,
        "after": 1.0,
        "delta": 0.333,
        "percent_delta": 0.4993,
        "direction": "boost",
        "projection_effect": "better",
        "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.352,
        "after": 0.3463,
        "delta": -0.0057,
        "percent_delta": -0.0162,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.944,
        "after": 0.0,
        "delta": -0.944,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 4,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_2B",
        "before": 0.056,
        "after": 1.0,
        "delta": 0.944,
        "percent_delta": 16.8571,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.97,
        "after": 3.0,
        "delta": -0.97,
        "percent_delta": -0.2443,
        "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.056-
predicted_3B0.000-
predicted_AB3.970-
predicted_AVG0.245-
predicted_BB0.333-
predicted_H0.970-
predicted_HR0.090-
predicted_OBP0.317-
predicted_R0.667-
predicted_RBI0.340-
predicted_SLG0.352-
predicted_SO0.944-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.0680.012
predicted_3B0.0010.001
predicted_AB3.843-0.127
predicted_AVG0.2520.007
predicted_BB0.318-0.015
predicted_H0.966-0.004
predicted_HBP0.009-
predicted_HR0.089-0.001
predicted_OBP0.3180.001
predicted_R0.653-0.014
predicted_RBI0.327-0.013
predicted_SLG0.3560.004
predicted_SO0.9450.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.0680.000
predicted_3B0.0010.000
predicted_AB3.8430.000
predicted_AVG0.2570.005
predicted_BB0.3210.002
predicted_H0.9880.022
predicted_HBP0.0090.000
predicted_HR0.0900.002
predicted_OBP0.314-0.003
predicted_R0.6790.026
predicted_RBI0.3400.013
predicted_SLG0.346-0.010
predicted_SO0.938-0.007
4. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI0.0000.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.068
predicted_3B0.000-0.001
predicted_AB4.0000.157
predicted_AVG0.249-0.008
predicted_BB0.000-0.321
predicted_H1.0000.012
predicted_HR0.000-0.090
predicted_OBP0.310-0.004
predicted_R1.0000.321
predicted_RBI0.000-0.340
predicted_SLG0.343-0.003
predicted_SO1.0000.062
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 18
Reference playing time: 3.970
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0004.0000.0000.0000.0000.0004.0001.0006.0000.21050.25000.21050.21050.00000.00000.05260.3158
last_100.2010-34.00010.0001.0000.0000.0003.0006.0003.0009.0000.29410.34210.32350.29410.00000.08820.08820.2647
season0.6018-63.00018.0001.0000.0002.0005.00012.0006.00017.0000.28570.34290.39680.28570.03180.07940.09520.2698
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0900
predicted_3B0.0040
predicted_AB3.6190
predicted_AVG0.2650
predicted_BB0.2920
predicted_H0.9590
predicted_HBP0.0090
predicted_HR0.0860
predicted_OBP0.3185
predicted_R0.6280
predicted_RBI0.3030
predicted_SLG0.3637
predicted_SO0.9460
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.05600.09000.0683model_form_blend
predicted_3B0.00000.00400.0014model_form_blend
predicted_AB3.97003.61903.8429model_form_blend
predicted_AVG0.24500.26500.2522model_form_blend
predicted_BB0.33300.29200.3181model_form_blend
predicted_H0.97000.95900.9660model_form_blend
predicted_HBP-0.00900.0090form_only
predicted_HR0.09000.08600.0886model_form_blend
predicted_OBP0.31700.31850.3175model_form_blend
predicted_R0.66700.62800.6529model_form_blend
predicted_RBI0.34000.30300.3266model_form_blend
predicted_SLG0.35200.36370.3562model_form_blend
predicted_SO0.94400.94600.9447model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E1
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_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO3
Hitting_TB0
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260826_HOU@NYY
game_typefull
mlbID806146
playerID806146
playerNameGeorge Lombard Jr.
posSS
startedTrue
startingPositionSS
teamNYY
teamID19
game_date2026-08-26
sl_k_percent27.6
sl_bb_percent8.0
sl_woba0.3
sl_xwoba0.295
sl_xba0.245
sl_xslg0.354
sl_sweet_spot_percent41.1
sl_barrel_batted_rate7.3
sl_hard_hit_percent35.7
sl_exit_velocity_avg85.9
sl_launch_angle_avg5.6
sl_whiff_percent25.5
sl_swing_percent46.0
Jazz Chisholm Jr. (665862) · BATTER · 2B · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 465
All-history rows before 20260827: 465
System season_avg: 0.2220
Data season_avg (2026 season-to-date): 0.2231
Diff (system - data): -0.0011
System opponent_avg: 0.2550

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1180.0000.000Hitting_2B0.1251.000-0.125-1.000
predicted_3B0.0250.0000.000Hitting_3B0.0220.000-0.0220.000
predicted_AB3.6204.0004.000Hitting_AB3.6543.0000.3461.000
predicted_AVG0.2420.2500.250Hitting_AVG0.2231.0000.027-0.750
predicted_BB0.3780.0001.000Hitting_BB0.4371.000-0.437-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0671.000-0.067-1.000
predicted_H0.8701.0001.000Hitting_H0.8153.0000.185-2.000
predicted_HR0.2000.0000.000Hitting_HR0.1610.000-0.1610.000
predicted_OBP0.3180.2500.400Hitting_OBP0.3051.000-0.055-0.750
predicted_R0.4870.0000.000Hitting_R0.5381.000-0.538-1.000
predicted_RBI0.5400.0001.000Hitting_RBI0.4621.000-0.462-1.000
predicted_SB-0.0000.000BaseRunning_SB0.2971.000-0.297-1.000
predicted_SLG0.4330.2500.250Hitting_SLG0.4011.333-0.151-1.083
predicted_SO1.1930.0001.000Hitting_SO1.2370.000-1.2370.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectdeboosted
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_AB: 3.6200 -> 4.0000 (boost 0.3800, better)
Biggest Deboostpredicted_SO: 1.1930 -> 0.0000 (deboost -1.1930, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42231predicted_SLG: 0.4330 -> 0.4461 (boost 0.0131, better)predicted_SO: 1.1930 -> 1.0620 (deboost -0.1310, 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.4461 -> 0.4660 (boost 0.0199, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73443predicted_RBI: 0.5435 -> 1.0000 (boost 0.4565, better)predicted_BB: 0.3574 -> 0.0000 (deboost -0.3574, worse)AB rounded to 4 (raw=3.62), rates preserved: AVG=0.249 HR/AB=0.050
5consistency_constraints10101-predicted_R: 0.4924 -> 0.0000 (deboost -0.4924, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context20202-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference20211-predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final11010predicted_SLG: 0.4590 -> 0.4660 (boost 0.0070, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "665862",
  "player_name": "Jazz Chisholm Jr.",
  "position": "2B",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.118,
        "predicted_3B": 0.025,
        "predicted_AB": 3.62,
        "predicted_AVG": 0.242,
        "predicted_BB": 0.378,
        "predicted_H": 0.87,
        "predicted_HR": 0.2,
        "predicted_OBP": 0.318,
        "predicted_R": 0.487,
        "predicted_RBI": 0.54,
        "predicted_SLG": 0.433,
        "predicted_SO": 1.193
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1245,
        "predicted_3B": 0.0453,
        "predicted_AB": 3.5629,
        "predicted_AVG": 0.248,
        "predicted_BB": 0.3547,
        "predicted_H": 0.8795,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.178,
        "predicted_OBP": 0.3188,
        "predicted_R": 0.4732,
        "predicted_RBI": 0.5223,
        "predicted_SLG": 0.4461,
        "predicted_SO": 1.062
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.118,
          "after": 0.1245,
          "delta": 0.0065,
          "percent_delta": 0.0551,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.025,
          "after": 0.0453,
          "delta": 0.0203,
          "percent_delta": 0.812,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.62,
          "after": 3.5629,
          "delta": -0.0571,
          "percent_delta": -0.0158,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.242,
          "after": 0.248,
          "delta": 0.006,
          "percent_delta": 0.0248,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.378,
          "after": 0.3547,
          "delta": -0.0233,
          "percent_delta": -0.0616,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.87,
          "after": 0.8795,
          "delta": 0.0095,
          "percent_delta": 0.0109,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2,
          "after": 0.178,
          "delta": -0.022,
          "percent_delta": -0.11,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.318,
          "after": 0.3188,
          "delta": 0.0008,
          "percent_delta": 0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.487,
          "after": 0.4732,
          "delta": -0.0138,
          "percent_delta": -0.0283,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.54,
          "after": 0.5223,
          "delta": -0.0177,
          "percent_delta": -0.0328,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.433,
          "after": 0.4461,
          "delta": 0.0131,
          "percent_delta": 0.0303,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.193,
          "after": 1.062,
          "delta": -0.131,
          "percent_delta": -0.1098,
          "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.433,
          "after": 0.4461,
          "delta": 0.0131,
          "percent_delta": 0.0303,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.193,
          "after": 1.062,
          "delta": -0.131,
          "percent_delta": -0.1098,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.1245,
        "predicted_3B": 0.0453,
        "predicted_AB": 3.5629,
        "predicted_AVG": 0.2525,
        "predicted_BB": 0.3574,
        "predicted_H": 0.8997,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.1818,
        "predicted_OBP": 0.3207,
        "predicted_R": 0.4924,
        "predicted_RBI": 0.5435,
        "predicted_SLG": 0.466,
        "predicted_SO": 1.0539
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1245,
          "after": 0.1245,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0453,
          "after": 0.0453,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5629,
          "after": 3.5629,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.248,
          "after": 0.2525,
          "delta": 0.0045,
          "percent_delta": 0.0181,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3547,
          "after": 0.3574,
          "delta": 0.0027,
          "percent_delta": 0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8795,
          "after": 0.8997,
          "delta": 0.0202,
          "percent_delta": 0.023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.006,
          "after": 0.006,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.178,
          "after": 0.1818,
          "delta": 0.0038,
          "percent_delta": 0.0213,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3188,
          "after": 0.3207,
          "delta": 0.0019,
          "percent_delta": 0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4732,
          "after": 0.4924,
          "delta": 0.0192,
          "percent_delta": 0.0406,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5223,
          "after": 0.5435,
          "delta": 0.0212,
          "percent_delta": 0.0406,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4461,
          "after": 0.466,
          "delta": 0.0199,
          "percent_delta": 0.0446,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.062,
          "after": 1.0539,
          "delta": -0.0081,
          "percent_delta": -0.0076,
          "direction": "no_change",
          "projection_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.4461,
          "after": 0.466,
          "delta": 0.0199,
          "percent_delta": 0.0446,
          "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.62), rates preserved: AVG=0.249 HR/AB=0.050",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1245,
          "after": 0.0,
          "delta": -0.1245,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0453,
          "after": 0.0,
          "delta": -0.0453,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5629,
          "after": 4.0,
          "delta": 0.4371,
          "percent_delta": 0.1227,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3574,
          "after": 0.0,
          "delta": -0.3574,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8997,
          "after": 1.0,
          "delta": 0.1003,
          "percent_delta": 0.1115,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.006,
          "after": 0.0,
          "delta": -0.006,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1818,
          "after": 0.0,
          "delta": -0.1818,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5435,
          "after": 1.0,
          "delta": 0.4565,
          "percent_delta": 0.8399,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0539,
          "after": 1.0,
          "delta": -0.0539,
          "percent_delta": -0.0511,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 4,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5435,
          "after": 1.0,
          "delta": 0.4565,
          "percent_delta": 0.8399,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3574,
          "after": 0.0,
          "delta": -0.3574,
          "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.4924,
          "after": 0.0,
          "delta": -0.4924,
          "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.4924,
          "after": 0.0,
          "delta": -0.4924,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "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.249,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.321,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.459,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2525,
          "after": 0.249,
          "delta": -0.0035,
          "percent_delta": -0.0139,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3207,
          "after": 0.321,
          "delta": 0.0003,
          "percent_delta": 0.0009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.466,
          "after": 0.459,
          "delta": -0.007,
          "percent_delta": -0.015,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2525,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3207,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.466,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.249,
          "after": 0.2525,
          "delta": 0.0035,
          "percent_delta": 0.0142,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.321,
          "after": 0.3207,
          "delta": -0.0003,
          "percent_delta": -0.001,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.459,
          "after": 0.466,
          "delta": 0.007,
          "percent_delta": 0.0152,
          "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_SLG",
          "before": 0.459,
          "after": 0.466,
          "delta": 0.007,
          "percent_delta": 0.0152,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.118,
        "after": 0.0,
        "delta": -0.118,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.025,
        "after": 0.0,
        "delta": -0.025,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.62,
        "after": 4.0,
        "delta": 0.38,
        "percent_delta": 0.105,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.242,
        "after": 0.2525,
        "delta": 0.0105,
        "percent_delta": 0.0434,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.378,
        "after": 0.0,
        "delta": -0.378,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.87,
        "after": 1.0,
        "delta": 0.13,
        "percent_delta": 0.1494,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.2,
        "after": 0.0,
        "delta": -0.2,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.318,
        "after": 0.3207,
        "delta": 0.0027,
        "percent_delta": 0.0085,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.487,
        "after": 0.0,
        "delta": -0.487,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.54,
        "after": 0.0,
        "delta": -0.54,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.433,
        "after": 0.466,
        "delta": 0.033,
        "percent_delta": 0.0762,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.193,
        "after": 0.0,
        "delta": -1.193,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.62,
        "after": 4.0,
        "delta": 0.38,
        "percent_delta": 0.105,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.193,
        "after": 0.0,
        "delta": -1.193,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "deboosted"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.118-
predicted_3B0.025-
predicted_AB3.620-
predicted_AVG0.242-
predicted_BB0.378-
predicted_H0.870-
predicted_HR0.200-
predicted_OBP0.318-
predicted_R0.487-
predicted_RBI0.540-
predicted_SLG0.433-
predicted_SO1.193-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1240.007
predicted_3B0.0450.020
predicted_AB3.563-0.057
predicted_AVG0.2480.006
predicted_BB0.355-0.023
predicted_H0.8790.009
predicted_HBP0.006-
predicted_HR0.178-0.022
predicted_OBP0.3190.001
predicted_R0.473-0.014
predicted_RBI0.522-0.018
predicted_SLG0.4460.013
predicted_SO1.062-0.131
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1240.000
predicted_3B0.0450.000
predicted_AB3.5630.000
predicted_AVG0.2530.005
predicted_BB0.3570.003
predicted_H0.9000.020
predicted_HBP0.0060.000
predicted_HR0.1820.004
predicted_OBP0.3210.002
predicted_R0.4920.019
predicted_RBI0.5430.021
predicted_SLG0.4660.020
predicted_SO1.054-0.008
4. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.124
predicted_3B0.000-0.045
predicted_AB4.0000.437
predicted_AVG0.249-0.004
predicted_BB0.000-0.357
predicted_H1.0000.100
predicted_HR0.000-0.182
predicted_OBP0.3210.000
predicted_R0.000-0.492
predicted_RBI1.0000.457
predicted_SLG0.459-0.007
predicted_SO1.000-0.054
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.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: 119
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0006.0001.0001.0001.0004.0002.0001.0002.0000.33330.36840.66670.33330.05560.22220.05560.1111
last_100.2010-32.0009.0001.0001.0001.0004.0004.0003.0005.0000.28120.34290.46880.28120.03120.12500.09380.1562
season0.60119-418.00093.00014.0003.00018.00052.00058.00045.000142.0000.22250.29760.39950.22250.04310.12440.10770.3397
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1330
predicted_3B0.0720
predicted_AB3.4880
predicted_AVG0.2559
predicted_BB0.3240
predicted_H0.8920
predicted_HBP0.0060
predicted_HR0.1490
predicted_OBP0.3199
predicted_R0.4550
predicted_RBI0.4990
predicted_SLG0.4632
predicted_SO0.8900
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11800.13300.1245model_form_blend
predicted_3B0.02500.07200.0453model_form_blend
predicted_AB3.62003.48803.5629model_form_blend
predicted_AVG0.24200.25590.2480model_form_blend
predicted_BB0.37800.32400.3547model_form_blend
predicted_H0.87000.89200.8795model_form_blend
predicted_HBP-0.00600.0060form_only
predicted_HR0.20000.14900.1780model_form_blend
predicted_OBP0.31800.31990.3188model_form_blend
predicted_R0.48700.45500.4732model_form_blend
predicted_RBI0.54000.49900.5223model_form_blend
predicted_SLG0.43300.46320.4461model_form_blend
predicted_SO1.19300.89001.0620model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS1
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB3
Hitting_AVG1.0
Hitting_BB1
Hitting_GIDP0
Hitting_H3
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB4
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260826_HOU@NYY
game_typefull
mlbID665862
playerID665862
playerNameJazz Chisholm Jr.
pos2B
startedTrue
startingPosition2B
teamNYY
teamID19
game_date2026-08-26
sl_k_percent29.8
sl_bb_percent10.4
sl_woba0.31
sl_xwoba0.295
sl_xba0.215
sl_xslg0.37
sl_sweet_spot_percent29.5
sl_barrel_batted_rate8.8
sl_hard_hit_percent42.3
sl_exit_velocity_avg90.7
sl_launch_angle_avg16.2
sl_whiff_percent31.0
sl_swing_percent45.6
Austin Wells (669224) · BATTER · C · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 295
All-history rows before 20260827: 295
System season_avg: 0.1770
Data season_avg (2026 season-to-date): 0.1889
Diff (system - data): -0.0119
System opponent_avg: 0.3330

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0740.0000.000Hitting_2B0.0710.000-0.0710.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.8303.0003.000Hitting_AB3.0513.000-0.0510.000
predicted_AVG0.2030.0000.000Hitting_AVG0.1890.667-0.189-0.667
predicted_BB0.3401.0000.000Hitting_BB0.4141.0000.5860.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.5300.0000.000Hitting_H0.5762.000-0.576-2.000
predicted_HR0.0500.0000.000Hitting_HR0.1120.000-0.1120.000
predicted_OBP0.2790.2500.000Hitting_OBP0.2890.750-0.039-0.500
predicted_R0.2770.0000.000Hitting_R0.3360.000-0.3360.000
predicted_RBI0.2900.0000.000Hitting_RBI0.2340.000-0.2340.000
predicted_SLG0.2970.0000.000Hitting_SLG0.3220.667-0.322-0.667
predicted_SO0.8510.0001.000Hitting_SO0.8751.000-0.875-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics2
Deboosted Metrics8
Better Metrics3
Worse Metrics7
Biggest Boostpredicted_BB: 0.3400 -> 1.0000 (boost 0.6600, better)
Biggest Deboostpredicted_SO: 0.8510 -> 0.0000 (deboost -0.8510, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31203predicted_SO: 0.8510 -> 0.9014 (boost 0.0504, worse)predicted_AVG: 0.2030 -> 0.1953 (deboost -0.0077, worse)Final model input calibrated 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.2909 -> 0.2786 (deboost -0.0123, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling83526predicted_H: 0.5439 -> 1.0000 (boost 0.4561, better)predicted_BB: 0.3430 -> 0.0000 (deboost -0.3430, worse)AB rounded to 3 (raw=2.85), rates preserved: AVG=0.191 HR/AB=0.019
5consistency_constraints10101-predicted_R: 0.2741 -> 0.0000 (deboost -0.2741, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation10101-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context33030predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference31221predicted_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
9current_json_final20202-predicted_SLG: 0.2860 -> 0.2786 (deboost -0.0074, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669224",
  "player_name": "Austin Wells",
  "position": "C",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.074,
        "predicted_3B": 0.0,
        "predicted_AB": 2.83,
        "predicted_AVG": 0.203,
        "predicted_BB": 0.34,
        "predicted_H": 0.53,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.279,
        "predicted_R": 0.277,
        "predicted_RBI": 0.29,
        "predicted_SLG": 0.297,
        "predicted_SO": 0.851
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0897,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.855,
        "predicted_AVG": 0.1953,
        "predicted_BB": 0.3404,
        "predicted_H": 0.5317,
        "predicted_HBP": 0.077,
        "predicted_HR": 0.0525,
        "predicted_OBP": 0.2823,
        "predicted_R": 0.2634,
        "predicted_RBI": 0.2773,
        "predicted_SLG": 0.2909,
        "predicted_SO": 0.9014
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.074,
          "after": 0.0897,
          "delta": 0.0157,
          "percent_delta": 0.2122,
          "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.83,
          "after": 2.855,
          "delta": 0.025,
          "percent_delta": 0.0088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.203,
          "after": 0.1953,
          "delta": -0.0077,
          "percent_delta": -0.0379,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.34,
          "after": 0.3404,
          "delta": 0.0004,
          "percent_delta": 0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.53,
          "after": 0.5317,
          "delta": 0.0017,
          "percent_delta": 0.0032,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.05,
          "after": 0.0525,
          "delta": 0.0025,
          "percent_delta": 0.05,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.279,
          "after": 0.2823,
          "delta": 0.0033,
          "percent_delta": 0.0118,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.277,
          "after": 0.2634,
          "delta": -0.0136,
          "percent_delta": -0.0491,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.29,
          "after": 0.2773,
          "delta": -0.0127,
          "percent_delta": -0.0438,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.297,
          "after": 0.2909,
          "delta": -0.0061,
          "percent_delta": -0.0205,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.851,
          "after": 0.9014,
          "delta": 0.0504,
          "percent_delta": 0.0592,
          "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.851,
          "after": 0.9014,
          "delta": 0.0504,
          "percent_delta": 0.0592,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.203,
          "after": 0.1953,
          "delta": -0.0077,
          "percent_delta": -0.0379,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 94
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0897,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.855,
        "predicted_AVG": 0.1905,
        "predicted_BB": 0.343,
        "predicted_H": 0.5439,
        "predicted_HBP": 0.077,
        "predicted_HR": 0.0536,
        "predicted_OBP": 0.2773,
        "predicted_R": 0.2741,
        "predicted_RBI": 0.2886,
        "predicted_SLG": 0.2786,
        "predicted_SO": 0.8945
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0897,
          "after": 0.0897,
          "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.855,
          "after": 2.855,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1953,
          "after": 0.1905,
          "delta": -0.0048,
          "percent_delta": -0.0246,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3404,
          "after": 0.343,
          "delta": 0.0026,
          "percent_delta": 0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5317,
          "after": 0.5439,
          "delta": 0.0122,
          "percent_delta": 0.0229,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.077,
          "after": 0.077,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0525,
          "after": 0.0536,
          "delta": 0.0011,
          "percent_delta": 0.021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2823,
          "after": 0.2773,
          "delta": -0.005,
          "percent_delta": -0.0177,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2634,
          "after": 0.2741,
          "delta": 0.0107,
          "percent_delta": 0.0406,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2773,
          "after": 0.2886,
          "delta": 0.0113,
          "percent_delta": 0.0408,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2909,
          "after": 0.2786,
          "delta": -0.0123,
          "percent_delta": -0.0423,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9014,
          "after": 0.8945,
          "delta": -0.0069,
          "percent_delta": -0.0077,
          "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.2909,
          "after": 0.2786,
          "delta": -0.0123,
          "percent_delta": -0.0423,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.85), rates preserved: AVG=0.191 HR/AB=0.019",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0897,
          "after": 0.0,
          "delta": -0.0897,
          "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.855,
          "after": 3.0,
          "delta": 0.145,
          "percent_delta": 0.0508,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.343,
          "after": 0.0,
          "delta": -0.343,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5439,
          "after": 1.0,
          "delta": 0.4561,
          "percent_delta": 0.8386,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.077,
          "after": 0.0,
          "delta": -0.077,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0536,
          "after": 0.0,
          "delta": -0.0536,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2886,
          "after": 0.0,
          "delta": -0.2886,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8945,
          "after": 1.0,
          "delta": 0.1055,
          "percent_delta": 0.1179,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.5439,
          "after": 1.0,
          "delta": 0.4561,
          "percent_delta": 0.8386,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.343,
          "after": 0.0,
          "delta": -0.343,
          "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.2741,
          "after": 0.0,
          "delta": -0.2741,
          "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.2741,
          "after": 0.0,
          "delta": -0.2741,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_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": 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.191,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.283,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.286,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1905,
          "after": 0.191,
          "delta": 0.0005,
          "percent_delta": 0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2773,
          "after": 0.283,
          "delta": 0.0057,
          "percent_delta": 0.0206,
          "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.2786,
          "after": 0.286,
          "delta": 0.0074,
          "percent_delta": 0.0266,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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": 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": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.1905,
        "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.2773,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2786,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.191,
          "after": 0.1905,
          "delta": -0.0005,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.283,
          "after": 0.2773,
          "delta": -0.0057,
          "percent_delta": -0.02,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.286,
          "after": 0.2786,
          "delta": -0.0074,
          "percent_delta": -0.026,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.286,
          "after": 0.2786,
          "delta": -0.0074,
          "percent_delta": -0.026,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.074,
        "after": 0.0,
        "delta": -0.074,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.83,
        "after": 3.0,
        "delta": 0.17,
        "percent_delta": 0.0601,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.203,
        "after": 0.1905,
        "delta": -0.0125,
        "percent_delta": -0.0616,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.34,
        "after": 1.0,
        "delta": 0.66,
        "percent_delta": 1.9412,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.53,
        "after": 0.0,
        "delta": -0.53,
        "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.279,
        "after": 0.2773,
        "delta": -0.0017,
        "percent_delta": -0.0061,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.277,
        "after": 0.0,
        "delta": -0.277,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.29,
        "after": 0.0,
        "delta": -0.29,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.297,
        "after": 0.2786,
        "delta": -0.0184,
        "percent_delta": -0.062,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.851,
        "after": 0.0,
        "delta": -0.851,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.34,
        "after": 1.0,
        "delta": 0.66,
        "percent_delta": 1.9412,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.851,
        "after": 0.0,
        "delta": -0.851,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.074-
predicted_3B0.000-
predicted_AB2.830-
predicted_AVG0.203-
predicted_BB0.340-
predicted_H0.530-
predicted_HR0.050-
predicted_OBP0.279-
predicted_R0.277-
predicted_RBI0.290-
predicted_SLG0.297-
predicted_SO0.851-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.0900.016
predicted_3B0.0000.000
predicted_AB2.8550.025
predicted_AVG0.195-0.008
predicted_BB0.3400.000
predicted_H0.5320.002
predicted_HBP0.077-
predicted_HR0.0520.002
predicted_OBP0.2820.003
predicted_R0.263-0.014
predicted_RBI0.277-0.013
predicted_SLG0.291-0.006
predicted_SO0.9010.050
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0900.000
predicted_3B0.0000.000
predicted_AB2.8550.000
predicted_AVG0.191-0.005
predicted_BB0.3430.003
predicted_H0.5440.012
predicted_HBP0.0770.000
predicted_HR0.0540.001
predicted_OBP0.277-0.005
predicted_R0.2740.011
predicted_RBI0.2890.011
predicted_SLG0.279-0.012
predicted_SO0.894-0.007
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.85), rates preserved: AVG=0.191 HR/AB=0.019

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H0.000-1.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.090
predicted_3B0.000-0.000
predicted_AB3.0000.145
predicted_AVG0.1910.001
predicted_BB0.000-0.343
predicted_H1.0000.456
predicted_HR0.000-0.054
predicted_OBP0.2830.006
predicted_R0.000-0.274
predicted_RBI0.000-0.289
predicted_SLG0.2860.007
predicted_SO1.0000.106
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 94
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-14.0003.0001.0000.0000.0002.0001.0002.0007.0000.21430.35290.28570.21430.00000.14290.14290.5000
last_100.2010-27.0004.0001.0000.0000.0002.0001.0003.0009.0000.14810.25810.18520.14820.00000.07410.11110.3333
season0.6094-266.00047.0007.0000.0008.00019.00026.00032.00080.0000.17670.27150.29320.17670.03010.07140.12030.3008
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1110
predicted_3B0.0010
predicted_AB2.8890
predicted_AVG0.1848
predicted_BB0.3410
predicted_H0.5340
predicted_HBP0.0770
predicted_HR0.0560
predicted_OBP0.2869
predicted_R0.2450
predicted_RBI0.2600
predicted_SLG0.2825
predicted_SO0.9700
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.07400.11100.0897model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB2.83002.88902.8550model_form_blend
predicted_AVG0.20300.18480.1953model_form_blend
predicted_BB0.34000.34100.3404model_form_blend
predicted_H0.53000.53400.5317model_form_blend
predicted_HBP-0.07700.0770form_only
predicted_HR0.05000.05600.0525model_form_blend
predicted_OBP0.27900.28690.2823model_form_blend
predicted_R0.27700.24500.2634model_form_blend
predicted_RBI0.29000.26000.2773model_form_blend
predicted_SLG0.29700.28250.2909model_form_blend
predicted_SO0.85100.97000.9014model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.667
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260826_HOU@NYY
game_typefull
mlbID669224
playerID669224
playerNameAustin Wells
posC
startedTrue
startingPositionC
teamNYY
teamID19
game_date2026-08-26
sl_k_percent27.4
sl_bb_percent10.5
sl_woba0.264
sl_xwoba0.29
sl_xba0.209
sl_xslg0.353
sl_sweet_spot_percent33.2
sl_barrel_batted_rate6.5
sl_hard_hit_percent42.7
sl_exit_velocity_avg89.2
sl_launch_angle_avg20.0
sl_whiff_percent28.5
sl_swing_percent46.9
Gerrit Cole (543037) · PITCHER · Starter · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 16
All-history rows before 20260827: 16

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB1.2501.0000.7501.000
predicted_ER2.0002.0002.000Pitching_ER2.0001.0000.0001.000
predicted_H2.0002.0002.000Pitching_H4.9384.000-2.938-2.000
predicted_IP6.0006.0006.000Pitching_InningsPitched5.6756.0000.3250.000
predicted_SO8.0008.0008.000Pitching_SO6.2508.0001.7500.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB2.000-
predicted_ER2.000-
predicted_H2.000-
predicted_HR0.000-
predicted_IP6.000-
predicted_SO8.000-
2. pitcher_quality_guardrail

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

MetricValueDelta vs Prev Step
predicted_BB2.0000.000
predicted_ER2.0000.000
predicted_H2.0000.000
predicted_HR0.0000.000
predicted_IP6.0000.000
predicted_SO8.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 16
Reference playing time: 6.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45530.2005.00023.0008.00034.0001.0001.46741.01090.16300.75000.26091.10870.0326
last_100.351060.10019.00050.00011.00071.0007.0002.83431.01100.31490.82870.18231.17680.1160
season0.201692.20032.00079.00020.000100.00012.0003.10791.06830.34530.85250.21581.07910.1295
Weighted Prediction From Real Data
MetricValue
predicted_BB1.5380
predicted_ER1.8540
predicted_ERA2.8054
predicted_H4.9980
predicted_HR0.5760
predicted_IP6.0000
predicted_SO6.4460
predicted_WHIP1.0986
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00001.53801.7462model_form_blend
predicted_ER2.00001.85401.9198model_form_blend
predicted_ERA-2.80542.8054form_only
predicted_H2.00004.99803.6471model_form_blend
predicted_HR0.00000.57600.3165model_form_blend
predicted_IP6.00006.00006.0000model_form_blend
predicted_SO8.00006.44607.1462model_form_blend
predicted_WHIP-1.09861.0986form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP6.0
H2
R2
ER2
BB2
SO8
HR0
BF23
Pitches102

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced23
Pitching_ER1
Pitching_ERA3.11
Pitching_Flyouts2
Pitching_Groundouts3
Pitching_H4
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched6.0
Pitching_Pitches93
Pitching_R1
Pitching_SO8
Pitching_Strikes70
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260820_NYY@BAL
game_typefull
mlbID543037
playerID543037
playerNameGerrit Cole
posP
startedTrue
startingPositionP
teamNYY
teamID19
game_date2026-08-20
sl_k_percent26.1
sl_bb_percent5.2
sl_woba0.287
sl_xwoba0.282
sl_sweet_spot_percent33.8
sl_barrel_batted_rate7.9
sl_hard_hit_percent42.3
sl_whiff_percent22.4
sl_swing_percent49.0
sl_avg_best_speed80.686166493
sl_avg_hyper_speed94.082922846
Brent Headrick (687396) · PITCHER · Setup Man · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 68
All-history rows before 20260827: 68

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2940.000-0.2940.000
predicted_ER0.0000.0000.000Pitching_ER0.2063.000-0.206-3.000
predicted_H0.0000.0000.000Pitching_H0.8684.000-0.868-4.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8000.2000.2000.800
predicted_SO0.0000.0000.000Pitching_SO1.2351.000-1.235-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": "687396",
  "player_name": "Brent Headrick",
  "position": "Setup Man",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 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: 68
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.2003.0007.0001.0007.0001.0005.78571.71430.64291.50000.21431.50000.2143
last_100.35109.0005.00014.0001.00015.0002.0005.00001.66670.55561.55560.11111.66670.2222
season0.206867.00014.00059.00020.00084.0004.0001.88061.17910.20900.88060.29851.25370.0597
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2420
predicted_ER0.5190
predicted_ERA4.6691
predicted_H1.2810
predicted_HR0.1750
predicted_IP1.0000
predicted_SO1.3560
predicted_WHIP1.5233
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.24200.1296model_form_blend
predicted_ER0.00000.51900.2779model_form_blend
predicted_ERA-4.66914.6691form_only
predicted_H0.00001.28100.6859model_form_blend
predicted_HR0.00000.17500.0937model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.35600.7261model_form_blend
predicted_WHIP-1.52331.5233form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
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_BB0
Pitching_Balk0
Pitching_Batters Faced6
Pitching_ER3
Pitching_ERA1.88
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H4
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches27
Pitching_R3
Pitching_SO1
Pitching_Strikes16
Pitching_Wild Pitch0
Pitching_decisionL, BS
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260825_HOU@NYY
game_typefull
mlbID687396
playerID687396
playerNameBrent Headrick
posP
startedFalse
startingPositionP
teamNYY
teamID19
game_date2026-08-25
sl_k_percent30.2
sl_bb_percent7.4
sl_woba0.292
sl_xwoba0.267
sl_sweet_spot_percent39.9
sl_barrel_batted_rate4.5
sl_hard_hit_percent37.6
sl_whiff_percent32.0
sl_swing_percent53.5
sl_avg_best_speed76.846382326
sl_avg_hyper_speed93.866098889
David Bednar (670280) · PITCHER · Closer · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 53
All-history rows before 20260827: 53

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3400.000-0.3400.000
predicted_ER2.0002.0002.000Pitching_ER0.2830.0001.7172.000
predicted_H2.0002.0002.000Pitching_H0.7361.0001.2641.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.0111.000-0.0110.000
predicted_SO2.0002.0002.000Pitching_SO1.2261.0000.7741.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "670280",
  "player_name": "David Bednar",
  "position": "Closer",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 2.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": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 2.0,
        "predicted_IP": 1.0,
        "predicted_R": 2.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 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": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 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_ER2.000-
predicted_H2.000-
predicted_HR2.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: 53
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.2000.0002.0001.0007.0000.0000.00000.52940.00000.35290.17651.23530.0000
last_100.351011.1001.0004.0004.00012.0000.0000.79410.70590.08820.35290.35291.05880.0000
season0.205357.10015.00039.00018.00065.0003.0002.35470.99420.26160.68020.31401.13370.0523
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2970
predicted_ER0.2100
predicted_ERA1.8870
predicted_H0.5870
predicted_HR0.0520
predicted_IP1.0000
predicted_SO1.0900
predicted_WHIP0.8836
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.29700.1550model_form_blend
predicted_ER2.00000.21001.0656model_form_blend
predicted_ERA-1.88701.8870form_only
predicted_H2.00000.58701.2624model_form_blend
predicted_HR2.00000.05200.9831model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00001.09001.5250model_form_blend
predicted_WHIP-0.88360.8836form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H2
R2
ER2
BB0
SO2
HR2
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_ERA2.35
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches16
Pitching_R0
Pitching_SO1
Pitching_Strikes12
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260821_TOR@NYY
game_typefull
mlbID670280
playerID670280
playerNameDavid Bednar
posP
startedFalse
startingPositionP
teamNYY
teamID19
game_date2026-08-21
sl_k_percent27.0
sl_bb_percent7.5
sl_woba0.243
sl_xwoba0.256
sl_sweet_spot_percent25.0
sl_barrel_batted_rate3.8
sl_hard_hit_percent33.3
sl_whiff_percent30.8
sl_swing_percent53.3
sl_avg_best_speed74.855239351
sl_avg_hyper_speed93.019053831
Fernando Cruz (518585) · PITCHER · Middle Reliever (High Leverage) · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 61
All-history rows before 20260827: 61

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5251.000-0.525-1.000
predicted_ER0.0000.0000.000Pitching_ER0.3112.000-0.311-2.000
predicted_H1.0001.0001.000Pitching_H0.6721.0000.3280.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.6591.0000.3410.000
predicted_SO2.0002.0002.000Pitching_SO1.0980.0000.9022.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 61
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.1003.0004.0001.0005.0002.0006.23081.15380.69230.92310.23081.15390.4615
last_100.35108.0006.0008.0003.0009.0004.0006.75001.37500.75001.00000.37501.12500.5000
season0.206154.20019.00041.00032.00067.0007.0003.12801.33540.34760.75000.58541.22560.1280
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3280
predicted_ER0.5510
predicted_ERA5.3894
predicted_H0.8590
predicted_HR0.3000
predicted_IP1.0000
predicted_SO1.0040
predicted_WHIP1.2910
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.32800.1698model_form_blend
predicted_ER0.00000.55100.2853model_form_blend
predicted_ERA-5.38945.3894form_only
predicted_H1.00000.85900.9270model_form_blend
predicted_HR0.00000.30000.1553model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00001.00401.4844model_form_blend
predicted_WHIP-1.29101.2910form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H1
R0
ER0
BB0
SO2
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 Faced5
Pitching_ER2
Pitching_ERA3.13
Pitching_Flyouts3
Pitching_Groundouts0
Pitching_H1
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches20
Pitching_R2
Pitching_SO0
Pitching_Strikes11
Pitching_Wild Pitch0
Pitching_decisionBS
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260825_HOU@NYY
game_typefull
mlbID518585
playerID518585
playerNameFernando Cruz
posP
startedFalse
startingPositionP
teamNYY
teamID19
game_date2026-08-25
sl_k_percent28.6
sl_bb_percent13.7
sl_woba0.307
sl_xwoba0.281
sl_sweet_spot_percent29.3
sl_barrel_batted_rate9.0
sl_hard_hit_percent27.1
sl_whiff_percent39.1
sl_swing_percent43.6
sl_avg_best_speed76.176082879
sl_avg_hyper_speed92.709876718

20260827_KC@TOR

Prediction Method: enhanced_ml_savant_pitcher_quality_pitcher_opponent_strength
Team Recent Window (Home): 10 games
Team Recent Window (Away): 10 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 6, "home_runs": 4, "confidence": 0.639064, "home_win_probability": 0.36093600000000003, "away_win_probability": 0.639064, "predicted_score_text": "KC 6 - 4 TOR", "embedded_savant_score_adjustment": {"applied": true, "source": "all_players_stats.csv embedded temporal Savant features", "feature_contract": {"training_grain": "one player-game row after collapsing granular at-bat rows", "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game", "hitter_signals": ["xwoba", "xba", "xslg", "barrel_batted_rate", "hard_hit_percent", "bat_speed", "launch_quality", "walk_rate", "strikeout_rate"], "pitcher_signals": ["xwoba_allowed", "barrel_allowed", "hard_hit_allowed", "whiff_rate", "command_score", "movement_score", "faced_est_woba", "faced_strikeout_rate"]}, "away": {"team": "KC", "original_runs": 6, "run_delta": 0.4049, "adjusted_runs": 6, "lineup": {"players_used": 9, "total_weight": 37.0, "quality": 0.19242923417568703, "contact": 0.15444573993701616, "power": 0.2784586169009792, "discipline": 0.015765018958476103, "xwoba": 0.3187027027027027, "recent_xwoba": 0.3187027027027027, "barrel": 8.881081081081081, "ab_hard_contact": 0.015705156552410598, "ab_bat_speed": 70.18303418603344, "ab_strikeout_rate": 0.22476469790547984, "available_players": 9, "top_players": [{"player_id": "677951", "player_name": "Bobby Witt Jr.", "position": "SS", "weight": 4.0, "quality": 1.277954459972259, "contact": 1.551966235295744, "power": 1.3327431827441814, "discipline": 0.40062173144195173, "xwoba": 0.382, "recent_xwoba": 0.382, "barrel": 11.6, "ab_hard_contact": 1.1489588929788748, "ab_bat_speed": 72.77417036295307, "ab_strikeout_rate": 0.17423230974632845, "available": 1.0}, {"player_id": "695506", "player_name": "Jac Caglianone", "position": "RF", "weight": 5.0, "quality": 1.0515369866745106, "contact": 1.139850732165536, "power": 1.6065678678180693, "discipline": -0.5918307369964979, "xwoba": 0.361, "recent_xwoba": 0.361, "barrel": 14.4, "ab_hard_contact": 0.7298335468375823, "ab_bat_speed": 75.75777835436169, "ab_strikeout_rate": 0.2638990638990639, "available": 1.0}, {"player_id": "664728", "player_name": "Kyle Isbel", "position": "CF", "weight": 4.0, "quality": -0.5314568972898908, "contact": -0.49167591116071546, "power": -0.6491257099481416, "discipline": -0.25401897468473567, "xwoba": 0.271, "recent_xwoba": 0.271, "barrel": 3.4, "ab_hard_contact": -0.8647999132485205, "ab_bat_speed": 67.29166666666667, "ab_strikeout_rate": 0.24444444444444444, "available": 1.0}, {"player_id": "686475", "player_name": "Tyler Tolbert", "position": "2B", "weight": 3.0, "quality": -0.3349716566415244, "contact": -0.538303138832166, "power": -0.9998124724614146, "discipline": 0.004377850712089626, "xwoba": 0.299, "recent_xwoba": 0.299, "barrel": 3.4, "ab_hard_contact": -0.6316780206568556, "ab_bat_speed": 64.23768640350877, "ab_strikeout_rate": 0.20833333333333331, "available": 1.0}, {"player_id": "679845", "player_name": "Nick Loftin", "position": "3B", "weight": 4.0, "quality": -0.37924025475252243, "contact": -0.35784544700084336, "power": -0.733550692380444, "discipline": 0.736882834100794, "xwoba": 0.302, "recent_xwoba": 0.302, "barrel": 4.1, "ab_hard_contact": -0.5254900380850656, "ab_bat_speed": 66.5655604005168, "ab_strikeout_rate": 0.17054263565891473, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "681293", "player_name": "Spencer Arrighetti", "quality": -0.3678471818303415, "contact": -0.32039057771700213, "command": -0.2770347985347987, "movement": -0.9167350112729993, "xwoba": 0.345, "whiff": 25.6, "faced_est_woba": 0.26552359851190477, "faced_launch_speed": 83.8105259224902, "faced_strikeout_rate": 0.23520697818487546, "faced_run_exp": 0.006591593388029562}}, "home": {"team": "TOR", "original_runs": 4, "run_delta": -0.1606, "adjusted_runs": 4, "lineup": {"players_used": 9, "total_weight": 36.0, "quality": -0.17465383042063612, "contact": -0.2767146499148058, "power": -0.48528833148494854, "discipline": 0.07871130604719224, "xwoba": 0.295, "recent_xwoba": 0.295, "barrel": 4.936111111111112, "ab_hard_contact": -0.35312112705346144, "ab_bat_speed": 68.76918929241837, "ab_strikeout_rate": 0.17480741768077046, "available_players": 9, "top_players": [{"player_id": "665926", "player_name": "Andrés Giménez", "position": "SS", "weight": 3.0, "quality": -0.9410902017007705, "contact": -0.9876284028509085, "power": -1.0517920519001347, "discipline": -0.578369561296192, "xwoba": 0.268, "recent_xwoba": 0.268, "barrel": 3.2, "ab_hard_contact": -1.0971743713360174, "ab_bat_speed": 65.65332819185645, "ab_strikeout_rate": 0.1956521739130435, "available": 1.0}, {"player_id": "676391", "player_name": "Ernie Clement", "position": "2B", "weight": 4.0, "quality": -0.7830625621827965, "contact": -0.6902139595628539, "power": -1.1277185208441083, "discipline": 0.10516685574499712, "xwoba": 0.268, "recent_xwoba": 0.268, "barrel": 2.2, "ab_hard_contact": -0.6229418454535964, "ab_bat_speed": 65.74477345173042, "ab_strikeout_rate": 0.08997289972899729, "available": 1.0}, {"player_id": "703520", "player_name": "Brett Bateman", "position": "CF", "weight": 6.0, "quality": -0.27777619490555944, "contact": -1.128919598390151, "power": -1.6207209960594455, "discipline": -0.044448989114750065, "xwoba": 0.259, "recent_xwoba": 0.259, "barrel": 0.0, "ab_hard_contact": -0.8953723021412916, "ab_bat_speed": 64.54823232323233, "ab_strikeout_rate": 0.1803030303030303, "available": 1.0}, {"player_id": "664770", "player_name": "Nathan Lukes", "position": "RF", "weight": 4.0, "quality": -0.4813408557401793, "contact": -0.2944211790298823, "power": -0.8927914814688048, "discipline": 0.16614504647928546, "xwoba": 0.29, "recent_xwoba": 0.29, "barrel": 1.8, "ab_hard_contact": -0.5167820103284773, "ab_bat_speed": 65.29933680707558, "ab_strikeout_rate": 0.13685185185185184, "available": 1.0}, {"player_id": "660821", "player_name": "Jesús Sánchez", "position": "LF", "weight": 3.0, "quality": 0.42081885996124524, "contact": 0.44557643976549094, "power": 0.7503833323122268, "discipline": -0.4753956819567918, "xwoba": 0.33, "recent_xwoba": 0.33, "barrel": 11.5, "ab_hard_contact": -0.09976192518402453, "ab_bat_speed": 71.62490312791783, "ab_strikeout_rate": 0.23817829457364342, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "702070", "player_name": "Noah Cameron", "quality": -0.07086046417711125, "contact": 0.08542733351783863, "command": -0.11646336996337008, "movement": -0.6099257625780924, "xwoba": 0.313, "whiff": 26.2, "faced_est_woba": 0.26552359851190477, "faced_launch_speed": 83.8105259224902, "faced_strikeout_rate": 0.23520697818487546, "faced_run_exp": 0.006591593388029562}}}, "fundamental_edge_target_review": {"applied": false, "method": "post_score_adjustment_fundamental_edge_review_v1", "previous_score": {"away_runs": 6, "home_runs": 4, "winner_side": "away"}, "adjusted_score": {"away_runs": 6, "home_runs": 4, "winner_side": "away"}, "signals": {"season_quality_edge_home_minus_away": -0.0492, "recent_form_edge_home_minus_away": -1.042, "pitcher_matchup_edge_home_minus_away": -0.0515, "composite_home_edge": -0.7609, "existing_home_win_probability": 0.3609, "refreshed_home_win_probability": 0.3, "winner_support_before_review": 0.7609}, "reasons": ["target direction already matched refreshed fundamentals or margin was not fragile"]}, "uncapped_home_win_probability": 0.360936, "uncapped_away_win_probability": 0.639064, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.639064, "discount_factor": 1.0, "published_confidence": 0.639064, "guardrail_confidence_cap": null, "guardrail_cap_enforced": false, "applied_discounts": []}, "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied.", "pre_simulation_target": {"away_runs": 6, "home_runs": 4, "predicted_score_text": "KC 6 - 4 TOR", "confidence": 0.639064, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "stable_final_prediction_policy", "simulation_usage": "organic_simulation_realized_target", "simulation_score_matches_prediction": true, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 6, "home_runs": 4, "score_text": "KC 6 - 4 TOR", "winner": "KC"}, "final_simulation_score": {"away_runs": 6, "home_runs": 4, "score_text": "KC 6 - 4 TOR", "winner": "KC"}, "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": true, "independent_margin_support_evidence": {"pitcher_matchup_edge_home_minus_away": -0.0515, "recent_form_edge_home_minus_away": -1.042, "winner_direction": "away", "thresholds": {"pitcher_matchup": 0.35, "recent_form": 0.75}}, "margin_widening_capped": false, "simulation_winner_agrees": true, "away_run_delta": 0, "home_run_delta": 0, "total_run_delta": 0, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "organic_simulation_realized_target", "final_prediction_source": "stable_final_prediction_policy", "final_decision_policy": {"policy_version": "model_target_authoritative_simulation_realizes_v3", "away_runs": 6, "home_runs": 4, "winner": "KC", "model_winner": "KC", "simulation_winner": "KC", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 5, "published_winner": "KC", "published_winner_draw_share": 0.6, "draw_majority_team": "KC", "published_winner_is_draw_majority": true, "sampling": "target_conditioned_selection", "is_unbiased_probability_sample": false, "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."}, "simulation_score_enabled": true, "independent_margin_support": true, "margin_widening_capped": false, "model_margin": 2, "simulation_margin": 2, "simulation_usage": "organic_simulation_realized_target", "score_source": "enhanced_prediction.pre_simulation_target", "simulation_realized_target": true, "model_score": {"away_runs": 6, "home_runs": 4}, "simulation_score": {"away_runs": 6, "home_runs": 4}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 2, "final_margin": 2, "winner_quality_edge": 0.0492, "winner": "KC", "score_reviewed": {"away_runs": 6, "home_runs": 4, "source": "enhanced_prediction.pre_simulation_target"}, "reason": "published margin is directionally supported or within review threshold"}}, "decision_profile": {"method": "priced_decision_profile_v2", "winner": "KC", "display_confidence": 0.6391, "internal_signal_score": 0.6225, "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability", "model_pick_probability": 0.6391, "confidence_compression_detected": false, "moneyline_fit": "unavailable_without_market_price", "betting_status": "price_required_before_betting_analysis", "market_context": null, "margin_fit": "moneyline_preferred_over_margin", "totals_fit": "high_volatility_totals", "winner_accuracy_and_margin_accuracy_decoupled": true, "signals": {"final_margin": 2, "winner_quality_edge": 0.0492, "winner_recent_form_edge": 0.692, "winner_pitcher_matchup_edge": 0.0515, "winner_simulation_draw_rate": 0.6, "blowout_draw_rate_margin_4_plus": 0.2, "high_total_draw_rate_11_plus": 0.2, "low_total_draw_rate_6_or_less": 0.4, "total_runs_spread": {"min": 3, "median": 7, "max": 12, "range": 9}}, "interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."}}
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 predictionKC 6 - 4 TORKC0.639enhanced_prediction.pre_simulation_targetTrue
Simulation drawKC 6 - 4 TORKC-organic_simulation_realized_targetTrue

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

Full Prediction Process

Optimization Roadmap Runtime Status

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

PriorityChangeRuntime statusEvidence
P1Empirical confidence blendappliedraw=0.7529; empirical=0.5085; weight=0.2950; final=0.6808
P1H2H margin as base featureavailablehome net=-2; abs=2; home delta=-0.0167; away delta=0.0167
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.2970; recent edge=-0.6920; 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.7000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.6391
9. Simulation reconciliationReconciles final shipped score with the simulation box score while retaining the pre-simulation target.simulation_reconciliationorganic_simulation_realized_target
10. Score evolution rendered7 stored score steps are rendered below.game.score_evolution.stepstrue

Score Evolution Steps

StepLayerAway RunsHome RunsConfidenceDescription
1historical_ml4.4763.838-Base ML historical model prediction
2variance_applied44-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction640.6391Enhanced ML with recent form, H2H, low-score analysis
4embedded_savant_run_environment64-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
5fundamental_edge_target_review64-Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
6capped_target64-Capped at max 12 realistic runs
7simulation_result64-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.45494688825214896,
  "base_low_score_probability": 0.4355300859598854,
  "low_score_signal_threshold": 0.5155300859598854,
  "low_score_signal_strength": 0.019416802292263557,
  "confidence": 0.6222909999999999,
  "factors": {
    "environmental": 0.9496199999999999,
    "pitcher_form": 1.1,
    "team_form": 1.0,
    "situational": 1.0,
    "combined": 1.044582
  },
  "prediction": "normal_scoring",
  "expected_total_runs": 10,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 9.7,
  "low_score_model_expected_total_runs": 9.7,
  "final_simulation_total_runs": 10,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "monotone_reliability_shrinkage",
  "policy": "shrink_toward_even_score_floor_v3",
  "sample_size": 59,
  "near_bucket_sample_size": 8,
  "medium_bucket_sample_size": 21,
  "wide_bucket_sample_size": 59,
  "global_sample_size": 73,
  "bucket_scope": "pooled_0.12",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5085,
  "bayesian_hit_rate": 0.5065,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.6275,
  "raw_pick_probability_unclamped": 0.6275,
  "score_probability_conflict": false,
  "margin_implied_home_probability": 0.3725,
  "margin_implied_pick_probability": 0.6275,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.6275,
  "score_implied_floor_pick_probability": 0.6081,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.3725,
  "uncapped_away_win_probability": 0.6275,
  "calibrated_pick_probability": 0.6081,
  "predicted_side": "away",
  "reliability": 0.766234,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.848052
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.752934,
  "sample_size": 59,
  "empirical_hit_rate": 0.5085,
  "empirical_weight": 0.295,
  "blended_confidence": 0.680826,
  "published_confidence": 0.639064,
  "published_after_governors": true,
  "governor_mode": "shrinkage_not_clamp"
}
H2H Base Feature
{
  "method": "h2h_net_margin_monotonic_v1",
  "available": true,
  "sample_size": 1,
  "sample_weight": 0.0167,
  "home_net_margin": -2.0,
  "absolute_net_margin": 2.0,
  "home_average_margin": -2.0,
  "home_run_delta": -0.0167,
  "away_run_delta": 0.0167,
  "evidence": [
    {
      "game_id": null,
      "home_margin": -2.0
    }
  ],
  "adaptive_parameters": {
    "h2h.history_limit": 5,
    "h2h.maximum_weight": 0.15,
    "h2h.prior_games": 8.0,
    "h2h.maximum_total_shift": 0.65
  }
}
Season Run Differential Adjustment
{
  "applied": false,
  "home": {
    "team": "TOR",
    "games": 133,
    "wins": 64,
    "losses": 69,
    "win_pct": 0.48120300751879697,
    "runs_scored": 524,
    "runs_allowed": 581,
    "run_differential": -57,
    "run_differential_per_game": -0.42857142857142855,
    "available": true
  },
  "away": {
    "team": "KC",
    "games": 133,
    "wins": 59,
    "losses": 74,
    "win_pct": 0.44360902255639095,
    "runs_scored": 565,
    "runs_allowed": 654,
    "run_differential": -89,
    "run_differential_per_game": -0.6691729323308271,
    "available": true
  },
  "run_differential_edge_per_game": 0.2406,
  "win_pct_edge": 0.0376,
  "quality_edge": -0.0492,
  "season_quality_edge": 0.297,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": 0.297,
    "recent_quality_edge": -0.692,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "conflict",
    "blended_quality_edge": -0.0492
  },
  "margin_adjustment": 0.0,
  "reason": "season quality edge below action threshold"
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 4,
      "away_runs": 6,
      "probability": 0.020508024180036798
    },
    {
      "home_runs": 4,
      "away_runs": 5,
      "probability": 0.019943630647516728
    },
    {
      "home_runs": 5,
      "away_runs": 6,
      "probability": 0.019835904434074684
    },
    {
      "home_runs": 5,
      "away_runs": 5,
      "probability": 0.01929000805341917
    },
    {
      "home_runs": 4,
      "away_runs": 7,
      "probability": 0.018984136207889336
    }
  ],
  "home_distribution": {
    "0": 0.042938234046606204,
    "1": 0.0733161340964076,
    "2": 0.10860457913745286,
    "3": 0.13956930605622553,
    "4": 0.15560548570127708,
    "5": 0.150505749198057,
    "6": 0.12629160381146234,
    "7": 0.09193673348451294,
    "8": 0.058062651161410475,
    "9": 0.03181250419196735,
    "10": 0.015121401817158913,
    "11": 0.006235617297461804
  },
  "away_distribution": {
    "0": 0.023035235603005612,
    "1": 0.040065922487796356,
    "2": 0.06273430001337924,
    "3": 0.08842649043410893,
    "4": 0.11220369081198071,
    "5": 0.1281679148883184,
    "6": 0.1317949948076187,
    "7": 0.12200171557148085,
    "8": 0.10166708699572057,
    "9": 0.07626798011996219,
    "10": 0.05150525376787401,
    "11": 0.03131181482656472,
    "12": 0.017136115105714975,
    "13": 0.008442361090361821,
    "14": 0.0037442332741119315,
    "15": 0.0014948902020009238
  },
  "model": "overdispersed_score_distribution",
  "variance_multiplier": 1.65,
  "variance_floor": 2.75,
  "roadmap_status": "implemented_above_requested_1.4x"
}
Matchup Recency Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "reasons": [],
  "signals": {
    "predicted_team": "KC",
    "opponent_team": "TOR",
    "h2h_net_margin": 2,
    "recent_h2h": [
      {
        "date": "2026-08-25",
        "predicted_team_runs": 5,
        "opponent_runs": 3,
        "margin_for_predicted_team": 2,
        "winner": "KC"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 1,
      "consecutive_same_pick_count": 1,
      "same_pick_actual_loss_count": 0,
      "same_pick_blowout_loss_count": 0,
      "prior_predictions": [
        {
          "date": "20260825",
          "away": "KC",
          "home": "TOR",
          "game_number": 1,
          "predicted_team": "KC",
          "actual_winner": "KC",
          "actual_margin": 2,
          "raw_pick_probability": 0.596032,
          "artifact": "20260825_KC@TOR.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "KC",
    "guardrail_opponent_team": "TOR",
    "output_pre_simulation_winner": "KC",
    "output_opponent_team": "TOR",
    "simulation_score_winner": "KC",
    "final_score_winner": "KC",
    "pre_simulation_winner": "KC",
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false
  },
  "final_prediction_sync": {
    "pre_simulation_score": {
      "away_runs": 6,
      "home_runs": 4,
      "score_text": "KC 6 - 4 TOR",
      "winner": "KC"
    },
    "final_simulation_score": {
      "away_runs": 6,
      "home_runs": 4,
      "score_text": "KC 6 - 4 TOR",
      "winner": "KC"
    },
    "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": true,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": -0.0515,
      "recent_form_edge_home_minus_away": -1.042,
      "winner_direction": "away",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 6,
      "home_runs": 4,
      "winner": "KC",
      "model_winner": "KC",
      "simulation_winner": "KC",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 5,
        "published_winner": "KC",
        "published_winner_draw_share": 0.6,
        "draw_majority_team": "KC",
        "published_winner_is_draw_majority": true,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": true,
      "margin_widening_capped": false,
      "model_margin": 2,
      "simulation_margin": 2,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 6,
        "home_runs": 4
      },
      "simulation_score": {
        "away_runs": 6,
        "home_runs": 4
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 2,
      "final_margin": 2,
      "winner_quality_edge": 0.0492,
      "winner": "KC",
      "score_reviewed": {
        "away_runs": 6,
        "home_runs": 4,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  }
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "hard_flip_suppressed": false,
  "policy": "recency_uncertainty_shrinkage_v2",
  "reasons": [],
  "signals": {
    "home": {
      "team": "TOR",
      "games": 133,
      "wins": 64,
      "losses": 69,
      "win_pct": 0.48120300751879697,
      "runs_scored": 524,
      "runs_allowed": 581,
      "run_differential": -57,
      "run_differential_per_game": -0.42857142857142855,
      "available": true
    },
    "away": {
      "team": "KC",
      "games": 133,
      "wins": 59,
      "losses": 74,
      "win_pct": 0.44360902255639095,
      "runs_scored": 565,
      "runs_allowed": 654,
      "run_differential": -89,
      "run_differential_per_game": -0.6691729323308271,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": true,
  "raw_margin": -5.8733,
  "final_margin": -1.5,
  "margin_cap": 1.5,
  "season_quality_edge": 0.0492,
  "reason": "large target margin capped because season quality evidence did not justify a decisive prediction",
  "adjusted_score": {
    "away_runs": 5.765,
    "home_runs": 4.265
  }
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.680826,
  "final_confidence": 0.6081,
  "calibrated_pick_probability": 0.6081,
  "shrinkage_weight": 0.848052,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 1.5,
  "calibration_sample_size": 59,
  "calibration_empirical_hit_rate": 0.5085,
  "calibration_bayesian_hit_rate": 0.5065,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.0492,
  "reasons": [
    "confidence aligned to the calibrated pick probability"
  ],
  "score_coherence": {
    "policy": "probability_follows_published_score_v1",
    "published_score": {
      "away_runs": 6,
      "home_runs": 4
    },
    "margin": -2,
    "probability_before": 0.391873,
    "margin_implied_home_probability": 0.33,
    "shrinkage_weight": 0.848052,
    "side_flipped": false,
    "applied": true,
    "probability_after": 0.360936,
    "aligned_pick_probability": 0.639064
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 6,
    "home_runs": 4,
    "score_text": "KC 6 - 4 TOR",
    "winner": "KC"
  },
  "final_simulation_score": {
    "away_runs": 6,
    "home_runs": 4,
    "score_text": "KC 6 - 4 TOR",
    "winner": "KC"
  },
  "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": true,
  "independent_margin_support_evidence": {
    "pitcher_matchup_edge_home_minus_away": -0.0515,
    "recent_form_edge_home_minus_away": -1.042,
    "winner_direction": "away",
    "thresholds": {
      "pitcher_matchup": 0.35,
      "recent_form": 0.75
    }
  },
  "margin_widening_capped": false,
  "simulation_winner_agrees": true,
  "away_run_delta": 0,
  "home_run_delta": 0,
  "total_run_delta": 0,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "organic_simulation_realized_target",
  "final_prediction_source": "stable_final_prediction_policy",
  "final_decision_policy": {
    "policy_version": "model_target_authoritative_simulation_realizes_v3",
    "away_runs": 6,
    "home_runs": 4,
    "winner": "KC",
    "model_winner": "KC",
    "simulation_winner": "KC",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 5,
      "published_winner": "KC",
      "published_winner_draw_share": 0.6,
      "draw_majority_team": "KC",
      "published_winner_is_draw_majority": true,
      "sampling": "target_conditioned_selection",
      "is_unbiased_probability_sample": false,
      "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
    },
    "simulation_score_enabled": true,
    "independent_margin_support": true,
    "margin_widening_capped": false,
    "model_margin": 2,
    "simulation_margin": 2,
    "simulation_usage": "organic_simulation_realized_target",
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_realized_target": true,
    "model_score": {
      "away_runs": 6,
      "home_runs": 4
    },
    "simulation_score": {
      "away_runs": 6,
      "home_runs": 4
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 2,
    "final_margin": 2,
    "winner_quality_edge": 0.0492,
    "winner": "KC",
    "score_reviewed": {
      "away_runs": 6,
      "home_runs": 4,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 6,
  "home_runs": 4,
  "confidence": 0.639064,
  "home_win_probability": 0.36093600000000003,
  "away_win_probability": 0.639064,
  "predicted_score_text": "KC 6 - 4 TOR",
  "embedded_savant_score_adjustment": {
    "applied": true,
    "source": "all_players_stats.csv embedded temporal Savant features",
    "feature_contract": {
      "training_grain": "one player-game row after collapsing granular at-bat rows",
      "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
      "hitter_signals": [
        "xwoba",
        "xba",
        "xslg",
        "barrel_batted_rate",
        "hard_hit_percent",
        "bat_speed",
        "launch_quality",
        "walk_rate",
        "strikeout_rate"
      ],
      "pitcher_signals": [
        "xwoba_allowed",
        "barrel_allowed",
        "hard_hit_allowed",
        "whiff_rate",
        "command_score",
        "movement_score",
        "faced_est_woba",
        "faced_strikeout_rate"
      ]
    },
    "away": {
      "team": "KC",
      "original_runs": 6,
      "run_delta": 0.4049,
      "adjusted_runs": 6,
      "lineup": {
        "players_used": 9,
        "total_weight": 37.0,
        "quality": 0.19242923417568703,
        "contact": 0.15444573993701616,
        "power": 0.2784586169009792,
        "discipline": 0.015765018958476103,
        "xwoba": 0.3187027027027027,
        "recent_xwoba": 0.3187027027027027,
        "barrel": 8.881081081081081,
        "ab_hard_contact": 0.015705156552410598,
        "ab_bat_speed": 70.18303418603344,
        "ab_strikeout_rate": 0.22476469790547984,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "677951",
            "player_name": "Bobby Witt Jr.",
            "position": "SS",
            "weight": 4.0,
            "quality": 1.277954459972259,
            "contact": 1.551966235295744,
            "power": 1.3327431827441814,
            "discipline": 0.40062173144195173,
            "xwoba": 0.382,
            "recent_xwoba": 0.382,
            "barrel": 11.6,
            "ab_hard_contact": 1.1489588929788748,
            "ab_bat_speed": 72.77417036295307,
            "ab_strikeout_rate": 0.17423230974632845,
            "available": 1.0
          },
          {
            "player_id": "695506",
            "player_name": "Jac Caglianone",
            "position": "RF",
            "weight": 5.0,
            "quality": 1.0515369866745106,
            "contact": 1.139850732165536,
            "power": 1.6065678678180693,
            "discipline": -0.5918307369964979,
            "xwoba": 0.361,
            "recent_xwoba": 0.361,
            "barrel": 14.4,
            "ab_hard_contact": 0.7298335468375823,
            "ab_bat_speed": 75.75777835436169,
            "ab_strikeout_rate": 0.2638990638990639,
            "available": 1.0
          },
          {
            "player_id": "664728",
            "player_name": "Kyle Isbel",
            "position": "CF",
            "weight": 4.0,
            "quality": -0.5314568972898908,
            "contact": -0.49167591116071546,
            "power": -0.6491257099481416,
            "discipline": -0.25401897468473567,
            "xwoba": 0.271,
            "recent_xwoba": 0.271,
            "barrel": 3.4,
            "ab_hard_contact": -0.8647999132485205,
            "ab_bat_speed": 67.29166666666667,
            "ab_strikeout_rate": 0.24444444444444444,
            "available": 1.0
          },
          {
            "player_id": "686475",
            "player_name": "Tyler Tolbert",
            "position": "2B",
            "weight": 3.0,
            "quality": -0.3349716566415244,
            "contact": -0.538303138832166,
            "power": -0.9998124724614146,
            "discipline": 0.004377850712089626,
            "xwoba": 0.299,
            "recent_xwoba": 0.299,
            "barrel": 3.4,
            "ab_hard_contact": -0.6316780206568556,
            "ab_bat_speed": 64.23768640350877,
            "ab_strikeout_rate": 0.20833333333333331,
            "available": 1.0
          },
          {
            "player_id": "679845",
            "player_name": "Nick Loftin",
            "position": "3B",
            "weight": 4.0,
            "quality": -0.37924025475252243,
            "contact": -0.35784544700084336,
            "power": -0.733550692380444,
            "discipline": 0.736882834100794,
            "xwoba": 0.302,
            "recent_xwoba": 0.302,
            "barrel": 4.1,
            "ab_hard_contact": -0.5254900380850656,
            "ab_bat_speed": 66.5655604005168,
            "ab_strikeout_rate": 0.17054263565891473,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "681293",
        "player_name": "Spencer Arrighetti",
        "quality": -0.3678471818303415,
        "contact": -0.32039057771700213,
        "command": -0.2770347985347987,
        "movement": -0.9167350112729993,
        "xwoba": 0.345,
        "whiff": 25.6,
        "faced_est_woba": 0.26552359851190477,
        "faced_launch_speed": 83.8105259224902,
        "faced_strikeout_rate": 0.23520697818487546,
        "faced_run_exp": 0.006591593388029562
      }
    },
    "home": {
      "team": "TOR",
      "original_runs": 4,
      "run_delta": -0.1606,
      "adjusted_runs": 4,
      "lineup": {
        "players_used": 9,
        "total_weight": 36.0,
        "quality": -0.17465383042063612,
        "contact": -0.2767146499148058,
        "power": -0.48528833148494854,
        "discipline": 0.07871130604719224,
        "xwoba": 0.295,
        "recent_xwoba": 0.295,
        "barrel": 4.936111111111112,
        "ab_hard_contact": -0.35312112705346144,
        "ab_bat_speed": 68.76918929241837,
        "ab_strikeout_rate": 0.17480741768077046,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "665926",
            "player_name": "Andrés Giménez",
            "position": "SS",
            "weight": 3.0,
            "quality": -0.9410902017007705,
            "contact": -0.9876284028509085,
            "power": -1.0517920519001347,
            "discipline": -0.578369561296192,
            "xwoba": 0.268,
            "recent_xwoba": 0.268,
            "barrel": 3.2,
            "ab_hard_contact": -1.0971743713360174,
            "ab_bat_speed": 65.65332819185645,
            "ab_strikeout_rate": 0.1956521739130435,
            "available": 1.0
          },
          {
            "player_id": "676391",
            "player_name": "Ernie Clement",
            "position": "2B",
            "weight": 4.0,
            "quality": -0.7830625621827965,
            "contact": -0.6902139595628539,
            "power": -1.1277185208441083,
            "discipline": 0.10516685574499712,
            "xwoba": 0.268,
            "recent_xwoba": 0.268,
            "barrel": 2.2,
            "ab_hard_contact": -0.6229418454535964,
            "ab_bat_speed": 65.74477345173042,
            "ab_strikeout_rate": 0.08997289972899729,
            "available": 1.0
          },
          {
            "player_id": "703520",
            "player_name": "Brett Bateman",
            "position": "CF",
            "weight": 6.0,
            "quality": -0.27777619490555944,
            "contact": -1.128919598390151,
            "power": -1.6207209960594455,
            "discipline": -0.044448989114750065,
            "xwoba": 0.259,
            "recent_xwoba": 0.259,
            "barrel": 0.0,
            "ab_hard_contact": -0.8953723021412916,
            "ab_bat_speed": 64.54823232323233,
            "ab_strikeout_rate": 0.1803030303030303,
            "available": 1.0
          },
          {
            "player_id": "664770",
            "player_name": "Nathan Lukes",
            "position": "RF",
            "weight": 4.0,
            "quality": -0.4813408557401793,
            "contact": -0.2944211790298823,
            "power": -0.8927914814688048,
            "discipline": 0.16614504647928546,
            "xwoba": 0.29,
            "recent_xwoba": 0.29,
            "barrel": 1.8,
            "ab_hard_contact": -0.5167820103284773,
            "ab_bat_speed": 65.29933680707558,
            "ab_strikeout_rate": 0.13685185185185184,
            "available": 1.0
          },
          {
            "player_id": "660821",
            "player_name": "Jesús Sánchez",
            "position": "LF",
            "weight": 3.0,
            "quality": 0.42081885996124524,
            "contact": 0.44557643976549094,
            "power": 0.7503833323122268,
            "discipline": -0.4753956819567918,
            "xwoba": 0.33,
            "recent_xwoba": 0.33,
            "barrel": 11.5,
            "ab_hard_contact": -0.09976192518402453,
            "ab_bat_speed": 71.62490312791783,
            "ab_strikeout_rate": 0.23817829457364342,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "702070",
        "player_name": "Noah Cameron",
        "quality": -0.07086046417711125,
        "contact": 0.08542733351783863,
        "command": -0.11646336996337008,
        "movement": -0.6099257625780924,
        "xwoba": 0.313,
        "whiff": 26.2,
        "faced_est_woba": 0.26552359851190477,
        "faced_launch_speed": 83.8105259224902,
        "faced_strikeout_rate": 0.23520697818487546,
        "faced_run_exp": 0.006591593388029562
      }
    }
  },
  "fundamental_edge_target_review": {
    "applied": false,
    "method": "post_score_adjustment_fundamental_edge_review_v1",
    "previous_score": {
      "away_runs": 6,
      "home_runs": 4,
      "winner_side": "away"
    },
    "adjusted_score": {
      "away_runs": 6,
      "home_runs": 4,
      "winner_side": "away"
    },
    "signals": {
      "season_quality_edge_home_minus_away": -0.0492,
      "recent_form_edge_home_minus_away": -1.042,
      "pitcher_matchup_edge_home_minus_away": -0.0515,
      "composite_home_edge": -0.7609,
      "existing_home_win_probability": 0.3609,
      "refreshed_home_win_probability": 0.3,
      "winner_support_before_review": 0.7609
    },
    "reasons": [
      "target direction already matched refreshed fundamentals or margin was not fragile"
    ]
  },
  "uncapped_home_win_probability": 0.360936,
  "uncapped_away_win_probability": 0.639064,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.639064,
    "discount_factor": 1.0,
    "published_confidence": 0.639064,
    "guardrail_confidence_cap": null,
    "guardrail_cap_enforced": false,
    "applied_discounts": []
  },
  "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied.",
  "pre_simulation_target": {
    "away_runs": 6,
    "home_runs": 4,
    "predicted_score_text": "KC 6 - 4 TOR",
    "confidence": 0.639064,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "stable_final_prediction_policy",
  "simulation_usage": "organic_simulation_realized_target",
  "simulation_score_matches_prediction": true,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 6,
      "home_runs": 4,
      "score_text": "KC 6 - 4 TOR",
      "winner": "KC"
    },
    "final_simulation_score": {
      "away_runs": 6,
      "home_runs": 4,
      "score_text": "KC 6 - 4 TOR",
      "winner": "KC"
    },
    "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": true,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": -0.0515,
      "recent_form_edge_home_minus_away": -1.042,
      "winner_direction": "away",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 6,
      "home_runs": 4,
      "winner": "KC",
      "model_winner": "KC",
      "simulation_winner": "KC",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 5,
        "published_winner": "KC",
        "published_winner_draw_share": 0.6,
        "draw_majority_team": "KC",
        "published_winner_is_draw_majority": true,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": true,
      "margin_widening_capped": false,
      "model_margin": 2,
      "simulation_margin": 2,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 6,
        "home_runs": 4
      },
      "simulation_score": {
        "away_runs": 6,
        "home_runs": 4
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 2,
      "final_margin": 2,
      "winner_quality_edge": 0.0492,
      "winner": "KC",
      "score_reviewed": {
        "away_runs": 6,
        "home_runs": 4,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  },
  "decision_profile": {
    "method": "priced_decision_profile_v2",
    "winner": "KC",
    "display_confidence": 0.6391,
    "internal_signal_score": 0.6225,
    "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
    "model_pick_probability": 0.6391,
    "confidence_compression_detected": false,
    "moneyline_fit": "unavailable_without_market_price",
    "betting_status": "price_required_before_betting_analysis",
    "market_context": null,
    "margin_fit": "moneyline_preferred_over_margin",
    "totals_fit": "high_volatility_totals",
    "winner_accuracy_and_margin_accuracy_decoupled": true,
    "signals": {
      "final_margin": 2,
      "winner_quality_edge": 0.0492,
      "winner_recent_form_edge": 0.692,
      "winner_pitcher_matchup_edge": 0.0515,
      "winner_simulation_draw_rate": 0.6,
      "blowout_draw_rate_margin_4_plus": 0.2,
      "high_total_draw_rate_11_plus": 0.2,
      "low_total_draw_rate_6_or_less": 0.4,
      "total_runs_spread": {
        "min": 3,
        "median": 7,
        "max": 12,
        "range": 9
      }
    },
    "interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."
  }
}

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 KCTrue1.02531.0253190
Home TORTrue0.99230.9923190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
RFJac Caglianone561.10361.3810neutral0.36100.28000.512014.405593.207.7028.90266.200.2286
1BVinnie Pasquantino1301.04460.5947neutral0.33000.25500.41407.504189.5019.9015.7016.2011.400.4571
SSBobby Witt Jr.21.12351.6469neutral0.38200.30300.506011.6051.3092.5016.3025.2017.7010.700.7429
DHSalvador Perez5771.02640.3519neutral0.30400.23700.41901042.2088.9015.7025.3019.503.900.7143
LFJohn Rave2591.01640.2192neutral0.33000.24800.43901331.508714.7023.4021.809-0.0286
2BTyler Tolbert2240.9809-0.2546negative_batter_regression0.29900.24600.32003.4025.8085.5010.7028.6018.508.90-1.2857
3BNick Loftin1800.9805-0.2602neutral0.30200.23300.33904.1028.508714.301715.7010.70-0.4571
CCarter Jensen1540.9933-0.0887neutral0.28800.20200.362010.2043.2090.902129.5028.9010.50-0.5429
CFKyle Isbel2790.9585-0.5533neutral0.27100.23500.32703.4034.7089.1012.4018.1021.704.90-0.4857

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
CFBrett Bateman2410.9566-0.5786negative_batter_regression0.25900.23300.2850017.6082.300.901721.405.70-2
LFJesús Sánchez6161.05350.7132neutral0.33000.26000.437011.5046.4090.8010.6027.7023.1060.1714
CAlejandro Kirk1621.00050.0065neutral0.31100.26300.36703.5039.2088.108.5016.6011.3011.70-0.7429
DHGeorge Springer3260.9950-0.0667neutral0.30200.23200.36906.4037.4088.2012.302318.309.50-0.3143
1BVladimir Guerrero Jr.1951.04970.6628neutral0.33300.28300.40106.8043.1090.108.8019.60139.400.7714
RFNathan Lukes1700.9680-0.4260neutral0.29000.25700.34101.8027.7086.909.701714.905.70-0.4571
3BKazuma Okamoto1441.02980.3979neutral0.31400.21700.427012.7043.5090.5020.4033.6030.308.40-0.2286
2BErnie Clement1070.9374-0.8344negative_batter_regression0.26800.25200.33202.2020.3084.4016.8016.109.603.50-1.1714
SSAndrés Giménez1920.9404-0.7942neutral0.26800.23000.32103.202485.6013.1025.1019.103.30-0.4857
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 0.9923,
    "raw_average_factor": 0.9923,
    "team_espn_average_rank": 239.22,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "CF",
        "player_id": "703520",
        "player_name": "Brett Bateman",
        "offense_factor": 0.9566,
        "quality_score": -0.5786,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "703520",
          "espn_id": 5134494,
          "player_name": "Brett Bateman",
          "team": "TOR",
          "role": "batter",
          "espn_rank": 241,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 241,
            "gp_value": 15.0,
            "gp_rank": "525",
            "ab_value": 64.0,
            "ab_rank": "469",
            "r_value": 7.0,
            "r_rank": "462",
            "h_value": 21.0,
            "h_rank": "419",
            "avg_value": 0.328125,
            "avg_rank": null,
            "2b_value": 3.0,
            "2b_rank": "431",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 0.0,
            "hr_rank": "520",
            "rbi_value": 5.0,
            "rbi_rank": "485",
            "tb_value": 26.0,
            "tb_rank": "2666",
            "bb_value": 4.0,
            "bb_rank": "475",
            "so_value": 15.0,
            "so_rank": "492",
            "sb_value": 1.0,
            "sb_rank": "315",
            "obp_value": 0.3623188,
            "obp_rank": "-",
            "slg_value": 0.40625,
            "slg_rank": "-",
            "ops_value": 0.7685688,
            "ops_rank": null,
            "war_value": 0.69,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 50.0,
          "k_percent": 21.4,
          "bb_percent": 5.7,
          "woba": 0.338,
          "xwoba": 0.259,
          "xba": 0.233,
          "xslg": 0.285,
          "sweet_spot_percent": 33.3,
          "barrel_batted_rate": 0.0,
          "hard_hit_percent": 17.6,
          "exit_velocity_avg": 82.3,
          "launch_angle_avg": 0.9,
          "whiff_percent": 17.0,
          "swing_percent": 45.7
        },
        "components": {
          "expected_quality": -1.1695,
          "regression_edge": -2.0,
          "xwoba_edge": -1.2286,
          "xba_edge": -0.0857,
          "xslg_edge": -1.1714,
          "barrel_edge": -1.4889,
          "hard_hit_edge": -2.5,
          "exit_velocity_edge": -2.5,
          "sweet_spot_edge": 0.0,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "660821",
        "player_name": "Jesús Sánchez",
        "offense_factor": 1.0535,
        "quality_score": 0.7132,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "660821",
          "espn_id": 39957,
          "player_name": "Jesus Sanchez",
          "team": "TOR",
          "role": "batter",
          "espn_rank": 616,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 616,
            "gp_value": 89.0,
            "gp_rank": "226",
            "ab_value": 252.0,
            "ab_rank": "243",
            "r_value": 23.0,
            "r_rank": "305",
            "h_value": 66.0,
            "h_rank": "221",
            "avg_value": 0.2619047,
            "avg_rank": null,
            "2b_value": 17.0,
            "2b_rank": "139",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 8.0,
            "hr_rank": "207",
            "rbi_value": 34.0,
            "rbi_rank": "216",
            "tb_value": 107.0,
            "tb_rank": "1543",
            "bb_value": 17.0,
            "bb_rank": "300",
            "so_value": 65.0,
            "so_rank": "217",
            "sb_value": 1.0,
            "sb_rank": "315",
            "obp_value": 0.3202846,
            "obp_rank": "-",
            "slg_value": 0.4246031,
            "slg_rank": "-",
            "ops_value": 0.7448877,
            "ops_rank": null,
            "war_value": -0.67,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 268.0,
          "k_percent": 23.1,
          "bb_percent": 6.0,
          "woba": 0.324,
          "xwoba": 0.33,
          "xba": 0.26,
          "xslg": 0.437,
          "sweet_spot_percent": 32.8,
          "barrel_batted_rate": 11.5,
          "hard_hit_percent": 46.4,
          "exit_velocity_avg": 90.8,
          "launch_angle_avg": 10.6,
          "whiff_percent": 27.7,
          "swing_percent": 52.7
        },
        "components": {
          "expected_quality": 0.8014,
          "regression_edge": 0.1714,
          "xwoba_edge": 0.8,
          "xba_edge": 0.6857,
          "xslg_edge": 1.0,
          "barrel_edge": 1.0667,
          "hard_hit_edge": 1.2286,
          "exit_velocity_edge": 0.88,
          "sweet_spot_edge": -0.0833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "C",
        "player_id": "672386",
        "player_name": "Alejandro Kirk",
        "offense_factor": 1.0005,
        "quality_score": 0.0065,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "672386",
          "espn_id": 42081,
          "player_name": "Alejandro Kirk",
          "team": "TOR",
          "role": "batter",
          "espn_rank": 162,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 162,
            "gp_value": 57.0,
            "gp_rank": "355",
            "ab_value": 193.0,
            "ab_rank": "304",
            "r_value": 16.0,
            "r_rank": "371",
            "h_value": 54.0,
            "h_rank": "261",
            "avg_value": 0.2797927,
            "avg_rank": null,
            "2b_value": 6.0,
            "2b_rank": "343",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 7.0,
            "hr_rank": "231",
            "rbi_value": 29.0,
            "rbi_rank": "255",
            "tb_value": 81.0,
            "tb_rank": "1859",
            "bb_value": 26.0,
            "bb_rank": "208",
            "so_value": 25.0,
            "so_rank": "427",
            "sb_value": 0.0,
            "sb_rank": "421",
            "obp_value": 0.3603603,
            "obp_rank": "-",
            "slg_value": 0.4196891,
            "slg_rank": "-",
            "ops_value": 0.7800494,
            "ops_rank": null,
            "war_value": 1.32,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 197.0,
          "k_percent": 11.3,
          "bb_percent": 11.7,
          "woba": 0.337,
          "xwoba": 0.311,
          "xba": 0.263,
          "xslg": 0.367,
          "sweet_spot_percent": 29.8,
          "barrel_batted_rate": 3.5,
          "hard_hit_percent": 39.2,
          "exit_velocity_avg": 88.1,
          "launch_angle_avg": 8.5,
          "whiff_percent": 16.6,
          "swing_percent": 43.0
        },
        "components": {
          "expected_quality": 0.1294,
          "regression_edge": -0.7429,
          "xwoba_edge": 0.2571,
          "xba_edge": 0.7714,
          "xslg_edge": 0.0,
          "barrel_edge": -0.7111,
          "hard_hit_edge": 0.2,
          "exit_velocity_edge": -0.2,
          "sweet_spot_edge": -0.5833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "543807",
        "player_name": "George Springer",
        "offense_factor": 0.995,
        "quality_score": -0.0667,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "543807",
          "espn_id": 32078,
          "player_name": "George Springer",
          "team": "TOR",
          "role": "batter",
          "espn_rank": 326,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 326,
            "gp_value": 101.0,
            "gp_rank": "168",
            "ab_value": 372.0,
            "ab_rank": "132",
            "r_value": 46.0,
            "r_rank": "152",
            "h_value": 89.0,
            "h_rank": "140",
            "avg_value": 0.2392473,
            "avg_rank": 107.0,
            "2b_value": 16.0,
            "2b_rank": "155",
            "3b_value": 2.0,
            "3b_rank": "64",
            "hr_value": 12.0,
            "hr_rank": "139",
            "rbi_value": 41.0,
            "rbi_rank": "172",
            "tb_value": 145.0,
            "tb_rank": "840",
            "bb_value": 40.0,
            "bb_rank": "107",
            "so_value": 77.0,
            "so_rank": "170",
            "sb_value": 10.0,
            "sb_rank": "75",
            "obp_value": 0.3165467,
            "obp_rank": "99",
            "slg_value": 0.3897849,
            "slg_rank": "114",
            "ops_value": 0.7063316,
            "ops_rank": 213.0,
            "war_value": 0.24,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 399.0,
          "k_percent": 18.3,
          "bb_percent": 9.5,
          "woba": 0.313,
          "xwoba": 0.302,
          "xba": 0.232,
          "xslg": 0.369,
          "sweet_spot_percent": 30.3,
          "barrel_batted_rate": 6.4,
          "hard_hit_percent": 37.4,
          "exit_velocity_avg": 88.2,
          "launch_angle_avg": 12.3,
          "whiff_percent": 23.0,
          "swing_percent": 48.1
        },
        "components": {
          "expected_quality": -0.0264,
          "regression_edge": -0.3143,
          "xwoba_edge": 0.0,
          "xba_edge": -0.1143,
          "xslg_edge": 0.0286,
          "barrel_edge": -0.0667,
          "hard_hit_edge": -0.0571,
          "exit_velocity_edge": -0.16,
          "sweet_spot_edge": -0.5,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "665489",
        "player_name": "Vladimir Guerrero Jr.",
        "offense_factor": 1.0497,
        "quality_score": 0.6628,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "665489",
          "espn_id": 35002,
          "player_name": "Vladimir Guerrero Jr.",
          "team": "TOR",
          "role": "batter",
          "espn_rank": 195,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 195,
            "gp_value": 118.0,
            "gp_rank": "110",
            "ab_value": 443.0,
            "ab_rank": "82",
            "r_value": 62.0,
            "r_rank": "77",
            "h_value": 116.0,
            "h_rank": "72",
            "avg_value": 0.261851,
            "avg_rank": 61.0,
            "2b_value": 20.0,
            "2b_rank": "92",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 7.0,
            "hr_rank": "231",
            "rbi_value": 46.0,
            "rbi_rank": "139",
            "tb_value": 157.0,
            "tb_rank": "1419",
            "bb_value": 47.0,
            "bb_rank": "78",
            "so_value": 65.0,
            "so_rank": "217",
            "sb_value": 7.0,
            "sb_rank": "122",
            "obp_value": 0.3346693,
            "obp_rank": "65",
            "slg_value": 0.3544018,
            "slg_rank": "140",
            "ops_value": 0.6890711,
            "ops_rank": 75.0,
            "war_value": 1.05,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 474.0,
          "k_percent": 13.0,
          "bb_percent": 9.4,
          "woba": 0.306,
          "xwoba": 0.333,
          "xba": 0.283,
          "xslg": 0.401,
          "sweet_spot_percent": 29.2,
          "barrel_batted_rate": 6.8,
          "hard_hit_percent": 43.1,
          "exit_velocity_avg": 90.1,
          "launch_angle_avg": 8.8,
          "whiff_percent": 19.6,
          "swing_percent": 47.4
        },
        "components": {
          "expected_quality": 0.6451,
          "regression_edge": 0.7714,
          "xwoba_edge": 0.8857,
          "xba_edge": 1.3429,
          "xslg_edge": 0.4857,
          "barrel_edge": 0.0222,
          "hard_hit_edge": 0.7571,
          "exit_velocity_edge": 0.6,
          "sweet_spot_edge": -0.6833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "664770",
        "player_name": "Nathan Lukes",
        "offense_factor": 0.968,
        "quality_score": -0.426,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "664770",
          "espn_id": 35682,
          "player_name": "Nathan Lukes",
          "team": "TOR",
          "role": "batter",
          "espn_rank": 170,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 170,
            "gp_value": 97.0,
            "gp_rank": "186",
            "ab_value": 315.0,
            "ab_rank": "185",
            "r_value": 34.0,
            "r_rank": "225",
            "h_value": 83.0,
            "h_rank": "155",
            "avg_value": 0.263492,
            "avg_rank": null,
            "2b_value": 11.0,
            "2b_rank": "239",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 8.0,
            "hr_rank": "207",
            "rbi_value": 28.0,
            "rbi_rank": "262",
            "tb_value": 118.0,
            "tb_rank": "1577",
            "bb_value": 20.0,
            "bb_rank": "263",
            "so_value": 52.0,
            "so_rank": "274",
            "sb_value": 1.0,
            "sb_rank": "315",
            "obp_value": 0.3157894,
            "obp_rank": "-",
            "slg_value": 0.3746031,
            "slg_rank": "-",
            "ops_value": 0.6903925,
            "ops_rank": null,
            "war_value": 1.25,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 327.0,
          "k_percent": 14.9,
          "bb_percent": 5.7,
          "woba": 0.306,
          "xwoba": 0.29,
          "xba": 0.257,
          "xslg": 0.341,
          "sweet_spot_percent": 29.9,
          "barrel_batted_rate": 1.8,
          "hard_hit_percent": 27.7,
          "exit_velocity_avg": 86.9,
          "launch_angle_avg": 9.7,
          "whiff_percent": 17.0,
          "swing_percent": 49.6
        },
        "components": {
          "expected_quality": -0.4209,
          "regression_edge": -0.4571,
          "xwoba_edge": -0.3429,
          "xba_edge": 0.6,
          "xslg_edge": -0.3714,
          "barrel_edge": -1.0889,
          "hard_hit_edge": -1.4429,
          "exit_velocity_edge": -0.68,
          "sweet_spot_edge": -0.5667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "672960",
        "player_name": "Kazuma Okamoto",
        "offense_factor": 1.0298,
        "quality_score": 0.3979,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "672960",
          "espn_id": 5134636,
          "player_name": "Kazuma Okamoto",
          "team": "TOR",
          "role": "batter",
          "espn_rank": 144,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 144,
            "gp_value": 128.0,
            "gp_rank": "37",
            "ab_value": 472.0,
            "ab_rank": "50",
            "r_value": 68.0,
            "r_rank": "49",
            "h_value": 108.0,
            "h_rank": "88",
            "avg_value": 0.2288135,
            "avg_rank": 125.0,
            "2b_value": 20.0,
            "2b_rank": "92",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 26.0,
            "hr_rank": "20",
            "rbi_value": 74.0,
            "rbi_rank": "28",
            "tb_value": 206.0,
            "tb_rank": "802",
            "bb_value": 44.0,
            "bb_rank": "89",
            "so_value": 159.0,
            "so_rank": "7",
            "sb_value": 1.0,
            "sb_rank": "315",
            "obp_value": 0.3015267,
            "obp_rank": "122",
            "slg_value": 0.4364406,
            "slg_rank": "60",
            "ops_value": 0.7379673,
            "ops_rank": 182.0,
            "war_value": 1.5,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 498.0,
          "k_percent": 30.3,
          "bb_percent": 8.4,
          "woba": 0.322,
          "xwoba": 0.314,
          "xba": 0.217,
          "xslg": 0.427,
          "sweet_spot_percent": 34.0,
          "barrel_batted_rate": 12.7,
          "hard_hit_percent": 43.5,
          "exit_velocity_avg": 90.5,
          "launch_angle_avg": 20.4,
          "whiff_percent": 33.6,
          "swing_percent": 47.8
        },
        "components": {
          "expected_quality": 0.4999,
          "regression_edge": -0.2286,
          "xwoba_edge": 0.3429,
          "xba_edge": -0.5429,
          "xslg_edge": 0.8571,
          "barrel_edge": 1.3333,
          "hard_hit_edge": 0.8143,
          "exit_velocity_edge": 0.76,
          "sweet_spot_edge": 0.1167,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "2B",
        "player_id": "676391",
        "player_name": "Ernie Clement",
        "offense_factor": 0.9374,
        "quality_score": -0.8344,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "676391",
          "espn_id": 41287,
          "player_name": "Ernie Clement",
          "team": "TOR",
          "role": "batter",
          "espn_rank": 107,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 107,
            "gp_value": 129.0,
            "gp_rank": "28",
            "ab_value": 494.0,
            "ab_rank": "26",
            "r_value": 54.0,
            "r_rank": "109",
            "h_value": 140.0,
            "h_rank": "13",
            "avg_value": 0.2834008,
            "avg_rank": 22.0,
            "2b_value": 29.0,
            "2b_rank": "10",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 9.0,
            "hr_rank": "187",
            "rbi_value": 43.0,
            "rbi_rank": "160",
            "tb_value": 198.0,
            "tb_rank": "840",
            "bb_value": 18.0,
            "bb_rank": "285",
            "so_value": 50.0,
            "so_rank": "281",
            "sb_value": 5.0,
            "sb_rank": "166",
            "obp_value": 0.3082851,
            "obp_rank": "115",
            "slg_value": 0.4008097,
            "slg_rank": "99",
            "ops_value": 0.7090948,
            "ops_rank": 214.0,
            "war_value": 1.94,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 493.0,
          "k_percent": 9.6,
          "bb_percent": 3.5,
          "woba": 0.309,
          "xwoba": 0.268,
          "xba": 0.252,
          "xslg": 0.332,
          "sweet_spot_percent": 33.0,
          "barrel_batted_rate": 2.2,
          "hard_hit_percent": 20.3,
          "exit_velocity_avg": 84.4,
          "launch_angle_avg": 16.8,
          "whiff_percent": 16.1,
          "swing_percent": 57.5
        },
        "components": {
          "expected_quality": -0.7795,
          "regression_edge": -1.1714,
          "xwoba_edge": -0.9714,
          "xba_edge": 0.4571,
          "xslg_edge": -0.5,
          "barrel_edge": -1.0,
          "hard_hit_edge": -2.5,
          "exit_velocity_edge": -1.68,
          "sweet_spot_edge": -0.05,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "665926",
        "player_name": "Andrés Giménez",
        "offense_factor": 0.9404,
        "quality_score": -0.7942,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "665926",
          "espn_id": 37729,
          "player_name": "Andres Gimenez",
          "team": "TOR",
          "role": "batter",
          "espn_rank": 192,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 192,
            "gp_value": 124.0,
            "gp_rank": "74",
            "ab_value": 391.0,
            "ab_rank": "120",
            "r_value": 34.0,
            "r_rank": "225",
            "h_value": 95.0,
            "h_rank": "125",
            "avg_value": 0.2429667,
            "avg_rank": 100.0,
            "2b_value": 20.0,
            "2b_rank": "92",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 8.0,
            "hr_rank": "207",
            "rbi_value": 49.0,
            "rbi_rank": "124",
            "tb_value": 141.0,
            "tb_rank": "1094",
            "bb_value": 14.0,
            "bb_rank": "332",
            "so_value": 81.0,
            "so_rank": "148",
            "sb_value": 19.0,
            "sb_rank": "25",
            "obp_value": 0.288416,
            "obp_rank": "145",
            "slg_value": 0.3606138,
            "slg_rank": "136",
            "ops_value": 0.6490298,
            "ops_rank": 281.0,
            "war_value": 1.07,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 409.0,
          "k_percent": 19.1,
          "bb_percent": 3.3,
          "woba": 0.285,
          "xwoba": 0.268,
          "xba": 0.23,
          "xslg": 0.321,
          "sweet_spot_percent": 29.7,
          "barrel_batted_rate": 3.2,
          "hard_hit_percent": 24.0,
          "exit_velocity_avg": 85.6,
          "launch_angle_avg": 13.1,
          "whiff_percent": 25.1,
          "swing_percent": 57.4
        },
        "components": {
          "expected_quality": -0.8444,
          "regression_edge": -0.4857,
          "xwoba_edge": -0.9714,
          "xba_edge": -0.1714,
          "xslg_edge": -0.6571,
          "barrel_edge": -0.7778,
          "hard_hit_edge": -1.9714,
          "exit_velocity_edge": -1.2,
          "sweet_spot_edge": -0.6,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0253,
    "raw_average_factor": 1.0253,
    "team_espn_average_rank": 206.78,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "RF",
        "player_id": "695506",
        "player_name": "Jac Caglianone",
        "offense_factor": 1.1036,
        "quality_score": 1.381,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "695506",
          "espn_id": 4926296,
          "player_name": "Jac Caglianone",
          "team": "KC",
          "role": "batter",
          "espn_rank": 56,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 56,
            "gp_value": 121.0,
            "gp_rank": "97",
            "ab_value": 434.0,
            "ab_rank": "87",
            "r_value": 59.0,
            "r_rank": "91",
            "h_value": 120.0,
            "h_rank": "54",
            "avg_value": 0.2764976,
            "avg_rank": 30.0,
            "2b_value": 23.0,
            "2b_rank": "57",
            "3b_value": 2.0,
            "3b_rank": "64",
            "hr_value": 22.0,
            "hr_rank": "32",
            "rbi_value": 60.0,
            "rbi_rank": "71",
            "tb_value": 213.0,
            "tb_rank": "335",
            "bb_value": 29.0,
            "bb_rank": "191",
            "so_value": 122.0,
            "so_rank": "46",
            "sb_value": 6.0,
            "sb_rank": "143",
            "obp_value": 0.3283582,
            "obp_rank": "80",
            "slg_value": 0.4907834,
            "slg_rank": "22",
            "ops_value": 0.8191416,
            "ops_rank": 58.0,
            "war_value": 2.94,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 454.0,
          "k_percent": 26.0,
          "bb_percent": 6.2,
          "woba": 0.353,
          "xwoba": 0.361,
          "xba": 0.28,
          "xslg": 0.512,
          "sweet_spot_percent": 33.5,
          "barrel_batted_rate": 14.4,
          "hard_hit_percent": 55.0,
          "exit_velocity_avg": 93.2,
          "launch_angle_avg": 7.7,
          "whiff_percent": 28.9,
          "swing_percent": 53.9
        },
        "components": {
          "expected_quality": 1.5686,
          "regression_edge": 0.2286,
          "xwoba_edge": 1.6857,
          "xba_edge": 1.2571,
          "xslg_edge": 2.0714,
          "barrel_edge": 1.7111,
          "hard_hit_edge": 2.4571,
          "exit_velocity_edge": 1.84,
          "sweet_spot_edge": 0.0333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "686469",
        "player_name": "Vinnie Pasquantino",
        "offense_factor": 1.0446,
        "quality_score": 0.5947,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "686469",
          "espn_id": 4109109,
          "player_name": "Vinnie Pasquantino",
          "team": "KC",
          "role": "batter",
          "espn_rank": 130,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 130,
            "gp_value": 87.0,
            "gp_rank": "235",
            "ab_value": 322.0,
            "ab_rank": "179",
            "r_value": 40.0,
            "r_rank": "185",
            "h_value": 79.0,
            "h_rank": "176",
            "avg_value": 0.2453416,
            "avg_rank": null,
            "2b_value": 15.0,
            "2b_rank": "171",
            "3b_value": 2.0,
            "3b_rank": "64",
            "hr_value": 8.0,
            "hr_rank": "207",
            "rbi_value": 38.0,
            "rbi_rank": "189",
            "tb_value": 122.0,
            "tb_rank": "1096",
            "bb_value": 42.0,
            "bb_rank": "97",
            "so_value": 60.0,
            "so_rank": "240",
            "sb_value": 5.0,
            "sb_rank": "166",
            "obp_value": 0.3324324,
            "obp_rank": "-",
            "slg_value": 0.3788819,
            "slg_rank": "-",
            "ops_value": 0.7113143,
            "ops_rank": null,
            "war_value": 1.64,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 344.0,
          "k_percent": 16.2,
          "bb_percent": 11.4,
          "woba": 0.314,
          "xwoba": 0.33,
          "xba": 0.255,
          "xslg": 0.414,
          "sweet_spot_percent": 35.0,
          "barrel_batted_rate": 7.5,
          "hard_hit_percent": 41.0,
          "exit_velocity_avg": 89.5,
          "launch_angle_avg": 19.9,
          "whiff_percent": 15.7,
          "swing_percent": 45.6
        },
        "components": {
          "expected_quality": 0.6171,
          "regression_edge": 0.4571,
          "xwoba_edge": 0.8,
          "xba_edge": 0.5429,
          "xslg_edge": 0.6714,
          "barrel_edge": 0.1778,
          "hard_hit_edge": 0.4571,
          "exit_velocity_edge": 0.36,
          "sweet_spot_edge": 0.2833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "677951",
        "player_name": "Bobby Witt Jr.",
        "offense_factor": 1.1235,
        "quality_score": 1.6469,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "677951",
          "espn_id": 42403,
          "player_name": "Bobby Witt Jr.",
          "team": "KC",
          "role": "batter",
          "espn_rank": 2,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 2,
            "gp_value": 114.0,
            "gp_rank": "128",
            "ab_value": 445.0,
            "ab_rank": "81",
            "r_value": 72.0,
            "r_rank": "41",
            "h_value": 127.0,
            "h_rank": "35",
            "avg_value": 0.2853932,
            "avg_rank": 21.0,
            "2b_value": 26.0,
            "2b_rank": "27",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 16.0,
            "hr_rank": "91",
            "rbi_value": 48.0,
            "rbi_rank": "129",
            "tb_value": 203.0,
            "tb_rank": "591",
            "bb_value": 54.0,
            "bb_rank": "48",
            "so_value": 89.0,
            "so_rank": "129",
            "sb_value": 35.0,
            "sb_rank": "2",
            "obp_value": 0.3630952,
            "obp_rank": "26",
            "slg_value": 0.4561797,
            "slg_rank": "48",
            "ops_value": 0.8192749,
            "ops_rank": 22.0,
            "war_value": 6.08,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 467.0,
          "k_percent": 17.7,
          "bb_percent": 10.7,
          "woba": 0.356,
          "xwoba": 0.382,
          "xba": 0.303,
          "xslg": 0.506,
          "sweet_spot_percent": 36.5,
          "barrel_batted_rate": 11.6,
          "hard_hit_percent": 51.3,
          "exit_velocity_avg": 92.5,
          "launch_angle_avg": 16.3,
          "whiff_percent": 25.2,
          "swing_percent": 47.6
        },
        "components": {
          "expected_quality": 1.7941,
          "regression_edge": 0.7429,
          "xwoba_edge": 2.2857,
          "xba_edge": 1.9143,
          "xslg_edge": 1.9857,
          "barrel_edge": 1.0889,
          "hard_hit_edge": 1.9286,
          "exit_velocity_edge": 1.56,
          "sweet_spot_edge": 0.5333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "DH",
        "player_id": "521692",
        "player_name": "Salvador Perez",
        "offense_factor": 1.0264,
        "quality_score": 0.3519,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "521692",
          "espn_id": 31127,
          "player_name": "Salvador Perez",
          "team": "KC",
          "role": "batter",
          "espn_rank": 577,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 577,
            "gp_value": 123.0,
            "gp_rank": "83",
            "ab_value": 472.0,
            "ab_rank": "50",
            "r_value": 46.0,
            "r_rank": "152",
            "h_value": 105.0,
            "h_rank": "96",
            "avg_value": 0.2224576,
            "avg_rank": 129.0,
            "2b_value": 19.0,
            "2b_rank": "115",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 17.0,
            "hr_rank": "73",
            "rbi_value": 59.0,
            "rbi_rank": "75",
            "tb_value": 177.0,
            "tb_rank": "686",
            "bb_value": 20.0,
            "bb_rank": "263",
            "so_value": 100.0,
            "so_rank": "91",
            "sb_value": 1.0,
            "sb_rank": "315",
            "obp_value": 0.2681017,
            "obp_rank": "151",
            "slg_value": 0.375,
            "slg_rank": "125",
            "ops_value": 0.6431017,
            "ops_rank": 276.0,
            "war_value": -0.43,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 486.0,
          "k_percent": 19.5,
          "bb_percent": 3.9,
          "woba": 0.279,
          "xwoba": 0.304,
          "xba": 0.237,
          "xslg": 0.419,
          "sweet_spot_percent": 34.6,
          "barrel_batted_rate": 10.0,
          "hard_hit_percent": 42.2,
          "exit_velocity_avg": 88.9,
          "launch_angle_avg": 15.7,
          "whiff_percent": 25.3,
          "swing_percent": 56.8
        },
        "components": {
          "expected_quality": 0.2929,
          "regression_edge": 0.7143,
          "xwoba_edge": 0.0571,
          "xba_edge": 0.0286,
          "xslg_edge": 0.7429,
          "barrel_edge": 0.7333,
          "hard_hit_edge": 0.6286,
          "exit_velocity_edge": 0.12,
          "sweet_spot_edge": 0.2167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "670231",
        "player_name": "John Rave",
        "offense_factor": 1.0164,
        "quality_score": 0.2192,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "670231",
          "espn_id": 4418140,
          "player_name": "John Rave",
          "team": "KC",
          "role": "batter",
          "espn_rank": 259,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 259,
            "gp_value": 29.0,
            "gp_rank": "453",
            "ab_value": 69.0,
            "ab_rank": "458",
            "r_value": 14.0,
            "r_rank": "386",
            "h_value": 16.0,
            "h_rank": "445",
            "avg_value": 0.231884,
            "avg_rank": null,
            "2b_value": 5.0,
            "2b_rank": "365",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 3.0,
            "hr_rank": "353",
            "rbi_value": 8.0,
            "rbi_rank": "441",
            "tb_value": 32.0,
            "tb_rank": "2125",
            "bb_value": 7.0,
            "bb_rank": "422",
            "so_value": 17.0,
            "so_rank": "478",
            "sb_value": 4.0,
            "sb_rank": "192",
            "obp_value": 0.3026315,
            "obp_rank": "-",
            "slg_value": 0.4637681,
            "slg_rank": "-",
            "ops_value": 0.7663996,
            "ops_rank": null,
            "war_value": 0.61,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 61.0,
          "k_percent": 21.8,
          "bb_percent": 9.0,
          "woba": 0.331,
          "xwoba": 0.33,
          "xba": 0.248,
          "xslg": 0.439,
          "sweet_spot_percent": 33.3,
          "barrel_batted_rate": 13.0,
          "hard_hit_percent": 31.5,
          "exit_velocity_avg": 87.0,
          "launch_angle_avg": 14.7,
          "whiff_percent": 23.4,
          "swing_percent": 43.1
        },
        "components": {
          "expected_quality": 0.571,
          "regression_edge": -0.0286,
          "xwoba_edge": 0.8,
          "xba_edge": 0.3429,
          "xslg_edge": 1.0286,
          "barrel_edge": 1.4,
          "hard_hit_edge": -0.9,
          "exit_velocity_edge": -0.64,
          "sweet_spot_edge": 0.0,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "686475",
        "player_name": "Tyler Tolbert",
        "offense_factor": 0.9809,
        "quality_score": -0.2546,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "686475",
          "espn_id": 4151063,
          "player_name": "Tyler Tolbert",
          "team": "KC",
          "role": "batter",
          "espn_rank": 224,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 224,
            "gp_value": 60.0,
            "gp_rank": "342",
            "ab_value": 107.0,
            "ab_rank": "414",
            "r_value": 27.0,
            "r_rank": "273",
            "h_value": 31.0,
            "h_rank": "372",
            "avg_value": 0.2897196,
            "avg_rank": null,
            "2b_value": 5.0,
            "2b_rank": "365",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 3.0,
            "hr_rank": "353",
            "rbi_value": 8.0,
            "rbi_rank": "441",
            "tb_value": 45.0,
            "tb_rank": "2358",
            "bb_value": 11.0,
            "bb_rank": "365",
            "so_value": 23.0,
            "so_rank": "438",
            "sb_value": 19.0,
            "sb_rank": "25",
            "obp_value": 0.3583333,
            "obp_rank": "-",
            "slg_value": 0.4205607,
            "slg_rank": "-",
            "ops_value": 0.778894,
            "ops_rank": null,
            "war_value": 0.8,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 107.0,
          "k_percent": 18.5,
          "bb_percent": 8.9,
          "woba": 0.344,
          "xwoba": 0.299,
          "xba": 0.246,
          "xslg": 0.32,
          "sweet_spot_percent": 33.7,
          "barrel_batted_rate": 3.4,
          "hard_hit_percent": 25.8,
          "exit_velocity_avg": 85.5,
          "launch_angle_avg": 10.7,
          "whiff_percent": 28.6,
          "swing_percent": 50.3
        },
        "components": {
          "expected_quality": -0.3994,
          "regression_edge": -1.2857,
          "xwoba_edge": -0.0857,
          "xba_edge": 0.2857,
          "xslg_edge": -0.6714,
          "barrel_edge": -0.7333,
          "hard_hit_edge": -1.7143,
          "exit_velocity_edge": -1.24,
          "sweet_spot_edge": 0.0667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "679845",
        "player_name": "Nick Loftin",
        "offense_factor": 0.9805,
        "quality_score": -0.2602,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "679845",
          "espn_id": 4314013,
          "player_name": "Nick Loftin",
          "team": "KC",
          "role": "batter",
          "espn_rank": 180,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 180,
            "gp_value": 94.0,
            "gp_rank": "200",
            "ab_value": 287.0,
            "ab_rank": "211",
            "r_value": 36.0,
            "r_rank": "209",
            "h_value": 68.0,
            "h_rank": "211",
            "avg_value": 0.2369337,
            "avg_rank": null,
            "2b_value": 20.0,
            "2b_rank": "92",
            "3b_value": 2.0,
            "3b_rank": "64",
            "hr_value": 6.0,
            "hr_rank": "263",
            "rbi_value": 40.0,
            "rbi_rank": "173",
            "tb_value": 110.0,
            "tb_rank": "1220",
            "bb_value": 36.0,
            "bb_rank": "135",
            "so_value": 53.0,
            "so_rank": "269",
            "sb_value": 2.0,
            "sb_rank": "260",
            "obp_value": 0.3303303,
            "obp_rank": "-",
            "slg_value": 0.3832752,
            "slg_rank": "-",
            "ops_value": 0.7136055,
            "ops_rank": null,
            "war_value": 1.19,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 305.0,
          "k_percent": 15.7,
          "bb_percent": 10.7,
          "woba": 0.318,
          "xwoba": 0.302,
          "xba": 0.233,
          "xslg": 0.339,
          "sweet_spot_percent": 35.1,
          "barrel_batted_rate": 4.1,
          "hard_hit_percent": 28.5,
          "exit_velocity_avg": 87.0,
          "launch_angle_avg": 14.3,
          "whiff_percent": 17.0,
          "swing_percent": 40.2
        },
        "components": {
          "expected_quality": -0.2281,
          "regression_edge": -0.4571,
          "xwoba_edge": 0.0,
          "xba_edge": -0.0857,
          "xslg_edge": -0.4,
          "barrel_edge": -0.5778,
          "hard_hit_edge": -1.3286,
          "exit_velocity_edge": -0.64,
          "sweet_spot_edge": 0.3,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "695600",
        "player_name": "Carter Jensen",
        "offense_factor": 0.9933,
        "quality_score": -0.0887,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "695600",
          "espn_id": 4917812,
          "player_name": "Carter Jensen",
          "team": "KC",
          "role": "batter",
          "espn_rank": 154,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 154,
            "gp_value": 123.0,
            "gp_rank": "83",
            "ab_value": 429.0,
            "ab_rank": "94",
            "r_value": 58.0,
            "r_rank": "95",
            "h_value": 94.0,
            "h_rank": "128",
            "avg_value": 0.2191142,
            "avg_rank": 136.0,
            "2b_value": 25.0,
            "2b_rank": "37",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 17.0,
            "hr_rank": "73",
            "rbi_value": 58.0,
            "rbi_rank": "80",
            "tb_value": 172.0,
            "tb_rank": "640",
            "bb_value": 51.0,
            "bb_rank": "59",
            "so_value": 141.0,
            "so_rank": "17",
            "sb_value": 1.0,
            "sb_rank": "315",
            "obp_value": 0.3012295,
            "obp_rank": "125",
            "slg_value": 0.4009324,
            "slg_rank": "99",
            "ops_value": 0.7021619,
            "ops_rank": 224.0,
            "war_value": 1.39,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 469.0,
          "k_percent": 28.9,
          "bb_percent": 10.5,
          "woba": 0.307,
          "xwoba": 0.288,
          "xba": 0.202,
          "xslg": 0.362,
          "sweet_spot_percent": 32.0,
          "barrel_batted_rate": 10.2,
          "hard_hit_percent": 43.2,
          "exit_velocity_avg": 90.9,
          "launch_angle_avg": 21.0,
          "whiff_percent": 29.5,
          "swing_percent": 44.8
        },
        "components": {
          "expected_quality": -0.0148,
          "regression_edge": -0.5429,
          "xwoba_edge": -0.4,
          "xba_edge": -0.9714,
          "xslg_edge": -0.0714,
          "barrel_edge": 0.7778,
          "hard_hit_edge": 0.7714,
          "exit_velocity_edge": 0.92,
          "sweet_spot_edge": -0.2167,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "CF",
        "player_id": "664728",
        "player_name": "Kyle Isbel",
        "offense_factor": 0.9585,
        "quality_score": -0.5533,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "664728",
          "espn_id": 41263,
          "player_name": "Kyle Isbel",
          "team": "KC",
          "role": "batter",
          "espn_rank": 279,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 279,
            "gp_value": 74.0,
            "gp_rank": "289",
            "ab_value": 220.0,
            "ab_rank": "277",
            "r_value": 25.0,
            "r_rank": "289",
            "h_value": 53.0,
            "h_rank": "265",
            "avg_value": 0.240909,
            "avg_rank": null,
            "2b_value": 8.0,
            "2b_rank": "298",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 6.0,
            "hr_rank": "263",
            "rbi_value": 23.0,
            "rbi_rank": "293",
            "tb_value": 81.0,
            "tb_rank": "1608",
            "bb_value": 12.0,
            "bb_rank": "352",
            "so_value": 53.0,
            "so_rank": "269",
            "sb_value": 6.0,
            "sb_rank": "143",
            "obp_value": 0.2869198,
            "obp_rank": "-",
            "slg_value": 0.3681818,
            "slg_rank": "-",
            "ops_value": 0.6551016,
            "ops_rank": null,
            "war_value": 0.49,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 219.0,
          "k_percent": 21.7,
          "bb_percent": 4.9,
          "woba": 0.288,
          "xwoba": 0.271,
          "xba": 0.235,
          "xslg": 0.327,
          "sweet_spot_percent": 26.7,
          "barrel_batted_rate": 3.4,
          "hard_hit_percent": 34.7,
          "exit_velocity_avg": 89.1,
          "launch_angle_avg": 12.4,
          "whiff_percent": 18.1,
          "swing_percent": 47.9
        },
        "components": {
          "expected_quality": -0.5673,
          "regression_edge": -0.4857,
          "xwoba_edge": -0.8857,
          "xba_edge": -0.0286,
          "xslg_edge": -0.5714,
          "barrel_edge": -0.7333,
          "hard_hit_edge": -0.4429,
          "exit_velocity_edge": 0.2,
          "sweet_spot_edge": -1.1,
          "launch_angle_hr_bonus": 0.2
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}

Savant Pitcher Quality

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

TeamPitcherAvailableESPN RankQualitySample WtRun PrevK FactorBB FactorHR FactorRegressionxwOBAwOBAK%BB%Whiff%Barrel%HardHit%
Away KCTrue110-0.055711.00471.00170.97001.0159neutral0.31300.296021.307.7026.207.8038.10
Home TORTrue238-0.362111.03081.00631.07601.0104neutral0.34500.322022.701325.608.2031.10

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away KCTrueNone10386.78219700000000-0.1719
Home TORTrueNone7584.45249800000000-0.2800
Run FactorValue
away_runs_vs_home_pitcher1.0140
home_runs_vs_away_pitcher1.0094
home_pitcher_starter_only_factor1.0308
away_pitcher_starter_only_factor1.0047
home_pitcher_workload_share0.5185
away_pitcher_workload_share0.7037
home_pitcher_quality_edge-0.1486
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "681293",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 383.0,
      "k_percent": 22.7,
      "bb_percent": 13.0,
      "woba": 0.322,
      "xwoba": 0.345,
      "sweet_spot_percent": 38.9,
      "barrel_batted_rate": 8.2,
      "hard_hit_percent": 31.1,
      "avg_best_speed": 77.124,
      "avg_hyper_speed": 92.904,
      "whiff_percent": 25.6,
      "swing_percent": 42.0
    },
    "league_medians": {
      "pa": 123.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.316,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.4,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.8,
      "avg_best_speed": 77.614,
      "avg_hyper_speed": 93.9187,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": -0.4312,
      "command_and_miss": -0.125,
      "regression_edge": -0.6571,
      "xwoba_edge": -0.9714,
      "barrel_edge": -0.2444,
      "hard_hit_edge": 0.9571,
      "whiff_edge": 0.0571,
      "bb_edge": -0.95,
      "pitch_design_score": -0.28
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "681293",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 75,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 75,
        "pitch_usage": 0.0,
        "release_speed": 84.44963252833853,
        "release_spin_rate": 2497.7609751645673,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 75,
          "pitch_usage": 0.0,
          "release_speed": 84.44963252833853,
          "release_spin_rate": 2497.7609751645673,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.4496,
        "release_spin_rate": 2497.761,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "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.3621,
    "sample_weight": 1.0,
    "run_prevention_factor": 1.0308,
    "strikeout_factor": 1.0063,
    "walk_factor": 1.076,
    "homer_factor": 1.0104,
    "woba_minus_xwoba": -0.023,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "681293",
      "espn_id": 4726080,
      "player_name": "Spencer Arrighetti",
      "team": "TOR",
      "role": "pitcher",
      "espn_rank": 238,
      "espn_total_ranked": 831,
      "metrics": {
        "espn_rank": 238,
        "gp_value": 18.0,
        "gp_rank": 387,
        "gs_value": 17.0,
        "gs_rank": 109,
        "qs_value": 6.0,
        "qs_rank": 83,
        "era_value": 4.7299,
        "era_rank": null,
        "w_value": 7.0,
        "w_rank": 73,
        "l_value": 6.0,
        "l_rank": 97,
        "sv_value": 0.0,
        "sv_rank": 241,
        "hld_value": 0.0,
        "hld_rank": 331,
        "ip_value": 91.1,
        "ip_rank": 126,
        "h_value": 71.0,
        "h_rank": 151,
        "er_value": 48.0,
        "er_rank": 97,
        "hr_value": 13.0,
        "hr_rank": 107,
        "bb_value": 52.0,
        "bb_rank": 18,
        "k_value": 91.0,
        "k_rank": 103,
        "k_per_9_value": 8.967153,
        "k_per_9_rank": 22.0,
        "whip_value": 1.3467,
        "whip_rank": null,
        "war_value": 0.57,
        "war_rank": null
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "702070",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 575.0,
      "k_percent": 21.3,
      "bb_percent": 7.7,
      "woba": 0.296,
      "xwoba": 0.313,
      "sweet_spot_percent": 37.8,
      "barrel_batted_rate": 7.8,
      "hard_hit_percent": 38.1,
      "avg_best_speed": 78.1913,
      "avg_hyper_speed": 94.0406,
      "whiff_percent": 26.2,
      "swing_percent": 47.7
    },
    "league_medians": {
      "pa": 123.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.316,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.4,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.8,
      "avg_best_speed": 77.614,
      "avg_hyper_speed": 93.9187,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": -0.0254,
      "command_and_miss": 0.08,
      "regression_edge": -0.4857,
      "xwoba_edge": -0.0571,
      "barrel_edge": -0.1556,
      "hard_hit_edge": -0.0429,
      "whiff_edge": 0.1429,
      "bb_edge": 0.375,
      "pitch_design_score": -0.1719
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "702070",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 103,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 103,
        "pitch_usage": 0.0,
        "release_speed": 86.77804095392263,
        "release_spin_rate": 2196.6732125022254,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 103,
          "pitch_usage": 0.0,
          "release_speed": 86.77804095392263,
          "release_spin_rate": 2196.6732125022254,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        }
      ],
      "summary": {
        "release_speed": 86.778,
        "release_spin_rate": 2196.6732,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.1719,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -1.2279,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -0.0
      },
      "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
    },
    "quality_score": -0.0557,
    "sample_weight": 1.0,
    "run_prevention_factor": 1.0047,
    "strikeout_factor": 1.0017,
    "walk_factor": 0.97,
    "homer_factor": 1.0159,
    "woba_minus_xwoba": -0.017,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "702070",
      "espn_id": 4417208,
      "player_name": "Noah Cameron",
      "team": "KC",
      "role": "pitcher",
      "espn_rank": 110,
      "espn_total_ranked": 831,
      "metrics": {
        "espn_rank": 110,
        "gp_value": 25.0,
        "gp_rank": 275,
        "gs_value": 24.0,
        "gs_rank": 48,
        "qs_value": 8.0,
        "qs_rank": 69,
        "era_value": 4.0186,
        "era_rank": 39.0,
        "w_value": 8.0,
        "w_rank": 47,
        "l_value": 8.0,
        "l_rank": 38,
        "sv_value": 0.0,
        "sv_rank": 241,
        "hld_value": 0.0,
        "hld_rank": 331,
        "ip_value": 143.1,
        "ip_rank": 34,
        "h_value": 128.0,
        "h_rank": 36,
        "er_value": 64.0,
        "er_rank": 31,
        "hr_value": 14.0,
        "hr_rank": 85,
        "bb_value": 46.0,
        "bb_rank": 39,
        "k_value": 128.0,
        "k_rank": 43,
        "k_per_9_value": 8.0372095,
        "k_per_9_rank": 34.0,
        "whip_value": 1.2139,
        "whip_rank": 32.0,
        "war_value": 1.47,
        "war_rank": 1.0
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 1.014,
    "home_runs_vs_away_pitcher": 1.0094,
    "home_pitcher_starter_only_factor": 1.0308,
    "away_pitcher_starter_only_factor": 1.0047,
    "home_pitcher_workload_share": 0.5185,
    "away_pitcher_workload_share": 0.7037,
    "home_pitcher_quality_edge": -0.1486
  },
  "score_before": {
    "away_runs": 8.0632,
    "home_runs": 2.2358
  },
  "score_after": {
    "away_runs": 8.1761,
    "home_runs": 2.2569,
    "home_win_probability": 0.08
  },
  "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 KC9-10.9005.503.10249Whotstrong
Home TOR5-50.5004.203.8042Laverageaverage

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away KC59-740.444-89-0.669True
Home TOR64-690.481-57-0.429True
Signal--0.241-0.049applied=False

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-08-25KC @ TOR5 - 3KC2close

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target KC--6----
Game target TOR--4----
Player finalized KC37961537
Player finalized TOR36831337
Player model fractional KC33.138.574.561.214.322.986.98
Player model fractional TOR34.008.253.360.823.342.496.42
Simulation box KC381161655
Simulation box TOR371042459

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 KCStarterNoah Cameron6.1015432.890.97True
Away KCSetup ManNate Pearson102102.381.25True
Away KCCloserSteven Cruz100005.301.37True
Away KCMiddle Reliever (High Leverage)John Schreiber0.2032524.041.00True
Home TORStarterSpencer Arrighetti4.2023616.621.48True
Home TORMiddle Reliever (High Leverage)Spencer Miles1.1001101.991.01True
Home TORCloserLouis Varland1.1030232.070.99True
Home TORSetup ManTyler Rogers110214.071.38True
Home TORMiddle Reliever (High Leverage)Mason Fluharty0.2001001.861.13True
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
awayKCbatterCFKyle Isbelbetter95463predicted_RBI2.5000boostbetter
homeTORbatterLFJesús Sánchezworse105546predicted_AB2.1690boostbetter
awayKCbatter2BTyler Tolbertbetter115665predicted_RBI1.8100boostbetter
homeTORbatterCFBrett Batemanworse91818predicted_AB-1.7100deboostworse
homeTORbatter3BKazuma Okamotoworse113829predicted_BB1.6540boostbetter
homeTORbatterCAlejandro Kirkbetter116574predicted_H1.5600boostbetter
homeTORbatterRFNathan Lukesbetter107364predicted_SO1.4470boostworse
awayKCbatter1BVinnie Pasquantinoworse94536predicted_SO1.3260boostworse
awayKCbatterLFJohn Ravebetter105564predicted_AB1.2400boostbetter
awayKCbatterSSBobby Witt Jr.worse113829predicted_SO1.2120boostworse
homeTORbatterSSAndrés Giménezworse116556predicted_H1.2100boostbetter
homeTORbatterDHGeorge Springerworse113829predicted_AB1.2040boostbetter
awayKCbatterCCarter Jensenbetter106473predicted_SO-1.1570deboostbetter
homeTORbatter1BVladimir Guerrero Jr.worse103728predicted_H-1.1000deboostworse
homeTORbatter2BErnie Clementworse101928predicted_AB-1.0700deboostworse
awayKCbatterRFJac Caglianonebetter115665predicted_SO-1.0170deboostbetter
awayKCpitcherStarterNoah Cameronneutral21111predicted_SO1.0000boostbetter
awayKCpitcherMiddle Reliever (High Leverage)John Schreiberworse20202predicted_SO-1.0000deboostworse
awayKCbatter3BNick Loftinworse93645predicted_H-0.8900deboostworse
awayKCbatterDHSalvador Perezworse116556predicted_2B0.8440boostbetter
homeTORpitcherStarterSpencer Arrighettiworse10101predicted_IP-0.4667deboostworse
homeTORpitcherMiddle Reliever (High Leverage)Mason Fluhartyworse10101predicted_IP-0.4667deboostworse
homeTORpitcherMiddle Reliever (High Leverage)Spencer Milesworse10101predicted_IP-0.2333deboostworse
homeTORpitcherCloserLouis Varlandbetter11010predicted_IP0.1000boostbetter

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

Away Team: KC

Away Pitcher Deep Analysis

FieldValue
PitcherNoah Cameron
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0557
ESPN Rank110
Movement AvailableTrue
Primary Pitch-
Movement Score-0.1719
Avg Velo86.7780
Avg Spin2196.6732
HB Inches0
IVB Inches0
Release Extension0
Pre IP6.1000
Pre ER1
Pre H4
Pre BB3
Pre SO5
Season ERA4.0186
Season WHIP1.2140
Role Avg IP5.6810
Recent Avg IP7.1330
Last Start IP5
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "KC",
    "games": 133,
    "wins": 59,
    "losses": 74,
    "win_pct": 0.4436,
    "runs_scored": 565.0,
    "runs_allowed": 654.0,
    "run_differential": -89.0,
    "run_differential_per_game": -0.6692,
    "avg_runs_scored": 4.2481,
    "avg_runs_allowed": 4.9173,
    "offense_index": 0.9483,
    "defense_index": 0.911,
    "current_streak": "W9",
    "recent": {
      "games": 10,
      "wins": 9,
      "losses": 1,
      "win_pct": 0.9,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 3.1,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.0099
  },
  "opponent": {
    "team": "TOR",
    "games": 133,
    "wins": 64,
    "losses": 69,
    "win_pct": 0.4812,
    "runs_scored": 524.0,
    "runs_allowed": 581.0,
    "run_differential": -57.0,
    "run_differential_per_game": -0.4286,
    "avg_runs_scored": 3.9398,
    "avg_runs_allowed": 4.3684,
    "offense_index": 0.8795,
    "defense_index": 1.0254,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 3.8,
      "run_differential": 4.0
    },
    "available": true,
    "quality_score": -0.0686
  },
  "edges": {
    "quality_edge": 0.0785,
    "offense_edge": -0.0517,
    "opponent_offense_edge": -0.1205,
    "defense_strength": -0.089,
    "opponent_defense_weakness": -0.0254,
    "recent_win_pct_edge": 0.4
  },
  "player_factors": {
    "ip": 1.0053,
    "run_prevention": 0.9857,
    "strikeout": 1.012
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "702070",
    "profile": {
      "available": true,
      "pitcher_id": "702070",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 575.0,
        "k_percent": 21.3,
        "bb_percent": 7.7,
        "woba": 0.296,
        "xwoba": 0.313,
        "sweet_spot_percent": 37.8,
        "barrel_batted_rate": 7.8,
        "hard_hit_percent": 38.1,
        "avg_best_speed": 78.1913,
        "avg_hyper_speed": 94.0406,
        "whiff_percent": 26.2,
        "swing_percent": 47.7
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.0254,
        "command_and_miss": 0.08,
        "regression_edge": -0.4857,
        "xwoba_edge": -0.0571,
        "barrel_edge": -0.1556,
        "hard_hit_edge": -0.0429,
        "whiff_edge": 0.1429,
        "bb_edge": 0.375,
        "pitch_design_score": -0.1719
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "702070",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 103,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 103,
          "pitch_usage": 0.0,
          "release_speed": 86.77804095392263,
          "release_spin_rate": 2196.6732125022254,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 103,
            "pitch_usage": 0.0,
            "release_speed": 86.77804095392263,
            "release_spin_rate": 2196.6732125022254,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 86.778,
          "release_spin_rate": 2196.6732,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.1719,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -1.2279,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": -0.0557,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0047,
      "strikeout_factor": 1.0017,
      "walk_factor": 0.97,
      "homer_factor": 1.0159,
      "woba_minus_xwoba": -0.017,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "702070",
        "espn_id": 4417208,
        "player_name": "Noah Cameron",
        "team": "KC",
        "role": "pitcher",
        "espn_rank": 110,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 110,
          "gp_value": 25.0,
          "gp_rank": 275,
          "gs_value": 24.0,
          "gs_rank": 48,
          "qs_value": 8.0,
          "qs_rank": 69,
          "era_value": 4.0186,
          "era_rank": 39.0,
          "w_value": 8.0,
          "w_rank": 47,
          "l_value": 8.0,
          "l_rank": 38,
          "sv_value": 0.0,
          "sv_rank": 241,
          "hld_value": 0.0,
          "hld_rank": 331,
          "ip_value": 143.1,
          "ip_rank": 34,
          "h_value": 128.0,
          "h_rank": 36,
          "er_value": 64.0,
          "er_rank": 31,
          "hr_value": 14.0,
          "hr_rank": 85,
          "bb_value": 46.0,
          "bb_rank": 39,
          "k_value": 128.0,
          "k_rank": 43,
          "k_per_9_value": 8.0372095,
          "k_per_9_rank": 34.0,
          "whip_value": 1.2139,
          "whip_rank": 32.0,
          "war_value": 1.47,
          "war_rank": 1.0
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 1.0047,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 4.0,
        "factor": 1.0047,
        "adjusted": 4
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.97,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0159,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 5.0,
        "factor": 1.0017,
        "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": 63.1,
    "ER": 24,
    "H": 44,
    "BB": 24,
    "SO": 53,
    "HR": 6,
    "ERA": 3.4105263157894736,
    "WHIP": 1.0736842105263158,
    "K9": 7.531578947368421,
    "HR9": 0.8526315789473684,
    "games_pitched": 10,
    "quality_starts": 4,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-21T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "702070",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 103,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 103,
    "pitch_usage": 0.0,
    "release_speed": 86.77804095392263,
    "release_spin_rate": 2196.6732125022254,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 103,
      "pitch_usage": 0.0,
      "release_speed": 86.77804095392263,
      "release_spin_rate": 2196.6732125022254,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 86.778,
    "release_spin_rate": 2196.6732,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.1719,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.2279,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": 25.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8333,
    "prior_weight": 0.1667
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "702070",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 25,
  "reference_playing_time": 6.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 35.2,
        "ER": 5.0,
        "R": 5.0,
        "H": 13.0,
        "BB": 9.0,
        "SO": 28.0,
        "HR": 0.0,
        "BF": 127.0,
        "Pitches": 504.0
      },
      "per_game": {
        "IP": 7.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 2.6,
        "BB": 1.8,
        "SO": 5.6,
        "HR": 0.0,
        "BF": 25.4,
        "Pitches": 100.8
      },
      "rates": {
        "ERA": 1.2617,
        "WHIP": 0.6168,
        "ER_per_IP": 0.14019,
        "H_per_IP": 0.36449,
        "BB_per_IP": 0.25234,
        "SO_per_IP": 0.78505,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 63.1,
        "ER": 24.0,
        "R": 24.0,
        "H": 44.0,
        "BB": 24.0,
        "SO": 53.0,
        "HR": 6.0,
        "BF": 251.0,
        "Pitches": 982.0
      },
      "per_game": {
        "IP": 6.1,
        "ER": 2.4,
        "R": 2.4,
        "H": 4.4,
        "BB": 2.4,
        "SO": 5.3,
        "HR": 0.6,
        "BF": 25.1,
        "Pitches": 98.2
      },
      "rates": {
        "ERA": 3.4105,
        "WHIP": 1.0737,
        "ER_per_IP": 0.37895,
        "H_per_IP": 0.69474,
        "BB_per_IP": 0.37895,
        "SO_per_IP": 0.83684,
        "HR_per_IP": 0.09474
      }
    },
    "season": {
      "games": 25,
      "totals": {
        "IP": 143.1,
        "ER": 64.0,
        "R": 69.0,
        "H": 128.0,
        "BB": 46.0,
        "SO": 128.0,
        "HR": 14.0,
        "BF": 600.0,
        "Pitches": 2347.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 2.56,
        "R": 2.76,
        "H": 5.12,
        "BB": 1.84,
        "SO": 5.12,
        "HR": 0.56,
        "BF": 24.0,
        "Pitches": 93.88
      },
      "rates": {
        "ERA": 4.0186,
        "WHIP": 1.214,
        "ER_per_IP": 0.44651,
        "H_per_IP": 0.89302,
        "BB_per_IP": 0.32093,
        "SO_per_IP": 0.89302,
        "HR_per_IP": 0.09767
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 6.1,
    "predicted_ER": 2.077,
    "predicted_H": 4.211,
    "predicted_BB": 2.071,
    "predicted_SO": 5.468,
    "predicted_HR": 0.442,
    "predicted_ERA": 2.8887,
    "predicted_WHIP": 0.9706
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4204,
  "form_weight": 0.5796,
  "form_reliability": 0.8333,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 25.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8333,
    "prior_weight": 0.1667
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 6.1,
      "form": 6.1,
      "final": 6.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 2.077,
      "final": 1.6242,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 4.0,
      "form": 4.211,
      "final": 4.1223,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 3.0,
      "form": 2.071,
      "final": 2.4616,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 4.0,
      "form": 5.468,
      "final": 4.8508,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.442,
      "final": 0.6766,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.8887,
      "final": 2.8887,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9706,
      "final": 0.9706,
      "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
PitcherNate Pearson
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0529
ESPN Rank196
Movement AvailableTrue
Primary Pitch-
Movement Score0.1788
Avg Velo93.0409
Avg Spin2359.3764
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H1
Pre BB0
Pre SO2
Season ERA2.4059
Season WHIP1.2178
Role Avg IP1.0570
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "KC",
    "games": 133,
    "wins": 59,
    "losses": 74,
    "win_pct": 0.4436,
    "runs_scored": 565.0,
    "runs_allowed": 654.0,
    "run_differential": -89.0,
    "run_differential_per_game": -0.6692,
    "avg_runs_scored": 4.2481,
    "avg_runs_allowed": 4.9173,
    "offense_index": 0.9483,
    "defense_index": 0.911,
    "current_streak": "W9",
    "recent": {
      "games": 10,
      "wins": 9,
      "losses": 1,
      "win_pct": 0.9,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 3.1,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.0099
  },
  "opponent": {
    "team": "TOR",
    "games": 133,
    "wins": 64,
    "losses": 69,
    "win_pct": 0.4812,
    "runs_scored": 524.0,
    "runs_allowed": 581.0,
    "run_differential": -57.0,
    "run_differential_per_game": -0.4286,
    "avg_runs_scored": 3.9398,
    "avg_runs_allowed": 4.3684,
    "offense_index": 0.8795,
    "defense_index": 1.0254,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 3.8,
      "run_differential": 4.0
    },
    "available": true,
    "quality_score": -0.0686
  },
  "edges": {
    "quality_edge": 0.0785,
    "offense_edge": -0.0517,
    "opponent_offense_edge": -0.1205,
    "defense_strength": -0.089,
    "opponent_defense_weakness": -0.0254,
    "recent_win_pct_edge": 0.4
  },
  "player_factors": {
    "ip": 1.0053,
    "run_prevention": 0.9857,
    "strikeout": 1.012
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "663878",
    "profile": {
      "available": true,
      "pitcher_id": "663878",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 118.0,
        "k_percent": 20.0,
        "bb_percent": 12.9,
        "woba": 0.278,
        "xwoba": 0.319,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 6.7,
        "hard_hit_percent": 35.6,
        "avg_best_speed": 74.1856,
        "avg_hyper_speed": 93.4921,
        "whiff_percent": 22.0,
        "swing_percent": 45.0
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.2036,
        "command_and_miss": -0.4736,
        "regression_edge": -1.1714,
        "xwoba_edge": -0.2286,
        "barrel_edge": 0.0889,
        "hard_hit_edge": 0.3143,
        "whiff_edge": -0.4571,
        "bb_edge": -0.925,
        "pitch_design_score": 0.1788
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "663878",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 19,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 19,
          "pitch_usage": 0.0,
          "release_speed": 93.04091055640266,
          "release_spin_rate": 2359.3763555654873,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 19,
            "pitch_usage": 0.0,
            "release_speed": 93.04091055640266,
            "release_spin_rate": 2359.3763555654873,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0409,
          "release_spin_rate": 2359.3764,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1788,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.2772,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": -0.0529,
      "sample_weight": 0.472,
      "run_prevention_factor": 1.0045,
      "strikeout_factor": 0.986,
      "walk_factor": 1.0349,
      "homer_factor": 0.9939,
      "woba_minus_xwoba": -0.041,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "663878",
        "espn_id": 39646,
        "player_name": "Nate Pearson",
        "team": "KC",
        "role": "pitcher",
        "espn_rank": 196,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 196,
          "gp_value": 30.0,
          "gp_rank": 206,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 2.4059,
          "era_rank": null,
          "w_value": 2.0,
          "w_rank": 293,
          "l_value": 1.0,
          "l_rank": 403,
          "sv_value": 3.0,
          "sv_rank": 65,
          "hld_value": 4.0,
          "hld_rank": 179,
          "ip_value": 33.2,
          "ip_rank": 385,
          "h_value": 23.0,
          "h_rank": 454,
          "er_value": 9.0,
          "er_rank": 524,
          "hr_value": 1.0,
          "hr_rank": 584,
          "bb_value": 18.0,
          "bb_rank": 301,
          "k_value": 28.0,
          "k_rank": 411,
          "k_per_9_value": 7.4851484,
          "k_per_9_rank": 28.0,
          "whip_value": 1.2178,
          "whip_rank": null,
          "war_value": 0.8,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0021,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0021,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.0165,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9971,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9934,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 9.2,
    "ER": 1,
    "H": 6,
    "BB": 5,
    "SO": 11,
    "HR": 0,
    "ERA": 0.9310344827586208,
    "WHIP": 1.1379310344827587,
    "K9": 10.241379310344827,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "663878",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 19,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 19,
    "pitch_usage": 0.0,
    "release_speed": 93.04091055640266,
    "release_spin_rate": 2359.3763555654873,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 19,
      "pitch_usage": 0.0,
      "release_speed": 93.04091055640266,
      "release_spin_rate": 2359.3763555654873,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0409,
    "release_spin_rate": 2359.3764,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1788,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.2772,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.757,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5747,
    "prior_weight": 0.4253
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "663878",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 30,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 3.0,
        "BB": 3.0,
        "SO": 3.0,
        "HR": 0.0,
        "BF": 23.0,
        "Pitches": 86.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.6,
        "BB": 0.6,
        "SO": 0.6,
        "HR": 0.0,
        "BF": 4.6,
        "Pitches": 17.2
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 1.2,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.6,
        "BB_per_IP": 0.6,
        "SO_per_IP": 0.6,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 6.0,
        "BB": 5.0,
        "SO": 11.0,
        "HR": 0.0,
        "BF": 43.0,
        "Pitches": 166.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.1,
        "H": 0.6,
        "BB": 0.5,
        "SO": 1.1,
        "HR": 0.0,
        "BF": 4.3,
        "Pitches": 16.6
      },
      "rates": {
        "ERA": 0.931,
        "WHIP": 1.1379,
        "ER_per_IP": 0.10345,
        "H_per_IP": 0.62069,
        "BB_per_IP": 0.51724,
        "SO_per_IP": 1.13793,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 30,
      "totals": {
        "IP": 33.2,
        "ER": 9.0,
        "R": 11.0,
        "H": 23.0,
        "BB": 18.0,
        "SO": 28.0,
        "HR": 1.0,
        "BF": 140.0,
        "Pitches": 555.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3,
        "R": 0.3667,
        "H": 0.7667,
        "BB": 0.6,
        "SO": 0.9333,
        "HR": 0.0333,
        "BF": 4.6667,
        "Pitches": 18.5
      },
      "rates": {
        "ERA": 2.4059,
        "WHIP": 1.2178,
        "ER_per_IP": 0.26733,
        "H_per_IP": 0.68317,
        "BB_per_IP": 0.53465,
        "SO_per_IP": 0.83168,
        "HR_per_IP": 0.0297
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.264,
    "predicted_H": 0.773,
    "predicted_BB": 0.477,
    "predicted_SO": 0.882,
    "predicted_HR": 0.066,
    "predicted_ERA": 2.3803,
    "predicted_WHIP": 1.2502
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5297,
  "form_weight": 0.4703,
  "form_reliability": 0.5747,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 6.757,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5747,
    "prior_weight": 0.4253
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.264,
      "final": 0.1242,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.773,
      "final": 0.8932,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.477,
      "final": 0.2243,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 0.882,
      "final": 1.4742,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.066,
      "final": 0.031,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.3803,
      "final": 2.3803,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2502,
      "final": 1.2502,
      "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 Cruz
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0164
ESPN Rank405
Movement AvailableTrue
Primary Pitch-
Movement Score0.2800
Avg Velo95.9746
Avg Spin2189.0093
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA4.4408
Season WHIP1.2434
Role Avg IP1.0510
Recent Avg IP1.0670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "KC",
    "games": 133,
    "wins": 59,
    "losses": 74,
    "win_pct": 0.4436,
    "runs_scored": 565.0,
    "runs_allowed": 654.0,
    "run_differential": -89.0,
    "run_differential_per_game": -0.6692,
    "avg_runs_scored": 4.2481,
    "avg_runs_allowed": 4.9173,
    "offense_index": 0.9483,
    "defense_index": 0.911,
    "current_streak": "W9",
    "recent": {
      "games": 10,
      "wins": 9,
      "losses": 1,
      "win_pct": 0.9,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 3.1,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.0099
  },
  "opponent": {
    "team": "TOR",
    "games": 133,
    "wins": 64,
    "losses": 69,
    "win_pct": 0.4812,
    "runs_scored": 524.0,
    "runs_allowed": 581.0,
    "run_differential": -57.0,
    "run_differential_per_game": -0.4286,
    "avg_runs_scored": 3.9398,
    "avg_runs_allowed": 4.3684,
    "offense_index": 0.8795,
    "defense_index": 1.0254,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 3.8,
      "run_differential": 4.0
    },
    "available": true,
    "quality_score": -0.0686
  },
  "edges": {
    "quality_edge": 0.0785,
    "offense_edge": -0.0517,
    "opponent_offense_edge": -0.1205,
    "defense_strength": -0.089,
    "opponent_defense_weakness": -0.0254,
    "recent_win_pct_edge": 0.4
  },
  "player_factors": {
    "ip": 1.0053,
    "run_prevention": 0.9857,
    "strikeout": 1.012
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "674444",
    "profile": {
      "available": true,
      "pitcher_id": "674444",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 189.0,
        "k_percent": 25.6,
        "bb_percent": 9.0,
        "woba": 0.33,
        "xwoba": 0.318,
        "sweet_spot_percent": 36.0,
        "barrel_batted_rate": 11.0,
        "hard_hit_percent": 36.8,
        "avg_best_speed": 78.0594,
        "avg_hyper_speed": 94.3257,
        "whiff_percent": 27.3,
        "swing_percent": 52.1
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.3007,
        "command_and_miss": 0.3464,
        "regression_edge": 0.3429,
        "xwoba_edge": -0.2,
        "barrel_edge": -0.8667,
        "hard_hit_edge": 0.1429,
        "whiff_edge": 0.3,
        "bb_edge": 0.05,
        "pitch_design_score": 0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "674444",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 12,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 12,
          "pitch_usage": 0.0,
          "release_speed": 95.97455568353733,
          "release_spin_rate": 2189.0092581893387,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 95.97455568353733,
            "release_spin_rate": 2189.0092581893387,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 95.9746,
          "release_spin_rate": 2189.0093,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.0164,
      "sample_weight": 0.756,
      "run_prevention_factor": 1.0014,
      "strikeout_factor": 1.0246,
      "walk_factor": 0.997,
      "homer_factor": 1.0526,
      "woba_minus_xwoba": 0.012,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "674444",
        "espn_id": 5002931,
        "player_name": "Steven Cruz",
        "team": "KC",
        "role": "pitcher",
        "espn_rank": 405,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 405,
          "gp_value": 48.0,
          "gp_rank": 91,
          "gs_value": 2.0,
          "gs_rank": 265,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 4.4407,
          "era_rank": null,
          "w_value": 2.0,
          "w_rank": 293,
          "l_value": 3.0,
          "l_rank": 219,
          "sv_value": 5.0,
          "sv_rank": 41,
          "hld_value": 5.0,
          "hld_rank": 159,
          "ip_value": 50.2,
          "ip_rank": 269,
          "h_value": 44.0,
          "h_rank": 258,
          "er_value": 25.0,
          "er_rank": 216,
          "hr_value": 12.0,
          "hr_rank": 119,
          "bb_value": 19.0,
          "bb_rank": 284,
          "k_value": 54.0,
          "k_rank": 235,
          "k_per_9_value": 9.592105,
          "k_per_9_rank": 23.0,
          "whip_value": 1.2434,
          "whip_rank": null,
          "war_value": 0.09,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 1.0011,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0011,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9977,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0398,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0186,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 10.2,
    "ER": 6,
    "H": 12,
    "BB": 2,
    "SO": 7,
    "HR": 2,
    "ERA": 5.0625,
    "WHIP": 1.3125,
    "K9": 5.90625,
    "HR9": 1.6875,
    "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-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "674444",
  "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": 95.97455568353733,
    "release_spin_rate": 2189.0092581893387,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 95.97455568353733,
      "release_spin_rate": 2189.0092581893387,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 95.9746,
    "release_spin_rate": 2189.0093,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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": 10.168,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6704,
    "prior_weight": 0.3296
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "674444",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 48,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 4.0,
        "R": 4.0,
        "H": 7.0,
        "BB": 1.0,
        "SO": 3.0,
        "HR": 1.0,
        "BF": 22.0,
        "Pitches": 74.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.8,
        "R": 0.8,
        "H": 1.4,
        "BB": 0.2,
        "SO": 0.6,
        "HR": 0.2,
        "BF": 4.4,
        "Pitches": 14.8
      },
      "rates": {
        "ERA": 6.75,
        "WHIP": 1.5,
        "ER_per_IP": 0.75,
        "H_per_IP": 1.3125,
        "BB_per_IP": 0.1875,
        "SO_per_IP": 0.5625,
        "HR_per_IP": 0.1875
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.2,
        "ER": 6.0,
        "R": 6.0,
        "H": 12.0,
        "BB": 2.0,
        "SO": 7.0,
        "HR": 2.0,
        "BF": 45.0,
        "Pitches": 164.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 1.2,
        "BB": 0.2,
        "SO": 0.7,
        "HR": 0.2,
        "BF": 4.5,
        "Pitches": 16.4
      },
      "rates": {
        "ERA": 5.0625,
        "WHIP": 1.3125,
        "ER_per_IP": 0.5625,
        "H_per_IP": 1.125,
        "BB_per_IP": 0.1875,
        "SO_per_IP": 0.65625,
        "HR_per_IP": 0.1875
      }
    },
    "season": {
      "games": 48,
      "totals": {
        "IP": 50.2,
        "ER": 25.0,
        "R": 26.0,
        "H": 44.0,
        "BB": 19.0,
        "SO": 54.0,
        "HR": 12.0,
        "BF": 211.0,
        "Pitches": 795.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.5208,
        "R": 0.5417,
        "H": 0.9167,
        "BB": 0.3958,
        "SO": 1.125,
        "HR": 0.25,
        "BF": 4.3958,
        "Pitches": 16.5625
      },
      "rates": {
        "ERA": 4.4408,
        "WHIP": 1.2434,
        "ER_per_IP": 0.49342,
        "H_per_IP": 0.86842,
        "BB_per_IP": 0.375,
        "SO_per_IP": 1.06579,
        "HR_per_IP": 0.23684
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.589,
    "predicted_H": 1.098,
    "predicted_BB": 0.272,
    "predicted_SO": 0.778,
    "predicted_HR": 0.181,
    "predicted_ERA": 5.3049,
    "predicted_WHIP": 1.3697
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4893,
  "form_weight": 0.5107,
  "form_reliability": 0.6704,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.168,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6704,
    "prior_weight": 0.3296
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.589,
      "final": 0.3008,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.098,
      "final": 0.5608,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.272,
      "final": 0.1389,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.778,
      "final": 0.3974,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.181,
      "final": 0.0924,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.3049,
      "final": 5.3049,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3697,
      "final": 1.3697,
      "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
PitcherJohn Schreiber
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.2282
ESPN Rank323
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0240
Avg Velo89.4194
Avg Spin2317.9946
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.2000
Pre ER3
Pre H5
Pre BB2
Pre SO2
Season ERA3.7241
Season WHIP1.3034
Role Avg IP0.8950
Recent Avg IP0.8670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "KC",
    "games": 133,
    "wins": 59,
    "losses": 74,
    "win_pct": 0.4436,
    "runs_scored": 565.0,
    "runs_allowed": 654.0,
    "run_differential": -89.0,
    "run_differential_per_game": -0.6692,
    "avg_runs_scored": 4.2481,
    "avg_runs_allowed": 4.9173,
    "offense_index": 0.9483,
    "defense_index": 0.911,
    "current_streak": "W9",
    "recent": {
      "games": 10,
      "wins": 9,
      "losses": 1,
      "win_pct": 0.9,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 3.1,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.0099
  },
  "opponent": {
    "team": "TOR",
    "games": 133,
    "wins": 64,
    "losses": 69,
    "win_pct": 0.4812,
    "runs_scored": 524.0,
    "runs_allowed": 581.0,
    "run_differential": -57.0,
    "run_differential_per_game": -0.4286,
    "avg_runs_scored": 3.9398,
    "avg_runs_allowed": 4.3684,
    "offense_index": 0.8795,
    "defense_index": 1.0254,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 3.8,
      "run_differential": 4.0
    },
    "available": true,
    "quality_score": -0.0686
  },
  "edges": {
    "quality_edge": 0.0785,
    "offense_edge": -0.0517,
    "opponent_offense_edge": -0.1205,
    "defense_strength": -0.089,
    "opponent_defense_weakness": -0.0254,
    "recent_win_pct_edge": 0.4
  },
  "player_factors": {
    "ip": 1.0053,
    "run_prevention": 0.9857,
    "strikeout": 1.012
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "670167",
    "profile": {
      "available": true,
      "pitcher_id": "670167",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 183.0,
        "k_percent": 18.0,
        "bb_percent": 11.0,
        "woba": 0.316,
        "xwoba": 0.328,
        "sweet_spot_percent": 37.6,
        "barrel_batted_rate": 6.4,
        "hard_hit_percent": 40.4,
        "avg_best_speed": 77.5793,
        "avg_hyper_speed": 94.1656,
        "whiff_percent": 21.7,
        "swing_percent": 43.1
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.2497,
        "command_and_miss": -0.5221,
        "regression_edge": -0.3429,
        "xwoba_edge": -0.4857,
        "barrel_edge": 0.1556,
        "hard_hit_edge": -0.3714,
        "whiff_edge": -0.5,
        "bb_edge": -0.45,
        "pitch_design_score": -0.024
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "670167",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 13,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 13,
          "pitch_usage": 0.0,
          "release_speed": 89.41939490940352,
          "release_spin_rate": 2317.99463971711,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 13,
            "pitch_usage": 0.0,
            "release_speed": 89.41939490940352,
            "release_spin_rate": 2317.99463971711,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.4194,
          "release_spin_rate": 2317.9946,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.024,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.1714,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": -0.2282,
      "sample_weight": 0.732,
      "run_prevention_factor": 1.0194,
      "strikeout_factor": 0.9686,
      "walk_factor": 1.0264,
      "homer_factor": 1.0124,
      "woba_minus_xwoba": -0.012,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "670167",
        "espn_id": 39949,
        "player_name": "John Schreiber",
        "team": "KC",
        "role": "pitcher",
        "espn_rank": 323,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 323,
          "gp_value": 54.0,
          "gp_rank": 48,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 3.7241,
          "era_rank": null,
          "w_value": 1.0,
          "w_rank": 387,
          "l_value": 3.0,
          "l_rank": 219,
          "sv_value": 1.0,
          "sv_rank": 128,
          "hld_value": 14.0,
          "hld_rank": 35,
          "ip_value": 48.1,
          "ip_rank": 283,
          "h_value": 41.0,
          "h_rank": 288,
          "er_value": 20.0,
          "er_rank": 289,
          "hr_value": 7.0,
          "hr_rank": 212,
          "bb_value": 22.0,
          "bb_rank": 233,
          "k_value": 36.0,
          "k_rank": 355,
          "k_per_9_value": 6.7034483,
          "k_per_9_rank": 33.0,
          "whip_value": 1.3034,
          "whip_rank": null,
          "war_value": 0.23,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0142,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0142,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0193,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0091,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.977,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 8.0,
    "ER": 3,
    "H": 2,
    "BB": 6,
    "SO": 7,
    "HR": 0,
    "ERA": 3.3750000000000004,
    "WHIP": 1.0000000000000002,
    "K9": 7.875000000000001,
    "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-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "670167",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 13,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 13,
    "pitch_usage": 0.0,
    "release_speed": 89.41939490940352,
    "release_spin_rate": 2317.99463971711,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 13,
      "pitch_usage": 0.0,
      "release_speed": 89.41939490940352,
      "release_spin_rate": 2317.99463971711,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.4194,
    "release_spin_rate": 2317.9946,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.024,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.1714,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.7,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6599,
    "prior_weight": 0.3401
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "670167",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 54,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 1.0,
        "BB": 1.0,
        "SO": 3.0,
        "HR": 0.0,
        "BF": 15.0,
        "Pitches": 64.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.2,
        "BB": 0.2,
        "SO": 0.6,
        "HR": 0.0,
        "BF": 3.0,
        "Pitches": 12.8
      },
      "rates": {
        "ERA": 4.1538,
        "WHIP": 0.4615,
        "ER_per_IP": 0.46154,
        "H_per_IP": 0.23077,
        "BB_per_IP": 0.23077,
        "SO_per_IP": 0.69231,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 2.0,
        "BB": 6.0,
        "SO": 7.0,
        "HR": 0.0,
        "BF": 32.0,
        "Pitches": 142.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.3,
        "R": 0.3,
        "H": 0.2,
        "BB": 0.6,
        "SO": 0.7,
        "HR": 0.0,
        "BF": 3.2,
        "Pitches": 14.2
      },
      "rates": {
        "ERA": 3.375,
        "WHIP": 1.0,
        "ER_per_IP": 0.375,
        "H_per_IP": 0.25,
        "BB_per_IP": 0.75,
        "SO_per_IP": 0.875,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 54,
      "totals": {
        "IP": 48.1,
        "ER": 20.0,
        "R": 23.0,
        "H": 41.0,
        "BB": 22.0,
        "SO": 36.0,
        "HR": 7.0,
        "BF": 200.0,
        "Pitches": 812.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3704,
        "R": 0.4259,
        "H": 0.7593,
        "BB": 0.4074,
        "SO": 0.6667,
        "HR": 0.1296,
        "BF": 3.7037,
        "Pitches": 15.037
      },
      "rates": {
        "ERA": 3.7241,
        "WHIP": 1.3034,
        "ER_per_IP": 0.41379,
        "H_per_IP": 0.84828,
        "BB_per_IP": 0.45517,
        "SO_per_IP": 0.74483,
        "HR_per_IP": 0.14483
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.363,
    "predicted_H": 0.461,
    "predicted_BB": 0.346,
    "predicted_SO": 0.67,
    "predicted_HR": 0.056,
    "predicted_ERA": 4.0371,
    "predicted_WHIP": 0.9966
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4937,
  "form_weight": 0.5063,
  "form_reliability": 0.6599,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.7,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6599,
    "prior_weight": 0.3401
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 3.0,
      "form": 0.363,
      "final": 1.6649,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 5.0,
      "form": 0.461,
      "final": 2.7019,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 0.346,
      "final": 1.1626,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 3.0,
      "form": 0.67,
      "final": 1.8203,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.056,
      "final": 0.522,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.0371,
      "final": 4.0371,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9966,
      "final": 0.9966,
      "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."
}
Jac Caglianone (695506) · BATTER · RF · Team KC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 461
All-history rows before 20260827: 461
System season_avg: 0.2740
Data season_avg (2026 season-to-date): 0.2754
Diff (system - data): -0.0014
System opponent_avg: 0.2920

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1921.0001.000Hitting_2B0.2000.0000.8001.000
predicted_3B0.0170.0000.000Hitting_3B0.0170.000-0.0170.000
predicted_AB4.5205.0005.000Hitting_AB3.7964.0001.2041.000
predicted_AVG0.2670.4000.200Hitting_AVG0.2750.0000.1250.400
predicted_BB0.2330.0000.000Hitting_BB0.2650.000-0.2650.000
predicted_CS-0.0000.000BaseRunning_CS0.0070.000-0.0070.000
predicted_H1.2102.0001.000Hitting_H1.0460.0000.9542.000
predicted_HR0.1600.0000.000Hitting_HR0.2020.000-0.2020.000
predicted_OBP0.3360.4000.200Hitting_OBP0.3290.0000.0710.400
predicted_R0.4921.0001.000Hitting_R0.5510.0000.4491.000
predicted_RBI0.5800.0001.000Hitting_RBI0.5600.000-0.5600.000
predicted_SLG0.4770.6000.400Hitting_SLG0.4970.0000.1030.600
predicted_SO1.0170.0001.000Hitting_SO1.0542.000-1.054-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics6
Worse Metrics5
Biggest Boostpredicted_2B: 0.1920 -> 1.0000 (boost 0.8080, better)
Biggest Deboostpredicted_SO: 1.0170 -> 0.0000 (deboost -1.0170, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43131predicted_AVG: 0.2670 -> 0.2880 (boost 0.0210, better)predicted_AB: 4.5200 -> 4.1258 (deboost -0.3942, worse)Final model input calibrated 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.4843 -> 0.4519 (deboost -0.0324, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72525predicted_AB: 4.1258 -> 5.0000 (boost 0.8742, better)predicted_BB: 0.2124 -> 0.0000 (deboost -0.2124, worse)AB rounded to 5 (raw=4.52), rates preserved: AVG=0.263 HR/AB=0.032
5consistency_constraints11010predicted_R: 0.5257 -> 1.0000 (boost 0.4743, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context40404-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference42231predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.4120 -> 0.4519 (boost 0.0399, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "695506",
  "player_name": "Jac Caglianone",
  "position": "RF",
  "team": "KC",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.192,
        "predicted_3B": 0.017,
        "predicted_AB": 4.52,
        "predicted_AVG": 0.267,
        "predicted_BB": 0.233,
        "predicted_H": 1.21,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.336,
        "predicted_R": 0.492,
        "predicted_RBI": 0.58,
        "predicted_SLG": 0.477,
        "predicted_SO": 1.017
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2093,
        "predicted_3B": 0.014,
        "predicted_AB": 4.1258,
        "predicted_AVG": 0.288,
        "predicted_BB": 0.2123,
        "predicted_H": 1.1789,
        "predicted_HBP": 0.082,
        "predicted_HR": 0.147,
        "predicted_OBP": 0.3475,
        "predicted_R": 0.5179,
        "predicted_RBI": 0.5614,
        "predicted_SLG": 0.4843,
        "predicted_SO": 0.9937
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.192,
          "after": 0.2093,
          "delta": 0.0173,
          "percent_delta": 0.0901,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.017,
          "after": 0.014,
          "delta": -0.003,
          "percent_delta": -0.1765,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.52,
          "after": 4.1258,
          "delta": -0.3942,
          "percent_delta": -0.0872,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.267,
          "after": 0.288,
          "delta": 0.021,
          "percent_delta": 0.0787,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.233,
          "after": 0.2123,
          "delta": -0.0207,
          "percent_delta": -0.0888,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.21,
          "after": 1.1789,
          "delta": -0.0311,
          "percent_delta": -0.0257,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.16,
          "after": 0.147,
          "delta": -0.013,
          "percent_delta": -0.0813,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.336,
          "after": 0.3475,
          "delta": 0.0115,
          "percent_delta": 0.0342,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.492,
          "after": 0.5179,
          "delta": 0.0259,
          "percent_delta": 0.0526,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.58,
          "after": 0.5614,
          "delta": -0.0186,
          "percent_delta": -0.0321,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.477,
          "after": 0.4843,
          "delta": 0.0073,
          "percent_delta": 0.0153,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.017,
          "after": 0.9937,
          "delta": -0.0233,
          "percent_delta": -0.0229,
          "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.267,
          "after": 0.288,
          "delta": 0.021,
          "percent_delta": 0.0787,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.52,
          "after": 4.1258,
          "delta": -0.3942,
          "percent_delta": -0.0872,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.2093,
        "predicted_3B": 0.014,
        "predicted_AB": 4.1258,
        "predicted_AVG": 0.288,
        "predicted_BB": 0.2124,
        "predicted_H": 1.1882,
        "predicted_HBP": 0.082,
        "predicted_HR": 0.1463,
        "predicted_OBP": 0.3229,
        "predicted_R": 0.5257,
        "predicted_RBI": 0.5698,
        "predicted_SLG": 0.4519,
        "predicted_SO": 0.9934
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2093,
          "after": 0.2093,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.014,
          "after": 0.014,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1258,
          "after": 4.1258,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.288,
          "after": 0.288,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2123,
          "after": 0.2124,
          "delta": 0.0001,
          "percent_delta": 0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1789,
          "after": 1.1882,
          "delta": 0.0093,
          "percent_delta": 0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.082,
          "after": 0.082,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.147,
          "after": 0.1463,
          "delta": -0.0007,
          "percent_delta": -0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3475,
          "after": 0.3229,
          "delta": -0.0246,
          "percent_delta": -0.0708,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5179,
          "after": 0.5257,
          "delta": 0.0078,
          "percent_delta": 0.0151,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5614,
          "after": 0.5698,
          "delta": 0.0084,
          "percent_delta": 0.015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4843,
          "after": 0.4519,
          "delta": -0.0324,
          "percent_delta": -0.0669,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9937,
          "after": 0.9934,
          "delta": -0.0003,
          "percent_delta": -0.0003,
          "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.4843,
          "after": 0.4519,
          "delta": -0.0324,
          "percent_delta": -0.0669,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=4.52), rates preserved: AVG=0.263 HR/AB=0.032",
      "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.2093,
          "after": 0.0,
          "delta": -0.2093,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.014,
          "after": 0.0,
          "delta": -0.014,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1258,
          "after": 5.0,
          "delta": 0.8742,
          "percent_delta": 0.2119,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2124,
          "after": 0.0,
          "delta": -0.2124,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1882,
          "after": 1.0,
          "delta": -0.1882,
          "percent_delta": -0.1584,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.082,
          "after": 0.0,
          "delta": -0.082,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1463,
          "after": 0.0,
          "delta": -0.1463,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5698,
          "after": 1.0,
          "delta": 0.4302,
          "percent_delta": 0.755,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9934,
          "after": 1.0,
          "delta": 0.0066,
          "percent_delta": 0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.1258,
          "after": 5.0,
          "delta": 0.8742,
          "percent_delta": 0.2119,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2124,
          "after": 0.0,
          "delta": -0.2124,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5257,
          "after": 1.0,
          "delta": 0.4743,
          "percent_delta": 0.9022,
          "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.5257,
          "after": 1.0,
          "delta": 0.4743,
          "percent_delta": 0.9022,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "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_SO",
          "before": 1.0,
          "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_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": 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.263,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.302,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.412,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.288,
          "after": 0.263,
          "delta": -0.025,
          "percent_delta": -0.0868,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3229,
          "after": 0.302,
          "delta": -0.0209,
          "percent_delta": -0.0647,
          "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.4519,
          "after": 0.412,
          "delta": -0.0399,
          "percent_delta": -0.0883,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 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_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.288,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3229,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4519,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.263,
          "after": 0.288,
          "delta": 0.025,
          "percent_delta": 0.095,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.302,
          "after": 0.3229,
          "delta": 0.0209,
          "percent_delta": 0.069,
          "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.412,
          "after": 0.4519,
          "delta": 0.0399,
          "percent_delta": 0.0968,
          "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.412,
          "after": 0.4519,
          "delta": 0.0399,
          "percent_delta": 0.0968,
          "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.192,
        "after": 1.0,
        "delta": 0.808,
        "percent_delta": 4.2083,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.017,
        "after": 0.0,
        "delta": -0.017,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.52,
        "after": 5.0,
        "delta": 0.48,
        "percent_delta": 0.1062,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.267,
        "after": 0.288,
        "delta": 0.021,
        "percent_delta": 0.0787,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.233,
        "after": 0.0,
        "delta": -0.233,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.21,
        "after": 2.0,
        "delta": 0.79,
        "percent_delta": 0.6529,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.336,
        "after": 0.3229,
        "delta": -0.0131,
        "percent_delta": -0.039,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.492,
        "after": 1.0,
        "delta": 0.508,
        "percent_delta": 1.0325,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.58,
        "after": 0.0,
        "delta": -0.58,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.477,
        "after": 0.4519,
        "delta": -0.0251,
        "percent_delta": -0.0526,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.017,
        "after": 0.0,
        "delta": -1.017,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 6,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_2B",
        "before": 0.192,
        "after": 1.0,
        "delta": 0.808,
        "percent_delta": 4.2083,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.017,
        "after": 0.0,
        "delta": -1.017,
        "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.192-
predicted_3B0.017-
predicted_AB4.520-
predicted_AVG0.267-
predicted_BB0.233-
predicted_H1.210-
predicted_HR0.160-
predicted_OBP0.336-
predicted_R0.492-
predicted_RBI0.580-
predicted_SLG0.477-
predicted_SO1.017-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2090.017
predicted_3B0.014-0.003
predicted_AB4.126-0.394
predicted_AVG0.2880.021
predicted_BB0.212-0.021
predicted_H1.179-0.031
predicted_HBP0.082-
predicted_HR0.147-0.013
predicted_OBP0.3470.011
predicted_R0.5180.026
predicted_RBI0.561-0.019
predicted_SLG0.4840.007
predicted_SO0.994-0.023
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2090.000
predicted_3B0.0140.000
predicted_AB4.1260.000
predicted_AVG0.2880.000
predicted_BB0.2120.000
predicted_H1.1880.009
predicted_HBP0.0820.000
predicted_HR0.146-0.001
predicted_OBP0.323-0.025
predicted_R0.5260.008
predicted_RBI0.5700.008
predicted_SLG0.452-0.032
predicted_SO0.993-0.000
4. ab_floor_and_scaling

AB rounded to 5 (raw=4.52), rates preserved: AVG=0.263 HR/AB=0.032

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI1.0000.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.209
predicted_3B0.000-0.014
predicted_AB5.0000.874
predicted_AVG0.263-0.025
predicted_BB0.000-0.212
predicted_H1.000-0.188
predicted_HR0.000-0.146
predicted_OBP0.302-0.021
predicted_R1.0000.474
predicted_RBI1.0000.430
predicted_SLG0.412-0.040
predicted_SO1.0000.007
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 120
Reference playing time: 4.520
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0007.0002.0000.0000.0002.0003.0000.0005.0000.38890.42110.50000.38890.00000.11110.00000.2778
last_100.2010-36.00014.0002.0000.0001.0008.0007.0002.0008.0000.38890.43590.52780.38890.02780.22220.05560.2222
season0.60120-431.000118.00023.0002.00022.00060.00059.00028.000122.0000.27380.32470.48960.27380.05100.13920.06500.2831
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2320
predicted_3B0.0100
predicted_AB3.6080
predicted_AVG0.3155
predicted_BB0.1850
predicted_H1.1380
predicted_HBP0.0820
predicted_HR0.1300
predicted_OBP0.3625
predicted_R0.5520
predicted_RBI0.5370
predicted_SLG0.4938
predicted_SO0.9630
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19200.23200.2093model_form_blend
predicted_3B0.01700.01000.0140model_form_blend
predicted_AB4.52003.60804.1258model_form_blend
predicted_AVG0.26700.31550.2880model_form_blend
predicted_BB0.23300.18500.2123model_form_blend
predicted_H1.21001.13801.1789model_form_blend
predicted_HBP-0.08200.0820form_only
predicted_HR0.16000.13000.1470model_form_blend
predicted_OBP0.33600.36250.3475model_form_blend
predicted_R0.49200.55200.5179model_form_blend
predicted_RBI0.58000.53700.5614model_form_blend
predicted_SLG0.47700.49380.4843model_form_blend
predicted_SO1.01700.96300.9937model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_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_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260826_KC@TOR
game_typefull
mlbID695506
playerID695506
playerNameJac Caglianone
posRF
startedTrue
startingPositionRF
teamKC
teamID12
game_date2026-08-26
sl_k_percent26.0
sl_bb_percent5.9
sl_woba0.359
sl_xwoba0.361
sl_xba0.283
sl_xslg0.513
sl_sweet_spot_percent34.2
sl_barrel_batted_rate14.2
sl_hard_hit_percent54.8
sl_exit_velocity_avg93.2
sl_launch_angle_avg8.0
sl_whiff_percent29.2
sl_swing_percent54.1
Vinnie Pasquantino (686469) · BATTER · 1B · Team KC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 358
All-history rows before 20260827: 358
System season_avg: 0.2460
Data season_avg (2026 season-to-date): 0.2396
Diff (system - data): 0.0064
System opponent_avg: 0.2460

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1740.0001.000Hitting_2B0.1560.000-0.1560.000
predicted_3B0.0230.0000.000Hitting_3B0.0250.000-0.0250.000
predicted_AB3.6865.0004.000Hitting_AB3.7774.0001.2231.000
predicted_AVG0.2620.2000.250Hitting_AVG0.2400.000-0.0400.200
predicted_BB0.4880.0001.000Hitting_BB0.5280.000-0.5280.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9601.0001.000Hitting_H0.9050.0000.0951.000
predicted_HR0.1200.0000.000Hitting_HR0.0950.000-0.0950.000
predicted_OBP0.3620.2000.400Hitting_OBP0.3320.000-0.1320.200
predicted_R0.4650.0001.000Hitting_R0.4860.000-0.4860.000
predicted_RBI0.4100.0000.000Hitting_RBI0.4550.000-0.4550.000
predicted_SLG0.4360.2000.500Hitting_SLG0.3700.000-0.1700.200
predicted_SO0.6742.0000.000Hitting_SO0.7260.0001.2742.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics4
Deboosted Metrics5
Better Metrics3
Worse Metrics6
Biggest Boostpredicted_SO: 0.6740 -> 2.0000 (boost 1.3260, worse)
Biggest Deboostpredicted_BB: 0.4880 -> 0.0000 (deboost -0.4880, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32130predicted_SLG: 0.4360 -> 0.4525 (boost 0.0165, better)predicted_SO: 0.6740 -> 0.5773 (deboost -0.0967, better)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot20202-predicted_SLG: 0.4525 -> 0.4435 (deboost -0.0090, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling63324predicted_BB: 0.5087 -> 1.0000 (boost 0.4913, better)predicted_RBI: 0.4327 -> 0.0000 (deboost -0.4327, worse)AB rounded to 4 (raw=3.69), rates preserved: AVG=0.270 HR/AB=0.034
5consistency_constraints11010predicted_R: 0.5036 -> 1.0000 (boost 0.4964, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation21120predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context21102predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference42213predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "686469",
  "player_name": "Vinnie Pasquantino",
  "position": "1B",
  "team": "KC",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.174,
        "predicted_3B": 0.023,
        "predicted_AB": 3.686,
        "predicted_AVG": 0.262,
        "predicted_BB": 0.488,
        "predicted_H": 0.96,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.362,
        "predicted_R": 0.465,
        "predicted_RBI": 0.41,
        "predicted_SLG": 0.436,
        "predicted_SO": 0.674
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2112,
        "predicted_3B": 0.0191,
        "predicted_AB": 3.6603,
        "predicted_AVG": 0.2703,
        "predicted_BB": 0.5085,
        "predicted_H": 0.9861,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.1273,
        "predicted_OBP": 0.3668,
        "predicted_R": 0.4962,
        "predicted_RBI": 0.4263,
        "predicted_SLG": 0.4525,
        "predicted_SO": 0.5773
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.174,
          "after": 0.2112,
          "delta": 0.0372,
          "percent_delta": 0.2138,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.023,
          "after": 0.0191,
          "delta": -0.0039,
          "percent_delta": -0.1696,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.686,
          "after": 3.6603,
          "delta": -0.0257,
          "percent_delta": -0.007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.262,
          "after": 0.2703,
          "delta": 0.0083,
          "percent_delta": 0.0317,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.488,
          "after": 0.5085,
          "delta": 0.0205,
          "percent_delta": 0.042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.96,
          "after": 0.9861,
          "delta": 0.0261,
          "percent_delta": 0.0272,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1273,
          "delta": 0.0073,
          "percent_delta": 0.0608,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.362,
          "after": 0.3668,
          "delta": 0.0048,
          "percent_delta": 0.0133,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.465,
          "after": 0.4962,
          "delta": 0.0312,
          "percent_delta": 0.0671,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.41,
          "after": 0.4263,
          "delta": 0.0163,
          "percent_delta": 0.0398,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.436,
          "after": 0.4525,
          "delta": 0.0165,
          "percent_delta": 0.0378,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.674,
          "after": 0.5773,
          "delta": -0.0967,
          "percent_delta": -0.1435,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.436,
          "after": 0.4525,
          "delta": 0.0165,
          "percent_delta": 0.0378,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.674,
          "after": 0.5773,
          "delta": -0.0967,
          "percent_delta": -0.1435,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 86
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2112,
        "predicted_3B": 0.0191,
        "predicted_AB": 3.6603,
        "predicted_AVG": 0.2715,
        "predicted_BB": 0.5087,
        "predicted_H": 0.9939,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.1267,
        "predicted_OBP": 0.3604,
        "predicted_R": 0.5036,
        "predicted_RBI": 0.4327,
        "predicted_SLG": 0.4435,
        "predicted_SO": 0.5771
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2112,
          "after": 0.2112,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0191,
          "after": 0.0191,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6603,
          "after": 3.6603,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2703,
          "after": 0.2715,
          "delta": 0.0012,
          "percent_delta": 0.0044,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5085,
          "after": 0.5087,
          "delta": 0.0002,
          "percent_delta": 0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9861,
          "after": 0.9939,
          "delta": 0.0078,
          "percent_delta": 0.0079,
          "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.1273,
          "after": 0.1267,
          "delta": -0.0006,
          "percent_delta": -0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3668,
          "after": 0.3604,
          "delta": -0.0064,
          "percent_delta": -0.0174,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4962,
          "after": 0.5036,
          "delta": 0.0074,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4263,
          "after": 0.4327,
          "delta": 0.0064,
          "percent_delta": 0.015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4525,
          "after": 0.4435,
          "delta": -0.009,
          "percent_delta": -0.0199,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5773,
          "after": 0.5771,
          "delta": -0.0002,
          "percent_delta": -0.0003,
          "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.4525,
          "after": 0.4435,
          "delta": -0.009,
          "percent_delta": -0.0199,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.69), rates preserved: AVG=0.270 HR/AB=0.034",
      "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.2112,
          "after": 0.0,
          "delta": -0.2112,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0191,
          "after": 0.0,
          "delta": -0.0191,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6603,
          "after": 4.0,
          "delta": 0.3397,
          "percent_delta": 0.0928,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5087,
          "after": 1.0,
          "delta": 0.4913,
          "percent_delta": 0.9658,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9939,
          "after": 1.0,
          "delta": 0.0061,
          "percent_delta": 0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.015,
          "after": 0.0,
          "delta": -0.015,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1267,
          "after": 0.0,
          "delta": -0.1267,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4327,
          "after": 0.0,
          "delta": -0.4327,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5771,
          "after": 1.0,
          "delta": 0.4229,
          "percent_delta": 0.7328,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.5087,
          "after": 1.0,
          "delta": 0.4913,
          "percent_delta": 0.9658,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4327,
          "after": 0.0,
          "delta": -0.4327,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5036,
          "after": 1.0,
          "delta": 0.4964,
          "percent_delta": 0.9857,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.5036,
          "after": 1.0,
          "delta": 0.4964,
          "percent_delta": 0.9857,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 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": 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_R",
          "before": 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_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": 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.27,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.363,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.44,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2715,
          "after": 0.27,
          "delta": -0.0015,
          "percent_delta": -0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3604,
          "after": 0.363,
          "delta": 0.0026,
          "percent_delta": 0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4435,
          "after": 0.44,
          "delta": -0.0035,
          "percent_delta": -0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2715,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3604,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4435,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.27,
          "after": 0.2715,
          "delta": 0.0015,
          "percent_delta": 0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.363,
          "after": 0.3604,
          "delta": -0.0026,
          "percent_delta": -0.0071,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.44,
          "after": 0.4435,
          "delta": 0.0035,
          "percent_delta": 0.008,
          "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": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.174,
        "after": 0.0,
        "delta": -0.174,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.023,
        "after": 0.0,
        "delta": -0.023,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.686,
        "after": 5.0,
        "delta": 1.314,
        "percent_delta": 0.3565,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.262,
        "after": 0.2715,
        "delta": 0.0095,
        "percent_delta": 0.0363,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.488,
        "after": 0.0,
        "delta": -0.488,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.96,
        "after": 1.0,
        "delta": 0.04,
        "percent_delta": 0.0417,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.362,
        "after": 0.3604,
        "delta": -0.0016,
        "percent_delta": -0.0044,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.465,
        "after": 0.0,
        "delta": -0.465,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.41,
        "after": 0.0,
        "delta": -0.41,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.436,
        "after": 0.4435,
        "delta": 0.0075,
        "percent_delta": 0.0172,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.674,
        "after": 2.0,
        "delta": 1.326,
        "percent_delta": 1.9674,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 4,
      "deboosted_metrics": 5,
      "better_metrics": 3,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.674,
        "after": 2.0,
        "delta": 1.326,
        "percent_delta": 1.9674,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.488,
        "after": 0.0,
        "delta": -0.488,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.174-
predicted_3B0.023-
predicted_AB3.686-
predicted_AVG0.262-
predicted_BB0.488-
predicted_H0.960-
predicted_HR0.120-
predicted_OBP0.362-
predicted_R0.465-
predicted_RBI0.410-
predicted_SLG0.436-
predicted_SO0.674-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2110.037
predicted_3B0.019-0.004
predicted_AB3.660-0.026
predicted_AVG0.2700.008
predicted_BB0.5080.020
predicted_H0.9860.026
predicted_HBP0.015-
predicted_HR0.1270.007
predicted_OBP0.3670.005
predicted_R0.4960.031
predicted_RBI0.4260.016
predicted_SLG0.4530.017
predicted_SO0.577-0.097
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2110.000
predicted_3B0.0190.000
predicted_AB3.6600.000
predicted_AVG0.2720.001
predicted_BB0.5090.000
predicted_H0.9940.008
predicted_HBP0.0150.000
predicted_HR0.127-0.001
predicted_OBP0.360-0.006
predicted_R0.5040.007
predicted_RBI0.4330.006
predicted_SLG0.444-0.009
predicted_SO0.577-0.000
4. ab_floor_and_scaling

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

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. 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
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI0.0000.000
SO0.000-1.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.211
predicted_3B0.000-0.019
predicted_AB4.0000.340
predicted_AVG0.270-0.002
predicted_BB1.0000.491
predicted_H1.0000.006
predicted_HR0.000-0.127
predicted_OBP0.3630.003
predicted_R1.0000.496
predicted_RBI0.000-0.433
predicted_SLG0.440-0.004
predicted_SO1.0000.423
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 86
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0005.0002.0000.0001.0002.0003.0004.0000.0000.29410.42860.58820.29410.05880.11770.23530.0000
last_100.2010-36.00014.0004.0000.0002.0005.0007.0005.0001.0000.38890.46340.66670.38890.05560.13890.13890.0278
season0.6086-317.00078.00015.0002.0008.00038.00040.00042.00058.0000.24610.33420.38170.24610.02520.11990.13250.1830
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2610
predicted_3B0.0140
predicted_AB3.6260
predicted_AVG0.2815
predicted_BB0.5360
predicted_H1.0210
predicted_HBP0.0150
predicted_HR0.1370
predicted_OBP0.3733
predicted_R0.5380
predicted_RBI0.4480
predicted_SLG0.4745
predicted_SO0.4480
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17400.26100.2112model_form_blend
predicted_3B0.02300.01400.0191model_form_blend
predicted_AB3.68603.62603.6603model_form_blend
predicted_AVG0.26200.28150.2703model_form_blend
predicted_BB0.48800.53600.5085model_form_blend
predicted_H0.96001.02100.9861model_form_blend
predicted_HBP-0.01500.0150form_only
predicted_HR0.12000.13700.1273model_form_blend
predicted_OBP0.36200.37330.3668model_form_blend
predicted_R0.46500.53800.4962model_form_blend
predicted_RBI0.41000.44800.4263model_form_blend
predicted_SLG0.43600.47450.4525model_form_blend
predicted_SO0.67400.44800.5773model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260826_KC@TOR
game_typefull
mlbID686469
playerID686469
playerNameVinnie Pasquantino
pos1B
startedTrue
startingPosition1B
teamKC
teamID12
game_date2026-08-26
sl_k_percent16.0
sl_bb_percent11.3
sl_woba0.317
sl_xwoba0.328
sl_xba0.251
sl_xslg0.412
sl_sweet_spot_percent34.8
sl_barrel_batted_rate7.6
sl_hard_hit_percent41.6
sl_exit_velocity_avg89.6
sl_launch_angle_avg19.9
sl_whiff_percent15.6
sl_swing_percent45.7
Bobby Witt Jr. (677951) · BATTER · SS · Team KC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 484
All-history rows before 20260827: 484
System season_avg: 0.2850
Data season_avg (2026 season-to-date): 0.2856
Diff (system - data): -0.0006
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.2300.0000.000Hitting_2B0.2420.000-0.2420.000
predicted_3B0.0090.0000.000Hitting_3B0.0100.000-0.0100.000
predicted_AB4.4804.0004.000Hitting_AB3.9943.0000.0061.000
predicted_AVG0.2680.0000.250Hitting_AVG0.2860.333-0.286-0.333
predicted_BB0.4601.0000.000Hitting_BB0.4901.0000.5100.000
predicted_CS-0.0000.000BaseRunning_CS0.0640.000-0.0640.000
predicted_H1.2000.0001.000Hitting_H1.1401.000-1.140-1.000
predicted_HR0.1900.0000.000Hitting_HR0.1340.000-0.1340.000
predicted_OBP0.3800.2000.250Hitting_OBP0.3640.500-0.164-0.300
predicted_R0.6370.0001.000Hitting_R0.6400.000-0.6400.000
predicted_RBI0.4700.0000.000Hitting_RBI0.4440.000-0.4440.000
predicted_SLG0.4750.0000.250Hitting_SLG0.4520.333-0.452-0.333
predicted_SO0.7882.0001.000Hitting_SO0.8201.0001.1801.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics3
Deboosted Metrics8
Better Metrics2
Worse Metrics9
Biggest Boostpredicted_SO: 0.7880 -> 2.0000 (boost 1.2120, worse)
Biggest Deboostpredicted_H: 1.2000 -> 0.0000 (deboost -1.2000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_AVG: 0.2680 -> 0.2774 (boost 0.0094, better)predicted_AB: 4.4800 -> 4.2126 (deboost -0.2674, worse)Final model input calibrated 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.3806 -> 0.3557 (deboost -0.0249, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling71607predicted_SO: 0.8164 -> 1.0000 (boost 0.1836, worse)predicted_BB: 0.5035 -> 0.0000 (deboost -0.5035, worse)AB rounded to 4 (raw=4.48), rates preserved: AVG=0.262 HR/AB=0.042
5consistency_constraints11010predicted_R: 0.6875 -> 1.0000 (boost 0.3125, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context30303-predicted_SLG: 0.4621 -> 0.4350 (deboost -0.0271, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference42213predicted_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
9current_json_final33030predicted_SLG: 0.4350 -> 0.4621 (boost 0.0271, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "677951",
  "player_name": "Bobby Witt Jr.",
  "position": "SS",
  "team": "KC",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.23,
        "predicted_3B": 0.009,
        "predicted_AB": 4.48,
        "predicted_AVG": 0.268,
        "predicted_BB": 0.46,
        "predicted_H": 1.2,
        "predicted_HR": 0.19,
        "predicted_OBP": 0.38,
        "predicted_R": 0.637,
        "predicted_RBI": 0.47,
        "predicted_SLG": 0.475,
        "predicted_SO": 0.788
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local 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.0077,
        "predicted_AB": 4.2126,
        "predicted_AVG": 0.2774,
        "predicted_BB": 0.5033,
        "predicted_H": 1.1649,
        "predicted_HBP": 0.031,
        "predicted_HR": 0.187,
        "predicted_OBP": 0.3806,
        "predicted_R": 0.6773,
        "predicted_RBI": 0.4457,
        "predicted_SLG": 0.4752,
        "predicted_SO": 0.8166
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.23,
          "after": 0.1988,
          "delta": -0.0312,
          "percent_delta": -0.1357,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.009,
          "after": 0.0077,
          "delta": -0.0013,
          "percent_delta": -0.1444,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.48,
          "after": 4.2126,
          "delta": -0.2674,
          "percent_delta": -0.0597,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.268,
          "after": 0.2774,
          "delta": 0.0094,
          "percent_delta": 0.0351,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.46,
          "after": 0.5033,
          "delta": 0.0433,
          "percent_delta": 0.0941,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.2,
          "after": 1.1649,
          "delta": -0.0351,
          "percent_delta": -0.0292,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.19,
          "after": 0.187,
          "delta": -0.003,
          "percent_delta": -0.0158,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.38,
          "after": 0.3806,
          "delta": 0.0006,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.637,
          "after": 0.6773,
          "delta": 0.0403,
          "percent_delta": 0.0633,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.47,
          "after": 0.4457,
          "delta": -0.0243,
          "percent_delta": -0.0517,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.475,
          "after": 0.4752,
          "delta": 0.0002,
          "percent_delta": 0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.788,
          "after": 0.8166,
          "delta": 0.0286,
          "percent_delta": 0.0363,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.268,
          "after": 0.2774,
          "delta": 0.0094,
          "percent_delta": 0.0351,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.48,
          "after": 4.2126,
          "delta": -0.2674,
          "percent_delta": -0.0597,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 113
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1988,
        "predicted_3B": 0.0077,
        "predicted_AB": 4.2126,
        "predicted_AVG": 0.2787,
        "predicted_BB": 0.5035,
        "predicted_H": 1.1741,
        "predicted_HBP": 0.031,
        "predicted_HR": 0.1861,
        "predicted_OBP": 0.3557,
        "predicted_R": 0.6875,
        "predicted_RBI": 0.4524,
        "predicted_SLG": 0.4621,
        "predicted_SO": 0.8164
      },
      "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.0077,
          "after": 0.0077,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2126,
          "after": 4.2126,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2774,
          "after": 0.2787,
          "delta": 0.0013,
          "percent_delta": 0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5033,
          "after": 0.5035,
          "delta": 0.0002,
          "percent_delta": 0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1649,
          "after": 1.1741,
          "delta": 0.0092,
          "percent_delta": 0.0079,
          "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.187,
          "after": 0.1861,
          "delta": -0.0009,
          "percent_delta": -0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3806,
          "after": 0.3557,
          "delta": -0.0249,
          "percent_delta": -0.0654,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6773,
          "after": 0.6875,
          "delta": 0.0102,
          "percent_delta": 0.0151,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4457,
          "after": 0.4524,
          "delta": 0.0067,
          "percent_delta": 0.015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4752,
          "after": 0.4621,
          "delta": -0.0131,
          "percent_delta": -0.0276,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8166,
          "after": 0.8164,
          "delta": -0.0002,
          "percent_delta": -0.0002,
          "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.3806,
          "after": 0.3557,
          "delta": -0.0249,
          "percent_delta": -0.0654,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.48), rates preserved: AVG=0.262 HR/AB=0.042",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1988,
          "after": 0.0,
          "delta": -0.1988,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0077,
          "after": 0.0,
          "delta": -0.0077,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2126,
          "after": 4.0,
          "delta": -0.2126,
          "percent_delta": -0.0505,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5035,
          "after": 0.0,
          "delta": -0.5035,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1741,
          "after": 1.0,
          "delta": -0.1741,
          "percent_delta": -0.1483,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.031,
          "after": 0.0,
          "delta": -0.031,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1861,
          "after": 0.0,
          "delta": -0.1861,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4524,
          "after": 0.0,
          "delta": -0.4524,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8164,
          "after": 1.0,
          "delta": 0.1836,
          "percent_delta": 0.2249,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.8164,
          "after": 1.0,
          "delta": 0.1836,
          "percent_delta": 0.2249,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.5035,
          "after": 0.0,
          "delta": -0.5035,
          "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.6875,
          "after": 1.0,
          "delta": 0.3125,
          "percent_delta": 0.4545,
          "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.6875,
          "after": 1.0,
          "delta": 0.3125,
          "percent_delta": 0.4545,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.262,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.342,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.435,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2787,
          "after": 0.262,
          "delta": -0.0167,
          "percent_delta": -0.0599,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3557,
          "after": 0.342,
          "delta": -0.0137,
          "percent_delta": -0.0385,
          "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.4621,
          "after": 0.435,
          "delta": -0.0271,
          "percent_delta": -0.0586,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.4621,
          "after": 0.435,
          "delta": -0.0271,
          "percent_delta": -0.0586,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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.2787,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3557,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4621,
        "predicted_SO": 2.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.262,
          "after": 0.2787,
          "delta": 0.0167,
          "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_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.342,
          "after": 0.3557,
          "delta": 0.0137,
          "percent_delta": 0.0401,
          "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.435,
          "after": 0.4621,
          "delta": 0.0271,
          "percent_delta": 0.0623,
          "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.435,
          "after": 0.4621,
          "delta": 0.0271,
          "percent_delta": 0.0623,
          "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.23,
        "after": 0.0,
        "delta": -0.23,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.009,
        "after": 0.0,
        "delta": -0.009,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.48,
        "after": 4.0,
        "delta": -0.48,
        "percent_delta": -0.1071,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.268,
        "after": 0.2787,
        "delta": 0.0107,
        "percent_delta": 0.0399,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.46,
        "after": 1.0,
        "delta": 0.54,
        "percent_delta": 1.1739,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.2,
        "after": 0.0,
        "delta": -1.2,
        "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.38,
        "after": 0.3557,
        "delta": -0.0243,
        "percent_delta": -0.0639,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.637,
        "after": 0.0,
        "delta": -0.637,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.47,
        "after": 0.0,
        "delta": -0.47,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.475,
        "after": 0.4621,
        "delta": -0.0129,
        "percent_delta": -0.0272,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.788,
        "after": 2.0,
        "delta": 1.212,
        "percent_delta": 1.5381,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.788,
        "after": 2.0,
        "delta": 1.212,
        "percent_delta": 1.5381,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.2,
        "after": 0.0,
        "delta": -1.2,
        "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.230-
predicted_3B0.009-
predicted_AB4.480-
predicted_AVG0.268-
predicted_BB0.460-
predicted_H1.200-
predicted_HR0.190-
predicted_OBP0.380-
predicted_R0.637-
predicted_RBI0.470-
predicted_SLG0.475-
predicted_SO0.788-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.031
predicted_3B0.008-0.001
predicted_AB4.213-0.267
predicted_AVG0.2770.009
predicted_BB0.5030.043
predicted_H1.165-0.035
predicted_HBP0.031-
predicted_HR0.187-0.003
predicted_OBP0.3810.001
predicted_R0.6770.040
predicted_RBI0.446-0.024
predicted_SLG0.4750.000
predicted_SO0.8170.029
3. team_form_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.0080.000
predicted_AB4.2130.000
predicted_AVG0.2790.001
predicted_BB0.5030.000
predicted_H1.1740.009
predicted_HBP0.0310.000
predicted_HR0.186-0.001
predicted_OBP0.356-0.025
predicted_R0.6880.010
predicted_RBI0.4520.007
predicted_SLG0.462-0.013
predicted_SO0.816-0.000
4. ab_floor_and_scaling

AB rounded to 4 (raw=4.48), rates preserved: AVG=0.262 HR/AB=0.042

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI0.0000.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.199
predicted_3B0.000-0.008
predicted_AB4.000-0.213
predicted_AVG0.262-0.017
predicted_BB0.000-0.503
predicted_H1.000-0.174
predicted_HR0.000-0.186
predicted_OBP0.342-0.014
predicted_R1.0000.312
predicted_RBI0.000-0.452
predicted_SLG0.435-0.027
predicted_SO1.0000.184
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
BB1.0001.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R0.000-1.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 113
Reference playing time: 4.480
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0006.0000.0000.0001.0001.0004.0004.0005.0000.31580.43480.47370.31580.05260.05260.21050.2632
last_100.2010-38.00011.0001.0000.0003.0006.00010.0007.0009.0000.28950.41300.55260.28950.07900.15790.18420.2368
season0.60113-442.000126.00026.0001.00016.00047.00072.00052.00089.0000.28510.36070.45700.28510.03620.10630.11770.2014
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1580
predicted_3B0.0060
predicted_AB3.8630
predicted_AVG0.2896
predicted_BB0.5600
predicted_H1.1190
predicted_HBP0.0310
predicted_HR0.1830
predicted_OBP0.3814
predicted_R0.7300
predicted_RBI0.4140
predicted_SLG0.4754
predicted_SO0.8540
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.23000.15800.1988model_form_blend
predicted_3B0.00900.00600.0077model_form_blend
predicted_AB4.48003.86304.2126model_form_blend
predicted_AVG0.26800.28960.2774model_form_blend
predicted_BB0.46000.56000.5033model_form_blend
predicted_H1.20001.11901.1649model_form_blend
predicted_HBP-0.03100.0310form_only
predicted_HR0.19000.18300.1870model_form_blend
predicted_OBP0.38000.38140.3806model_form_blend
predicted_R0.63700.73000.6773model_form_blend
predicted_RBI0.47000.41400.4457model_form_blend
predicted_SLG0.47500.47540.4752model_form_blend
predicted_SO0.78800.85400.8166model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB1
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
allPositionsPlayedSS
gameID20260826_KC@TOR
game_typefull
mlbID677951
playerID677951
playerNameBobby Witt Jr.
posSS
startedTrue
startingPositionSS
teamKC
teamID12
game_date2026-08-26
sl_k_percent17.3
sl_bb_percent10.4
sl_woba0.351
sl_xwoba0.382
sl_xba0.303
sl_xslg0.511
sl_sweet_spot_percent36.7
sl_barrel_batted_rate11.8
sl_hard_hit_percent51.2
sl_exit_velocity_avg92.3
sl_launch_angle_avg16.8
sl_whiff_percent24.5
sl_swing_percent47.6
Salvador Perez (521692) · BATTER · DH · Team KC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 497
All-history rows before 20260827: 497
System season_avg: 0.2240
Data season_avg (2026 season-to-date): 0.2248
Diff (system - data): -0.0008
System opponent_avg: 0.2120

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1561.0000.000Hitting_2B0.1590.0000.8411.000
predicted_3B0.0080.0000.000Hitting_3B0.0100.000-0.0100.000
predicted_AB4.6805.0005.000Hitting_AB3.8854.0001.1151.000
predicted_AVG0.2520.4000.200Hitting_AVG0.2250.0000.1750.400
predicted_BB0.1640.0000.000Hitting_BB0.1850.000-0.1850.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.1802.0001.000Hitting_H0.8730.0001.1272.000
predicted_HR0.1500.0000.000Hitting_HR0.1470.000-0.1470.000
predicted_OBP0.3140.4000.200Hitting_OBP0.2750.0000.1250.400
predicted_R0.3771.0000.000Hitting_R0.4000.0000.6001.000
predicted_RBI0.7000.0001.000Hitting_RBI0.4890.000-0.4890.000
predicted_SLG0.4170.6000.200Hitting_SLG0.3840.0000.2160.600
predicted_SO0.8111.0001.000Hitting_SO0.8172.0000.183-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_2B: 0.1560 -> 1.0000 (boost 0.8440, better)
Biggest Deboostpredicted_RBI: 0.7000 -> 0.0000 (deboost -0.7000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend52323predicted_AVG: 0.2520 -> 0.2616 (boost 0.0096, better)predicted_AB: 4.6800 -> 4.3075 (deboost -0.3725, worse)Final model input calibrated 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.3147 -> 0.2910 (deboost -0.0237, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling83526predicted_AB: 4.3075 -> 5.0000 (boost 0.6925, better)predicted_BB: 0.1728 -> 0.0000 (deboost -0.1728, worse)AB rounded to 5 (raw=4.68), rates preserved: AVG=0.242 HR/AB=0.031
5bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
6consistency_constraints10101-predicted_R: 0.4302 -> 0.0000 (deboost -0.4302, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context30303-predicted_SLG: 0.4053 -> 0.3650 (deboost -0.0403, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference43131predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
10current_json_final33030predicted_SLG: 0.3650 -> 0.4053 (boost 0.0403, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "521692",
  "player_name": "Salvador Perez",
  "position": "DH",
  "team": "KC",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.156,
        "predicted_3B": 0.008,
        "predicted_AB": 4.68,
        "predicted_AVG": 0.252,
        "predicted_BB": 0.164,
        "predicted_H": 1.18,
        "predicted_HR": 0.15,
        "predicted_OBP": 0.314,
        "predicted_R": 0.377,
        "predicted_RBI": 0.7,
        "predicted_SLG": 0.417,
        "predicted_SO": 0.811
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1638,
        "predicted_3B": 0.0067,
        "predicted_AB": 4.3075,
        "predicted_AVG": 0.2616,
        "predicted_BB": 0.1727,
        "predicted_H": 1.1223,
        "predicted_HBP": 0.057,
        "predicted_HR": 0.1465,
        "predicted_OBP": 0.3147,
        "predicted_R": 0.4238,
        "predicted_RBI": 0.6497,
        "predicted_SLG": 0.4245,
        "predicted_SO": 0.7776
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.156,
          "after": 0.1638,
          "delta": 0.0078,
          "percent_delta": 0.05,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.008,
          "after": 0.0067,
          "delta": -0.0013,
          "percent_delta": -0.1625,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.68,
          "after": 4.3075,
          "delta": -0.3725,
          "percent_delta": -0.0796,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.252,
          "after": 0.2616,
          "delta": 0.0096,
          "percent_delta": 0.0381,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.164,
          "after": 0.1727,
          "delta": 0.0087,
          "percent_delta": 0.053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.18,
          "after": 1.1223,
          "delta": -0.0577,
          "percent_delta": -0.0489,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.15,
          "after": 0.1465,
          "delta": -0.0035,
          "percent_delta": -0.0233,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.314,
          "after": 0.3147,
          "delta": 0.0007,
          "percent_delta": 0.0022,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.377,
          "after": 0.4238,
          "delta": 0.0468,
          "percent_delta": 0.1241,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7,
          "after": 0.6497,
          "delta": -0.0503,
          "percent_delta": -0.0719,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.417,
          "after": 0.4245,
          "delta": 0.0075,
          "percent_delta": 0.018,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.811,
          "after": 0.7776,
          "delta": -0.0334,
          "percent_delta": -0.0412,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.252,
          "after": 0.2616,
          "delta": 0.0096,
          "percent_delta": 0.0381,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.68,
          "after": 4.3075,
          "delta": -0.3725,
          "percent_delta": -0.0796,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 122
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1638,
        "predicted_3B": 0.0067,
        "predicted_AB": 4.3075,
        "predicted_AVG": 0.2626,
        "predicted_BB": 0.1728,
        "predicted_H": 1.1312,
        "predicted_HBP": 0.057,
        "predicted_HR": 0.1458,
        "predicted_OBP": 0.291,
        "predicted_R": 0.4302,
        "predicted_RBI": 0.6594,
        "predicted_SLG": 0.4053,
        "predicted_SO": 0.7774
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1638,
          "after": 0.1638,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0067,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3075,
          "after": 4.3075,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2616,
          "after": 0.2626,
          "delta": 0.001,
          "percent_delta": 0.0038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1727,
          "after": 0.1728,
          "delta": 0.0001,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1223,
          "after": 1.1312,
          "delta": 0.0089,
          "percent_delta": 0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.057,
          "after": 0.057,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1465,
          "after": 0.1458,
          "delta": -0.0007,
          "percent_delta": -0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3147,
          "after": 0.291,
          "delta": -0.0237,
          "percent_delta": -0.0753,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4238,
          "after": 0.4302,
          "delta": 0.0064,
          "percent_delta": 0.0151,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6497,
          "after": 0.6594,
          "delta": 0.0097,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4245,
          "after": 0.4053,
          "delta": -0.0192,
          "percent_delta": -0.0452,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7776,
          "after": 0.7774,
          "delta": -0.0002,
          "percent_delta": -0.0003,
          "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.3147,
          "after": 0.291,
          "delta": -0.0237,
          "percent_delta": -0.0753,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=4.68), rates preserved: AVG=0.242 HR/AB=0.031",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1638,
          "after": 0.0,
          "delta": -0.1638,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0,
          "delta": -0.0067,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3075,
          "after": 5.0,
          "delta": 0.6925,
          "percent_delta": 0.1608,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1728,
          "after": 0.0,
          "delta": -0.1728,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1312,
          "after": 1.0,
          "delta": -0.1312,
          "percent_delta": -0.116,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.057,
          "after": 0.0,
          "delta": -0.057,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1458,
          "after": 0.0,
          "delta": -0.1458,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6594,
          "after": 1.0,
          "delta": 0.3406,
          "percent_delta": 0.5165,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7774,
          "after": 1.0,
          "delta": 0.2226,
          "percent_delta": 0.2863,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.3075,
          "after": 5.0,
          "delta": 0.6925,
          "percent_delta": 0.1608,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.1728,
          "after": 0.0,
          "delta": -0.1728,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.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": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4302,
          "after": 0.0,
          "delta": -0.4302,
          "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.4302,
          "after": 0.0,
          "delta": -0.4302,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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_R",
          "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": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "embedded_savant_player_context",
      "description": "Player 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.239,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.271,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.365,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.2626,
          "after": 0.239,
          "delta": -0.0236,
          "percent_delta": -0.0899,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.291,
          "after": 0.271,
          "delta": -0.02,
          "percent_delta": -0.0687,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "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.4053,
          "after": 0.365,
          "delta": -0.0403,
          "percent_delta": -0.0994,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.4053,
          "after": 0.365,
          "delta": -0.0403,
          "percent_delta": -0.0994,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 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_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2626,
        "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.291,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4053,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.239,
          "after": 0.2626,
          "delta": 0.0236,
          "percent_delta": 0.0988,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.271,
          "after": 0.291,
          "delta": 0.02,
          "percent_delta": 0.0739,
          "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.365,
          "after": 0.4053,
          "delta": 0.0403,
          "percent_delta": 0.1104,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.365,
          "after": 0.4053,
          "delta": 0.0403,
          "percent_delta": 0.1104,
          "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.156,
        "after": 1.0,
        "delta": 0.844,
        "percent_delta": 5.4103,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.008,
        "after": 0.0,
        "delta": -0.008,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.68,
        "after": 5.0,
        "delta": 0.32,
        "percent_delta": 0.0684,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.252,
        "after": 0.2626,
        "delta": 0.0106,
        "percent_delta": 0.0421,
        "direction": "boost",
        "projection_effect": "better",
        "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": 1.18,
        "after": 2.0,
        "delta": 0.82,
        "percent_delta": 0.6949,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.15,
        "after": 0.0,
        "delta": -0.15,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.314,
        "after": 0.291,
        "delta": -0.023,
        "percent_delta": -0.0732,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.377,
        "after": 1.0,
        "delta": 0.623,
        "percent_delta": 1.6525,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.7,
        "after": 0.0,
        "delta": -0.7,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.417,
        "after": 0.4053,
        "delta": -0.0117,
        "percent_delta": -0.0281,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.811,
        "after": 1.0,
        "delta": 0.189,
        "percent_delta": 0.233,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_2B",
        "before": 0.156,
        "after": 1.0,
        "delta": 0.844,
        "percent_delta": 5.4103,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.7,
        "after": 0.0,
        "delta": -0.7,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "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.008-
predicted_AB4.680-
predicted_AVG0.252-
predicted_BB0.164-
predicted_H1.180-
predicted_HR0.150-
predicted_OBP0.314-
predicted_R0.377-
predicted_RBI0.700-
predicted_SLG0.417-
predicted_SO0.811-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1640.008
predicted_3B0.007-0.001
predicted_AB4.308-0.372
predicted_AVG0.2620.010
predicted_BB0.1730.009
predicted_H1.122-0.058
predicted_HBP0.057-
predicted_HR0.146-0.004
predicted_OBP0.3150.001
predicted_R0.4240.047
predicted_RBI0.650-0.050
predicted_SLG0.4240.008
predicted_SO0.778-0.033
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1640.000
predicted_3B0.0070.000
predicted_AB4.3080.000
predicted_AVG0.2630.001
predicted_BB0.1730.000
predicted_H1.1310.009
predicted_HBP0.0570.000
predicted_HR0.146-0.001
predicted_OBP0.291-0.024
predicted_R0.4300.006
predicted_RBI0.6590.010
predicted_SLG0.405-0.019
predicted_SO0.777-0.000
4. ab_floor_and_scaling

AB rounded to 5 (raw=4.68), rates preserved: AVG=0.242 HR/AB=0.031

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI1.0000.000
SO1.0000.000
8. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.164
predicted_3B0.000-0.007
predicted_AB5.0000.692
predicted_AVG0.239-0.024
predicted_BB0.000-0.173
predicted_H1.000-0.131
predicted_HR0.000-0.146
predicted_OBP0.271-0.020
predicted_R0.000-0.430
predicted_RBI1.0000.341
predicted_SLG0.365-0.040
predicted_SO1.0000.223
9. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA5.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: 122
Reference playing time: 4.680
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0008.0001.0000.0001.0004.0004.0001.0003.0000.40000.42860.60000.40000.05000.20000.05000.1500
last_100.2010-36.00011.0002.0000.0001.0007.0005.0002.0006.0000.30560.34210.44440.30560.02780.19440.05560.1667
season0.60122-468.000105.00019.0001.00017.00059.00046.00020.00099.0000.22440.27020.37820.22440.03630.12610.04270.2115
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1740
predicted_3B0.0050
predicted_AB3.8210
predicted_AVG0.2742
predicted_BB0.1840
predicted_H1.0470
predicted_HBP0.0570
predicted_HR0.1420
predicted_OBP0.3156
predicted_R0.4850
predicted_RBI0.5840
predicted_SLG0.4342
predicted_SO0.7340
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15600.17400.1638model_form_blend
predicted_3B0.00800.00500.0067model_form_blend
predicted_AB4.68003.82104.3075model_form_blend
predicted_AVG0.25200.27420.2616model_form_blend
predicted_BB0.16400.18400.1727model_form_blend
predicted_H1.18001.04701.1223model_form_blend
predicted_HBP-0.05700.0570form_only
predicted_HR0.15000.14200.1465model_form_blend
predicted_OBP0.31400.31560.3147model_form_blend
predicted_R0.37700.48500.4238model_form_blend
predicted_RBI0.70000.58400.6497model_form_blend
predicted_SLG0.41700.43420.4245model_form_blend
predicted_SO0.81100.73400.7776model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H2
2B1
3B0
HR0
R1
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260826_KC@TOR
game_typefull
mlbID521692
playerID521692
playerNameSalvador Perez
posDH
startedTrue
startingPositionDH
teamKC
teamID12
game_date2026-08-26
sl_k_percent19.8
sl_bb_percent3.7
sl_woba0.278
sl_xwoba0.303
sl_xba0.238
sl_xslg0.418
sl_sweet_spot_percent34.2
sl_barrel_batted_rate9.9
sl_hard_hit_percent42.3
sl_exit_velocity_avg88.8
sl_launch_angle_avg15.7
sl_whiff_percent25.3
sl_swing_percent56.9
John Rave (670231) · BATTER · LF · Team KC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 73
All-history rows before 20260827: 73
System season_avg: 0.2320
Data season_avg (2026 season-to-date): 0.2392
Diff (system - data): -0.0072
System opponent_avg: 0.2320

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2000.0000.000Hitting_2B0.2190.000-0.2190.000
predicted_3B0.0401.0000.000Hitting_3B0.0680.0000.9321.000
predicted_AB2.7604.0003.000Hitting_AB2.8634.0001.1370.000
predicted_AVG0.2320.2500.333Hitting_AVG0.2390.2500.0110.000
predicted_BB0.2401.0000.000Hitting_BB0.2470.0000.7531.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6401.0001.000Hitting_H0.6851.0000.3150.000
predicted_HR0.1200.0000.000Hitting_HR0.1370.000-0.1370.000
predicted_OBP0.2930.4000.333Hitting_OBP0.3000.2500.1000.150
predicted_R0.5201.0001.000Hitting_R0.5620.0000.4381.000
predicted_RBI0.3200.0000.000Hitting_RBI0.2880.000-0.2880.000
predicted_SLG0.4640.7500.333Hitting_SLG0.5070.2500.2430.500
predicted_SO0.6800.0001.000Hitting_SO0.6580.000-0.6580.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics5
Deboosted Metrics5
Better Metrics6
Worse Metrics4
Biggest Boostpredicted_AB: 2.7600 -> 4.0000 (boost 1.2400, better)
Biggest Deboostpredicted_SO: 0.6800 -> 0.0000 (deboost -0.6800, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32121predicted_AB: 2.7600 -> 2.9256 (boost 0.1656, better)predicted_SLG: 0.4640 -> 0.4531 (deboost -0.0109, worse)Final model input calibrated 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.6916 -> 1.0000 (boost 0.3084, better)predicted_RBI: 0.3992 -> 0.0000 (deboost -0.3992, worse)AB rounded to 3 (raw=2.93), rates preserved: AVG=0.236 HR/AB=0.042
5consistency_constraints11010predicted_R: 0.5725 -> 1.0000 (boost 0.4275, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context11010predicted_OBP: 0.2976 -> 0.3030 (boost 0.0054, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference43140predicted_3B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
9current_json_final10101-predicted_OBP: 0.3030 -> 0.2976 (deboost -0.0054, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "670231",
  "player_name": "John Rave",
  "position": "LF",
  "team": "KC",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.2,
        "predicted_3B": 0.04,
        "predicted_AB": 2.76,
        "predicted_AVG": 0.232,
        "predicted_BB": 0.24,
        "predicted_H": 0.64,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.293,
        "predicted_R": 0.52,
        "predicted_RBI": 0.32,
        "predicted_SLG": 0.464,
        "predicted_SO": 0.68
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1941,
        "predicted_3B": 0.0341,
        "predicted_AB": 2.9256,
        "predicted_AVG": 0.2344,
        "predicted_BB": 0.255,
        "predicted_H": 0.6862,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.1248,
        "predicted_OBP": 0.2963,
        "predicted_R": 0.564,
        "predicted_RBI": 0.3933,
        "predicted_SLG": 0.4531,
        "predicted_SO": 0.7122
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2,
          "after": 0.1941,
          "delta": -0.0059,
          "percent_delta": -0.0295,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.04,
          "after": 0.0341,
          "delta": -0.0059,
          "percent_delta": -0.1475,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.76,
          "after": 2.9256,
          "delta": 0.1656,
          "percent_delta": 0.06,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.232,
          "after": 0.2344,
          "delta": 0.0024,
          "percent_delta": 0.0103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.24,
          "after": 0.255,
          "delta": 0.015,
          "percent_delta": 0.0625,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.64,
          "after": 0.6862,
          "delta": 0.0462,
          "percent_delta": 0.0722,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1248,
          "delta": 0.0048,
          "percent_delta": 0.04,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.293,
          "after": 0.2963,
          "delta": 0.0033,
          "percent_delta": 0.0113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.52,
          "after": 0.564,
          "delta": 0.044,
          "percent_delta": 0.0846,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.32,
          "after": 0.3933,
          "delta": 0.0733,
          "percent_delta": 0.2291,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.464,
          "after": 0.4531,
          "delta": -0.0109,
          "percent_delta": -0.0235,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.68,
          "after": 0.7122,
          "delta": 0.0322,
          "percent_delta": 0.0474,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.76,
          "after": 2.9256,
          "delta": 0.1656,
          "percent_delta": 0.06,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.464,
          "after": 0.4531,
          "delta": -0.0109,
          "percent_delta": -0.0235,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 25
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1941,
        "predicted_3B": 0.0341,
        "predicted_AB": 2.9256,
        "predicted_AVG": 0.2364,
        "predicted_BB": 0.2551,
        "predicted_H": 0.6916,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.1242,
        "predicted_OBP": 0.2976,
        "predicted_R": 0.5725,
        "predicted_RBI": 0.3992,
        "predicted_SLG": 0.4534,
        "predicted_SO": 0.712
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1941,
          "after": 0.1941,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0341,
          "after": 0.0341,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9256,
          "after": 2.9256,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2344,
          "after": 0.2364,
          "delta": 0.002,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.255,
          "after": 0.2551,
          "delta": 0.0001,
          "percent_delta": 0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6862,
          "after": 0.6916,
          "delta": 0.0054,
          "percent_delta": 0.0079,
          "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.1248,
          "after": 0.1242,
          "delta": -0.0006,
          "percent_delta": -0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2963,
          "after": 0.2976,
          "delta": 0.0013,
          "percent_delta": 0.0044,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.564,
          "after": 0.5725,
          "delta": 0.0085,
          "percent_delta": 0.0151,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3933,
          "after": 0.3992,
          "delta": 0.0059,
          "percent_delta": 0.015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4531,
          "after": 0.4534,
          "delta": 0.0003,
          "percent_delta": 0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.7122,
          "after": 0.712,
          "delta": -0.0002,
          "percent_delta": -0.0003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.93), rates preserved: AVG=0.236 HR/AB=0.042",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1941,
          "after": 0.0,
          "delta": -0.1941,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0341,
          "after": 0.0,
          "delta": -0.0341,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9256,
          "after": 3.0,
          "delta": 0.0744,
          "percent_delta": 0.0254,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2551,
          "after": 0.0,
          "delta": -0.2551,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6916,
          "after": 1.0,
          "delta": 0.3084,
          "percent_delta": 0.4459,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.008,
          "after": 0.0,
          "delta": -0.008,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1242,
          "after": 0.0,
          "delta": -0.1242,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3992,
          "after": 0.0,
          "delta": -0.3992,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.712,
          "after": 1.0,
          "delta": 0.288,
          "percent_delta": 0.4045,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.6916,
          "after": 1.0,
          "delta": 0.3084,
          "percent_delta": 0.4459,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3992,
          "after": 0.0,
          "delta": -0.3992,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5725,
          "after": 1.0,
          "delta": 0.4275,
          "percent_delta": 0.7467,
          "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.5725,
          "after": 1.0,
          "delta": 0.4275,
          "percent_delta": 0.7467,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.236,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.303,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.453,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2364,
          "after": 0.236,
          "delta": -0.0004,
          "percent_delta": -0.0017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2976,
          "after": 0.303,
          "delta": 0.0054,
          "percent_delta": 0.0181,
          "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.4534,
          "after": 0.453,
          "delta": -0.0004,
          "percent_delta": -0.0009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2976,
          "after": 0.303,
          "delta": 0.0054,
          "percent_delta": 0.0181,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 1.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 1.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2364,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.2976,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4534,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "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.236,
          "after": 0.2364,
          "delta": 0.0004,
          "percent_delta": 0.0017,
          "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.303,
          "after": 0.2976,
          "delta": -0.0054,
          "percent_delta": -0.0177,
          "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.453,
          "after": 0.4534,
          "delta": 0.0004,
          "percent_delta": 0.0009,
          "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_OBP",
          "before": 0.303,
          "after": 0.2976,
          "delta": -0.0054,
          "percent_delta": -0.0177,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.2,
        "after": 0.0,
        "delta": -0.2,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.04,
        "after": 1.0,
        "delta": 0.96,
        "percent_delta": 24.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.76,
        "after": 4.0,
        "delta": 1.24,
        "percent_delta": 0.4493,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.232,
        "after": 0.2364,
        "delta": 0.0044,
        "percent_delta": 0.019,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.24,
        "after": 1.0,
        "delta": 0.76,
        "percent_delta": 3.1667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.64,
        "after": 1.0,
        "delta": 0.36,
        "percent_delta": 0.5625,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.293,
        "after": 0.2976,
        "delta": 0.0046,
        "percent_delta": 0.0157,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.52,
        "after": 1.0,
        "delta": 0.48,
        "percent_delta": 0.9231,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.32,
        "after": 0.0,
        "delta": -0.32,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.464,
        "after": 0.4534,
        "delta": -0.0106,
        "percent_delta": -0.0228,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.68,
        "after": 0.0,
        "delta": -0.68,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 5,
      "deboosted_metrics": 5,
      "better_metrics": 6,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.76,
        "after": 4.0,
        "delta": 1.24,
        "percent_delta": 0.4493,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.68,
        "after": 0.0,
        "delta": -0.68,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.200-
predicted_3B0.040-
predicted_AB2.760-
predicted_AVG0.232-
predicted_BB0.240-
predicted_H0.640-
predicted_HR0.120-
predicted_OBP0.293-
predicted_R0.520-
predicted_RBI0.320-
predicted_SLG0.464-
predicted_SO0.680-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.194-0.006
predicted_3B0.034-0.006
predicted_AB2.9260.166
predicted_AVG0.2340.002
predicted_BB0.2550.015
predicted_H0.6860.046
predicted_HBP0.008-
predicted_HR0.1250.005
predicted_OBP0.2960.003
predicted_R0.5640.044
predicted_RBI0.3930.073
predicted_SLG0.453-0.011
predicted_SO0.7120.032
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1940.000
predicted_3B0.0340.000
predicted_AB2.9260.000
predicted_AVG0.2360.002
predicted_BB0.2550.000
predicted_H0.6920.005
predicted_HBP0.0080.000
predicted_HR0.124-0.001
predicted_OBP0.2980.001
predicted_R0.5730.009
predicted_RBI0.3990.006
predicted_SLG0.4530.000
predicted_SO0.712-0.000
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.93), rates preserved: AVG=0.236 HR/AB=0.042

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
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-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI0.0000.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.194
predicted_3B0.000-0.034
predicted_AB3.0000.074
predicted_AVG0.236-0.000
predicted_BB0.000-0.255
predicted_H1.0000.308
predicted_HR0.000-0.124
predicted_OBP0.3030.005
predicted_R1.0000.427
predicted_RBI0.000-0.399
predicted_SLG0.453-0.000
predicted_SO1.0000.288
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 25
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0005.0001.0000.0001.0006.0006.0002.0004.0000.27780.35000.50000.27780.05560.33330.11110.2222
last_100.2010-30.0006.0001.0000.0001.0006.0007.0003.0008.0000.20000.27270.33330.20000.03330.20000.10000.2667
season0.6025-69.00016.0005.0001.0003.0008.00013.0006.00017.0000.23190.29330.46380.23190.04350.11590.08700.2464
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1840
predicted_3B0.0240
predicted_AB3.2120
predicted_AVG0.2385
predicted_BB0.2810
predicted_H0.7660
predicted_HBP0.0080
predicted_HR0.1330
predicted_OBP0.3019
predicted_R0.6400
predicted_RBI0.5200
predicted_SLG0.4342
predicted_SO0.7680
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20000.18400.1941model_form_blend
predicted_3B0.04000.02400.0341model_form_blend
predicted_AB2.76003.21202.9256model_form_blend
predicted_AVG0.23200.23850.2344model_form_blend
predicted_BB0.24000.28100.2550model_form_blend
predicted_H0.64000.76600.6862model_form_blend
predicted_HBP-0.00800.0080form_only
predicted_HR0.12000.13300.1248model_form_blend
predicted_OBP0.29300.30190.2963model_form_blend
predicted_R0.52000.64000.5640model_form_blend
predicted_RBI0.32000.52000.3933model_form_blend
predicted_SLG0.46400.43420.4531model_form_blend
predicted_SO0.68000.76800.7122model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260826_KC@TOR
game_typefull
mlbID670231
playerID670231
playerNameJohn Rave
posRF
startedTrue
startingPositionLF
teamKC
teamID12
game_date2026-08-26
sl_k_percent20.4
sl_bb_percent8.6
sl_woba0.304
sl_xwoba0.319
sl_xba0.245
sl_xslg0.415
sl_sweet_spot_percent31.8
sl_barrel_batted_rate12.1
sl_hard_hit_percent33.3
sl_exit_velocity_avg87.4
sl_launch_angle_avg16.1
sl_whiff_percent20.7
sl_swing_percent42.4
Tyler Tolbert (686475) · BATTER · 2B · Team KC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 135
All-history rows before 20260827: 135
System season_avg: 0.2900
Data season_avg (2026 season-to-date): 0.3557
Diff (system - data): -0.0657
System opponent_avg: 0.2900
System season_avg diverges from 2026 season-to-date by -0.0657. 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.1190.0000.000Hitting_2B0.1410.000-0.1410.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.5483.0003.000Hitting_AB2.5412.0000.4591.000
predicted_AVG0.2900.6670.333Hitting_AVG0.3560.5000.3110.167
predicted_BB0.2621.0000.000Hitting_BB0.2590.0000.7411.000
predicted_CS-0.0000.000BaseRunning_CS0.0520.000-0.0520.000
predicted_H0.7382.0001.000Hitting_H0.9041.0001.0961.000
predicted_HR0.0710.0000.000Hitting_HR0.1110.000-0.1110.000
predicted_OBP0.3560.7500.333Hitting_OBP0.4140.5000.3360.250
predicted_R0.5241.0001.000Hitting_R0.6520.0000.3481.000
predicted_RBI0.1902.0000.000Hitting_RBI0.2300.0001.7702.000
predicted_SB-0.0000.000BaseRunning_SB0.2961.000-0.296-1.000
predicted_SLG0.4210.6670.333Hitting_SLG0.5420.5000.1240.167
predicted_SO0.5480.0000.000Hitting_SO0.4520.000-0.4520.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics6
Worse Metrics5
Biggest Boostpredicted_RBI: 0.1900 -> 2.0000 (boost 1.8100, better)
Biggest Deboostpredicted_SO: 0.5480 -> 0.0000 (deboost -0.5480, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend52314predicted_AB: 2.5480 -> 2.6525 (boost 0.1045, better)predicted_SLG: 0.4210 -> 0.3891 (deboost -0.0319, worse)Final model input calibrated 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_scaling83526predicted_SO: 0.5979 -> 1.0000 (boost 0.4021, worse)predicted_BB: 0.2911 -> 0.0000 (deboost -0.2911, worse)AB rounded to 3 (raw=2.65), rates preserved: AVG=0.270 HR/AB=0.025
5consistency_constraints11010predicted_R: 0.5315 -> 1.0000 (boost 0.4685, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation10110-predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context22011predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference43140predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
9current_json_final10101-predicted_SLG: 0.3960 -> 0.3880 (deboost -0.0080, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "686475",
  "player_name": "Tyler Tolbert",
  "position": "2B",
  "team": "KC",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.119,
        "predicted_3B": 0.0,
        "predicted_AB": 2.548,
        "predicted_AVG": 0.29,
        "predicted_BB": 0.262,
        "predicted_H": 0.738,
        "predicted_HR": 0.071,
        "predicted_OBP": 0.356,
        "predicted_R": 0.524,
        "predicted_RBI": 0.19,
        "predicted_SLG": 0.421,
        "predicted_SO": 0.548
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1151,
        "predicted_3B": 0.0008,
        "predicted_AB": 2.6525,
        "predicted_AVG": 0.2697,
        "predicted_BB": 0.291,
        "predicted_H": 0.7114,
        "predicted_HBP": 0.068,
        "predicted_HR": 0.0655,
        "predicted_OBP": 0.3472,
        "predicted_R": 0.5236,
        "predicted_RBI": 0.1978,
        "predicted_SLG": 0.3891,
        "predicted_SO": 0.5981
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.119,
          "after": 0.1151,
          "delta": -0.0039,
          "percent_delta": -0.0328,
          "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.548,
          "after": 2.6525,
          "delta": 0.1045,
          "percent_delta": 0.041,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.29,
          "after": 0.2697,
          "delta": -0.0203,
          "percent_delta": -0.07,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.262,
          "after": 0.291,
          "delta": 0.029,
          "percent_delta": 0.1107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.738,
          "after": 0.7114,
          "delta": -0.0266,
          "percent_delta": -0.036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.071,
          "after": 0.0655,
          "delta": -0.0055,
          "percent_delta": -0.0775,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.356,
          "after": 0.3472,
          "delta": -0.0088,
          "percent_delta": -0.0247,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.524,
          "after": 0.5236,
          "delta": -0.0004,
          "percent_delta": -0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.19,
          "after": 0.1978,
          "delta": 0.0078,
          "percent_delta": 0.0411,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.421,
          "after": 0.3891,
          "delta": -0.0319,
          "percent_delta": -0.0758,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.548,
          "after": 0.5981,
          "delta": 0.0501,
          "percent_delta": 0.0914,
          "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.548,
          "after": 2.6525,
          "delta": 0.1045,
          "percent_delta": 0.041,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.421,
          "after": 0.3891,
          "delta": -0.0319,
          "percent_delta": -0.0758,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 42
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1151,
        "predicted_3B": 0.0008,
        "predicted_AB": 2.6525,
        "predicted_AVG": 0.2703,
        "predicted_BB": 0.2911,
        "predicted_H": 0.717,
        "predicted_HBP": 0.068,
        "predicted_HR": 0.0652,
        "predicted_OBP": 0.3425,
        "predicted_R": 0.5315,
        "predicted_RBI": 0.2008,
        "predicted_SLG": 0.388,
        "predicted_SO": 0.5979
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1151,
          "after": 0.1151,
          "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.6525,
          "after": 2.6525,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2697,
          "after": 0.2703,
          "delta": 0.0006,
          "percent_delta": 0.0022,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.291,
          "after": 0.2911,
          "delta": 0.0001,
          "percent_delta": 0.0003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7114,
          "after": 0.717,
          "delta": 0.0056,
          "percent_delta": 0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.068,
          "after": 0.068,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0655,
          "after": 0.0652,
          "delta": -0.0003,
          "percent_delta": -0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3472,
          "after": 0.3425,
          "delta": -0.0047,
          "percent_delta": -0.0135,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5236,
          "after": 0.5315,
          "delta": 0.0079,
          "percent_delta": 0.0151,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1978,
          "after": 0.2008,
          "delta": 0.003,
          "percent_delta": 0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3891,
          "after": 0.388,
          "delta": -0.0011,
          "percent_delta": -0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.5981,
          "after": 0.5979,
          "delta": -0.0002,
          "percent_delta": -0.0003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.65), rates preserved: AVG=0.270 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.1151,
          "after": 0.0,
          "delta": -0.1151,
          "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.6525,
          "after": 3.0,
          "delta": 0.3475,
          "percent_delta": 0.131,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2911,
          "after": 0.0,
          "delta": -0.2911,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.717,
          "after": 1.0,
          "delta": 0.283,
          "percent_delta": 0.3947,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.068,
          "after": 0.0,
          "delta": -0.068,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0652,
          "after": 0.0,
          "delta": -0.0652,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2008,
          "after": 0.0,
          "delta": -0.2008,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5979,
          "after": 1.0,
          "delta": 0.4021,
          "percent_delta": 0.6725,
          "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.5979,
          "after": 1.0,
          "delta": 0.4021,
          "percent_delta": 0.6725,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2911,
          "after": 0.0,
          "delta": -0.2911,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5315,
          "after": 1.0,
          "delta": 0.4685,
          "percent_delta": 0.8815,
          "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.5315,
          "after": 1.0,
          "delta": 0.4685,
          "percent_delta": 0.8815,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 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_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.27,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.347,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.396,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2703,
          "after": 0.27,
          "delta": -0.0003,
          "percent_delta": -0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3425,
          "after": 0.347,
          "delta": 0.0045,
          "percent_delta": 0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.388,
          "after": 0.396,
          "delta": 0.008,
          "percent_delta": 0.0206,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2703,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3425,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.388,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.27,
          "after": 0.2703,
          "delta": 0.0003,
          "percent_delta": 0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.347,
          "after": 0.3425,
          "delta": -0.0045,
          "percent_delta": -0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.396,
          "after": 0.388,
          "delta": -0.008,
          "percent_delta": -0.0201,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.396,
          "after": 0.388,
          "delta": -0.008,
          "percent_delta": -0.0201,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.119,
        "after": 0.0,
        "delta": -0.119,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.548,
        "after": 3.0,
        "delta": 0.452,
        "percent_delta": 0.1774,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.29,
        "after": 0.2703,
        "delta": -0.0197,
        "percent_delta": -0.0679,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.262,
        "after": 1.0,
        "delta": 0.738,
        "percent_delta": 2.8168,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.738,
        "after": 2.0,
        "delta": 1.262,
        "percent_delta": 1.71,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.071,
        "after": 0.0,
        "delta": -0.071,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.356,
        "after": 0.3425,
        "delta": -0.0135,
        "percent_delta": -0.0379,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.524,
        "after": 1.0,
        "delta": 0.476,
        "percent_delta": 0.9084,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.19,
        "after": 2.0,
        "delta": 1.81,
        "percent_delta": 9.5263,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.421,
        "after": 0.388,
        "delta": -0.033,
        "percent_delta": -0.0784,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.548,
        "after": 0.0,
        "delta": -0.548,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 6,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.19,
        "after": 2.0,
        "delta": 1.81,
        "percent_delta": 9.5263,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.548,
        "after": 0.0,
        "delta": -0.548,
        "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.119-
predicted_3B0.000-
predicted_AB2.548-
predicted_AVG0.290-
predicted_BB0.262-
predicted_H0.738-
predicted_HR0.071-
predicted_OBP0.356-
predicted_R0.524-
predicted_RBI0.190-
predicted_SLG0.421-
predicted_SO0.548-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.115-0.004
predicted_3B0.0010.001
predicted_AB2.6520.104
predicted_AVG0.270-0.020
predicted_BB0.2910.029
predicted_H0.711-0.027
predicted_HBP0.068-
predicted_HR0.066-0.005
predicted_OBP0.347-0.009
predicted_R0.524-0.000
predicted_RBI0.1980.008
predicted_SLG0.389-0.032
predicted_SO0.5980.050
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1150.000
predicted_3B0.0010.000
predicted_AB2.6520.000
predicted_AVG0.2700.001
predicted_BB0.2910.000
predicted_H0.7170.006
predicted_HBP0.0680.000
predicted_HR0.065-0.000
predicted_OBP0.343-0.005
predicted_R0.5310.008
predicted_RBI0.2010.003
predicted_SLG0.388-0.001
predicted_SO0.598-0.000
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.65), rates preserved: AVG=0.270 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
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI0.0000.000
SO0.000-1.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.115
predicted_3B0.000-0.001
predicted_AB3.0000.348
predicted_AVG0.270-0.000
predicted_BB0.000-0.291
predicted_H1.0000.283
predicted_HR0.000-0.065
predicted_OBP0.3470.004
predicted_R1.0000.469
predicted_RBI0.000-0.201
predicted_SLG0.3960.008
predicted_SO1.0000.402
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0001.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0000.000
RBI2.0002.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: 42
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-14.0002.0000.0000.0000.0000.0003.0002.0004.0000.14290.29410.14290.14290.00000.00000.14290.2857
last_100.2010-24.0004.0001.0000.0000.0002.0004.0005.0007.0000.16670.33330.20830.16670.00000.08330.20830.2917
season0.6042-107.00031.0005.0000.0003.0008.00022.00011.00023.0000.28970.35830.42060.28970.02800.07480.10280.2150
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1090
predicted_3B0.0020
predicted_AB2.8150
predicted_AVG0.2382
predicted_BB0.3360
predicted_H0.6700
predicted_HBP0.0680
predicted_HR0.0570
predicted_OBP0.3334
predicted_R0.5230
predicted_RBI0.2100
predicted_SLG0.3396
predicted_SO0.6760
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11900.10900.1151model_form_blend
predicted_3B0.00000.00200.0008model_form_blend
predicted_AB2.54802.81502.6525model_form_blend
predicted_AVG0.29000.23820.2697model_form_blend
predicted_BB0.26200.33600.2910model_form_blend
predicted_H0.73800.67000.7114model_form_blend
predicted_HBP-0.06800.0680form_only
predicted_HR0.07100.05700.0655model_form_blend
predicted_OBP0.35600.33340.3472model_form_blend
predicted_R0.52400.52300.5236model_form_blend
predicted_RBI0.19000.21000.1978model_form_blend
predicted_SLG0.42100.33960.3891model_form_blend
predicted_SO0.54800.67600.5981model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
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_SO0
Hitting_TB1
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260826_KC@TOR
game_typefull
mlbID686475
playerID686475
playerNameTyler Tolbert
posSS
startedTrue
startingPosition2B
teamKC
teamID12
game_date2026-08-26
sl_k_percent18.2
sl_bb_percent9.1
sl_woba0.356
sl_xwoba0.298
sl_xba0.244
sl_xslg0.317
sl_sweet_spot_percent33.7
sl_barrel_batted_rate3.2
sl_hard_hit_percent26.3
sl_exit_velocity_avg85.1
sl_launch_angle_avg10.1
sl_whiff_percent28.4
sl_swing_percent49.0
Nick Loftin (679845) · BATTER · 3B · Team KC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 321
All-history rows before 20260827: 321
System season_avg: 0.2370
Data season_avg (2026 season-to-date): 0.2444
Diff (system - data): -0.0074
System opponent_avg: 0.2000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2170.0000.000Hitting_2B0.2431.000-0.243-1.000
predicted_3B0.0220.0000.000Hitting_3B0.0190.000-0.0190.000
predicted_AB3.6204.0004.000Hitting_AB3.3524.0000.6480.000
predicted_AVG0.2460.0000.250Hitting_AVG0.2440.250-0.244-0.250
predicted_BB0.3801.0001.000Hitting_BB0.4080.0000.5921.000
predicted_CS-0.0000.000BaseRunning_CS0.0120.000-0.0120.000
predicted_H0.8900.0001.000Hitting_H0.8191.000-0.819-1.000
predicted_HR0.1200.0000.000Hitting_HR0.0750.000-0.0750.000
predicted_OBP0.3290.2000.400Hitting_OBP0.3350.250-0.135-0.050
predicted_R0.3910.0000.000Hitting_R0.4580.000-0.4580.000
predicted_RBI0.5300.0001.000Hitting_RBI0.4670.000-0.4670.000
predicted_SLG0.4150.0000.250Hitting_SLG0.3950.500-0.395-0.500
predicted_SO0.5760.0001.000Hitting_SO0.5761.000-0.576-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics3
Deboosted Metrics6
Better Metrics4
Worse Metrics5
Biggest Boostpredicted_BB: 0.3800 -> 1.0000 (boost 0.6200, better)
Biggest Deboostpredicted_H: 0.8900 -> 0.0000 (deboost -0.8900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43122predicted_SO: 0.5760 -> 0.6347 (boost 0.0587, worse)predicted_AB: 3.6200 -> 3.4825 (deboost -0.1375, worse)Final model input calibrated 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.3390 -> 0.3328 (deboost -0.0062, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling74334predicted_AB: 3.4825 -> 4.0000 (boost 0.5175, better)predicted_BB: 0.4325 -> 0.0000 (deboost -0.4325, worse)AB rounded to 4 (raw=3.62), rates preserved: AVG=0.240 HR/AB=0.031
5consistency_constraints10101-predicted_R: 0.4089 -> 0.0000 (deboost -0.4089, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context40404-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference41322predicted_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
9current_json_final33030predicted_SLG: 0.4050 -> 0.4213 (boost 0.0163, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "679845",
  "player_name": "Nick Loftin",
  "position": "3B",
  "team": "KC",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.217,
        "predicted_3B": 0.022,
        "predicted_AB": 3.62,
        "predicted_AVG": 0.246,
        "predicted_BB": 0.38,
        "predicted_H": 0.89,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.329,
        "predicted_R": 0.391,
        "predicted_RBI": 0.53,
        "predicted_SLG": 0.415,
        "predicted_SO": 0.576
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1838,
        "predicted_3B": 0.0407,
        "predicted_AB": 3.4825,
        "predicted_AVG": 0.2481,
        "predicted_BB": 0.4324,
        "predicted_H": 0.8636,
        "predicted_HBP": 0.034,
        "predicted_HR": 0.1111,
        "predicted_OBP": 0.339,
        "predicted_R": 0.4029,
        "predicted_RBI": 0.5372,
        "predicted_SLG": 0.4186,
        "predicted_SO": 0.6347
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.217,
          "after": 0.1838,
          "delta": -0.0332,
          "percent_delta": -0.153,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.022,
          "after": 0.0407,
          "delta": 0.0187,
          "percent_delta": 0.85,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.62,
          "after": 3.4825,
          "delta": -0.1375,
          "percent_delta": -0.038,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.2481,
          "delta": 0.0021,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.38,
          "after": 0.4324,
          "delta": 0.0524,
          "percent_delta": 0.1379,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.89,
          "after": 0.8636,
          "delta": -0.0264,
          "percent_delta": -0.0297,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1111,
          "delta": -0.0089,
          "percent_delta": -0.0742,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.329,
          "after": 0.339,
          "delta": 0.01,
          "percent_delta": 0.0304,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.391,
          "after": 0.4029,
          "delta": 0.0119,
          "percent_delta": 0.0304,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.53,
          "after": 0.5372,
          "delta": 0.0072,
          "percent_delta": 0.0136,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.415,
          "after": 0.4186,
          "delta": 0.0036,
          "percent_delta": 0.0087,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.576,
          "after": 0.6347,
          "delta": 0.0587,
          "percent_delta": 0.1019,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.576,
          "after": 0.6347,
          "delta": 0.0587,
          "percent_delta": 0.1019,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.62,
          "after": 3.4825,
          "delta": -0.1375,
          "percent_delta": -0.038,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 92
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1838,
        "predicted_3B": 0.0407,
        "predicted_AB": 3.4825,
        "predicted_AVG": 0.2499,
        "predicted_BB": 0.4325,
        "predicted_H": 0.8704,
        "predicted_HBP": 0.034,
        "predicted_HR": 0.1106,
        "predicted_OBP": 0.3328,
        "predicted_R": 0.4089,
        "predicted_RBI": 0.5453,
        "predicted_SLG": 0.4213,
        "predicted_SO": 0.6345
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1838,
          "after": 0.1838,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0407,
          "after": 0.0407,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4825,
          "after": 3.4825,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2481,
          "after": 0.2499,
          "delta": 0.0018,
          "percent_delta": 0.0073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4324,
          "after": 0.4325,
          "delta": 0.0001,
          "percent_delta": 0.0002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8636,
          "after": 0.8704,
          "delta": 0.0068,
          "percent_delta": 0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.034,
          "after": 0.034,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1111,
          "after": 0.1106,
          "delta": -0.0005,
          "percent_delta": -0.0045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.339,
          "after": 0.3328,
          "delta": -0.0062,
          "percent_delta": -0.0183,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4029,
          "after": 0.4089,
          "delta": 0.006,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5372,
          "after": 0.5453,
          "delta": 0.0081,
          "percent_delta": 0.0151,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4186,
          "after": 0.4213,
          "delta": 0.0027,
          "percent_delta": 0.0065,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.6347,
          "after": 0.6345,
          "delta": -0.0002,
          "percent_delta": -0.0003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.339,
          "after": 0.3328,
          "delta": -0.0062,
          "percent_delta": -0.0183,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.62), rates preserved: AVG=0.240 HR/AB=0.031",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1838,
          "after": 0.0,
          "delta": -0.1838,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0407,
          "after": 0.0,
          "delta": -0.0407,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4825,
          "after": 4.0,
          "delta": 0.5175,
          "percent_delta": 0.1486,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4325,
          "after": 0.0,
          "delta": -0.4325,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8704,
          "after": 1.0,
          "delta": 0.1296,
          "percent_delta": 0.1489,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.034,
          "after": 0.0,
          "delta": -0.034,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1106,
          "after": 0.0,
          "delta": -0.1106,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5453,
          "after": 1.0,
          "delta": 0.4547,
          "percent_delta": 0.8339,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6345,
          "after": 1.0,
          "delta": 0.3655,
          "percent_delta": 0.576,
          "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.4825,
          "after": 4.0,
          "delta": 0.5175,
          "percent_delta": 0.1486,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "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": 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.4089,
          "after": 0.0,
          "delta": -0.4089,
          "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.4089,
          "after": 0.0,
          "delta": -0.4089,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "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.24,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.327,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.405,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2499,
          "after": 0.24,
          "delta": -0.0099,
          "percent_delta": -0.0396,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3328,
          "after": 0.327,
          "delta": -0.0058,
          "percent_delta": -0.0174,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "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.4213,
          "after": 0.405,
          "delta": -0.0163,
          "percent_delta": -0.0387,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 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_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.2499,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3328,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4213,
        "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.24,
          "after": 0.2499,
          "delta": 0.0099,
          "percent_delta": 0.0414,
          "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.327,
          "after": 0.3328,
          "delta": 0.0058,
          "percent_delta": 0.0178,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.405,
          "after": 0.4213,
          "delta": 0.0163,
          "percent_delta": 0.0403,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.405,
          "after": 0.4213,
          "delta": 0.0163,
          "percent_delta": 0.0403,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.217,
        "after": 0.0,
        "delta": -0.217,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.022,
        "after": 0.0,
        "delta": -0.022,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.62,
        "after": 4.0,
        "delta": 0.38,
        "percent_delta": 0.105,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.246,
        "after": 0.2499,
        "delta": 0.0039,
        "percent_delta": 0.0159,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.38,
        "after": 1.0,
        "delta": 0.62,
        "percent_delta": 1.6316,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.89,
        "after": 0.0,
        "delta": -0.89,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.329,
        "after": 0.3328,
        "delta": 0.0038,
        "percent_delta": 0.0116,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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.53,
        "after": 0.0,
        "delta": -0.53,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.415,
        "after": 0.4213,
        "delta": 0.0063,
        "percent_delta": 0.0152,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.576,
        "after": 0.0,
        "delta": -0.576,
        "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_BB",
        "before": 0.38,
        "after": 1.0,
        "delta": 0.62,
        "percent_delta": 1.6316,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.89,
        "after": 0.0,
        "delta": -0.89,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.217-
predicted_3B0.022-
predicted_AB3.620-
predicted_AVG0.246-
predicted_BB0.380-
predicted_H0.890-
predicted_HR0.120-
predicted_OBP0.329-
predicted_R0.391-
predicted_RBI0.530-
predicted_SLG0.415-
predicted_SO0.576-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.184-0.033
predicted_3B0.0410.019
predicted_AB3.482-0.138
predicted_AVG0.2480.002
predicted_BB0.4320.052
predicted_H0.864-0.026
predicted_HBP0.034-
predicted_HR0.111-0.009
predicted_OBP0.3390.010
predicted_R0.4030.012
predicted_RBI0.5370.007
predicted_SLG0.4190.004
predicted_SO0.6350.059
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1840.000
predicted_3B0.0410.000
predicted_AB3.4820.000
predicted_AVG0.2500.002
predicted_BB0.4320.000
predicted_H0.8700.007
predicted_HBP0.0340.000
predicted_HR0.111-0.001
predicted_OBP0.333-0.006
predicted_R0.4090.006
predicted_RBI0.5450.008
predicted_SLG0.4210.003
predicted_SO0.634-0.000
4. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI1.0000.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.184
predicted_3B0.000-0.041
predicted_AB4.0000.518
predicted_AVG0.240-0.010
predicted_BB0.000-0.432
predicted_H1.0000.130
predicted_HR0.000-0.111
predicted_OBP0.327-0.006
predicted_R0.000-0.409
predicted_RBI1.0000.455
predicted_SLG0.405-0.016
predicted_SO1.0000.366
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
BB1.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
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 92
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0006.0000.0001.0001.0005.0003.0004.0004.0000.33330.45450.61110.33330.05560.27780.22220.2222
last_100.2010-33.0007.0000.0001.0001.0005.0003.0007.00010.0000.21210.35000.36360.21210.03030.15150.21210.3030
season0.6092-287.00068.00020.0002.0006.00040.00036.00035.00053.0000.23690.32630.38330.23690.02090.13940.12200.1847
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1390
predicted_3B0.0660
predicted_AB3.2970
predicted_AVG0.2509
predicted_BB0.5030
predicted_H0.8280
predicted_HBP0.0340
predicted_HR0.0990
predicted_OBP0.3524
predicted_R0.4190
predicted_RBI0.5470
predicted_SLG0.4235
predicted_SO0.7140
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21700.13900.1838model_form_blend
predicted_3B0.02200.06600.0407model_form_blend
predicted_AB3.62003.29703.4825model_form_blend
predicted_AVG0.24600.25090.2481model_form_blend
predicted_BB0.38000.50300.4324model_form_blend
predicted_H0.89000.82800.8636model_form_blend
predicted_HBP-0.03400.0340form_only
predicted_HR0.12000.09900.1111model_form_blend
predicted_OBP0.32900.35240.3390model_form_blend
predicted_R0.39100.41900.4029model_form_blend
predicted_RBI0.53000.54700.5372model_form_blend
predicted_SLG0.41500.42350.4186model_form_blend
predicted_SO0.57600.71400.6347model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260826_KC@TOR
game_typefull
mlbID679845
playerID679845
playerNameNick Loftin
pos3B
startedTrue
startingPosition3B
teamKC
teamID12
game_date2026-08-26
sl_k_percent15.8
sl_bb_percent10.2
sl_woba0.316
sl_xwoba0.295
sl_xba0.227
sl_xslg0.332
sl_sweet_spot_percent34.8
sl_barrel_batted_rate3.9
sl_hard_hit_percent28.1
sl_exit_velocity_avg87.2
sl_launch_angle_avg14.7
sl_whiff_percent17.4
sl_swing_percent40.8
Carter Jensen (695600) · BATTER · C · Team KC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 479
All-history rows before 20260827: 479
System season_avg: 0.2200
Data season_avg (2026 season-to-date): 0.2309
Diff (system - data): -0.0109
System opponent_avg: 0.2540

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2070.0000.000Hitting_2B0.2400.000-0.2400.000
predicted_3B0.0080.0000.000Hitting_3B0.0100.000-0.0100.000
predicted_AB4.8304.0005.000Hitting_AB3.7433.0000.2571.000
predicted_AVG0.1910.2500.200Hitting_AVG0.2310.6670.019-0.417
predicted_BB0.4211.0001.000Hitting_BB0.4681.0000.5320.000
predicted_CS-0.0000.000BaseRunning_CS0.0080.000-0.0080.000
predicted_H0.9201.0001.000Hitting_H0.8642.0000.136-1.000
predicted_HR0.1901.0001.000Hitting_HR0.1420.0000.8581.000
predicted_OBP0.2890.4000.333Hitting_OBP0.3160.7500.084-0.350
predicted_R0.4791.0001.000Hitting_R0.5180.0000.4821.000
predicted_RBI0.5601.0001.000Hitting_RBI0.5430.0000.4571.000
predicted_SLG0.3681.0000.800Hitting_SLG0.4140.6670.5860.333
predicted_SO1.1570.0001.000Hitting_SO1.1880.000-1.1880.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics6
Deboosted Metrics4
Better Metrics7
Worse Metrics3
Biggest Boostpredicted_HR: 0.1900 -> 1.0000 (boost 0.8100, better)
Biggest Deboostpredicted_SO: 1.1570 -> 0.0000 (deboost -1.1570, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend63333predicted_AVG: 0.1910 -> 0.1988 (boost 0.0078, better)predicted_AB: 4.8300 -> 4.2216 (deboost -0.6084, worse)Final model input calibrated 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.2964 -> 0.2757 (deboost -0.0207, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73443predicted_AB: 4.2216 -> 5.0000 (boost 0.7784, better)predicted_BB: 0.4497 -> 0.0000 (deboost -0.4497, worse)AB rounded to 5 (raw=4.83), rates preserved: AVG=0.174 HR/AB=0.035
5consistency_constraints10101-predicted_R: 0.4822 -> 0.0000 (deboost -0.4822, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation33030predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context60606-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference53241predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.3190 -> 0.3645 (boost 0.0455, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "695600",
  "player_name": "Carter Jensen",
  "position": "C",
  "team": "KC",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.207,
        "predicted_3B": 0.008,
        "predicted_AB": 4.83,
        "predicted_AVG": 0.191,
        "predicted_BB": 0.421,
        "predicted_H": 0.92,
        "predicted_HR": 0.19,
        "predicted_OBP": 0.289,
        "predicted_R": 0.479,
        "predicted_RBI": 0.56,
        "predicted_SLG": 0.368,
        "predicted_SO": 1.157
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1793,
        "predicted_3B": 0.0067,
        "predicted_AB": 4.2216,
        "predicted_AVG": 0.1988,
        "predicted_BB": 0.4496,
        "predicted_H": 0.8317,
        "predicted_HBP": 0.031,
        "predicted_HR": 0.1701,
        "predicted_OBP": 0.2964,
        "predicted_R": 0.4751,
        "predicted_RBI": 0.5033,
        "predicted_SLG": 0.3733,
        "predicted_SO": 1.1154
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.207,
          "after": 0.1793,
          "delta": -0.0277,
          "percent_delta": -0.1338,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.008,
          "after": 0.0067,
          "delta": -0.0013,
          "percent_delta": -0.1625,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.83,
          "after": 4.2216,
          "delta": -0.6084,
          "percent_delta": -0.126,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.191,
          "after": 0.1988,
          "delta": 0.0078,
          "percent_delta": 0.0408,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.421,
          "after": 0.4496,
          "delta": 0.0286,
          "percent_delta": 0.0679,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.92,
          "after": 0.8317,
          "delta": -0.0883,
          "percent_delta": -0.096,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.19,
          "after": 0.1701,
          "delta": -0.0199,
          "percent_delta": -0.1047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.289,
          "after": 0.2964,
          "delta": 0.0074,
          "percent_delta": 0.0256,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.479,
          "after": 0.4751,
          "delta": -0.0039,
          "percent_delta": -0.0081,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.56,
          "after": 0.5033,
          "delta": -0.0567,
          "percent_delta": -0.1013,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.368,
          "after": 0.3733,
          "delta": 0.0053,
          "percent_delta": 0.0144,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.157,
          "after": 1.1154,
          "delta": -0.0416,
          "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_AVG",
          "before": 0.191,
          "after": 0.1988,
          "delta": 0.0078,
          "percent_delta": 0.0408,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.83,
          "after": 4.2216,
          "delta": -0.6084,
          "percent_delta": -0.126,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1793,
        "predicted_3B": 0.0067,
        "predicted_AB": 4.2216,
        "predicted_AVG": 0.1986,
        "predicted_BB": 0.4497,
        "predicted_H": 0.8383,
        "predicted_HBP": 0.031,
        "predicted_HR": 0.1693,
        "predicted_OBP": 0.2757,
        "predicted_R": 0.4822,
        "predicted_RBI": 0.5108,
        "predicted_SLG": 0.3645,
        "predicted_SO": 1.1151
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1793,
          "after": 0.1793,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0067,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2216,
          "after": 4.2216,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1988,
          "after": 0.1986,
          "delta": -0.0002,
          "percent_delta": -0.001,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4496,
          "after": 0.4497,
          "delta": 0.0001,
          "percent_delta": 0.0002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8317,
          "after": 0.8383,
          "delta": 0.0066,
          "percent_delta": 0.0079,
          "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.1701,
          "after": 0.1693,
          "delta": -0.0008,
          "percent_delta": -0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2964,
          "after": 0.2757,
          "delta": -0.0207,
          "percent_delta": -0.0698,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4751,
          "after": 0.4822,
          "delta": 0.0071,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5033,
          "after": 0.5108,
          "delta": 0.0075,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3733,
          "after": 0.3645,
          "delta": -0.0088,
          "percent_delta": -0.0236,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1154,
          "after": 1.1151,
          "delta": -0.0003,
          "percent_delta": -0.0003,
          "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.2964,
          "after": 0.2757,
          "delta": -0.0207,
          "percent_delta": -0.0698,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=4.83), rates preserved: AVG=0.174 HR/AB=0.035",
      "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.1793,
          "after": 0.0,
          "delta": -0.1793,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0,
          "delta": -0.0067,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2216,
          "after": 5.0,
          "delta": 0.7784,
          "percent_delta": 0.1844,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4497,
          "after": 0.0,
          "delta": -0.4497,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8383,
          "after": 1.0,
          "delta": 0.1617,
          "percent_delta": 0.1929,
          "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.1693,
          "after": 0.0,
          "delta": -0.1693,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5108,
          "after": 1.0,
          "delta": 0.4892,
          "percent_delta": 0.9577,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1151,
          "after": 1.0,
          "delta": -0.1151,
          "percent_delta": -0.1032,
          "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.2216,
          "after": 5.0,
          "delta": 0.7784,
          "percent_delta": 0.1844,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4497,
          "after": 0.0,
          "delta": -0.4497,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4822,
          "after": 0.0,
          "delta": -0.4822,
          "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.4822,
          "after": 0.0,
          "delta": -0.4822,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 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_SO",
          "before": 1.0,
          "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_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.174,
        "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.319,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.1986,
          "after": 0.174,
          "delta": -0.0246,
          "percent_delta": -0.1239,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2757,
          "after": 0.25,
          "delta": -0.0257,
          "percent_delta": -0.0932,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3645,
          "after": 0.319,
          "delta": -0.0455,
          "percent_delta": -0.1248,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1986,
        "predicted_BB": 1.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.2757,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3645,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.174,
          "after": 0.1986,
          "delta": 0.0246,
          "percent_delta": 0.1412,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.25,
          "after": 0.2757,
          "delta": 0.0257,
          "percent_delta": 0.1029,
          "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.319,
          "after": 0.3645,
          "delta": 0.0455,
          "percent_delta": 0.1427,
          "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.319,
          "after": 0.3645,
          "delta": 0.0455,
          "percent_delta": 0.1427,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.207,
        "after": 0.0,
        "delta": -0.207,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.008,
        "after": 0.0,
        "delta": -0.008,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.83,
        "after": 4.0,
        "delta": -0.83,
        "percent_delta": -0.1718,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.191,
        "after": 0.1986,
        "delta": 0.0076,
        "percent_delta": 0.0398,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.421,
        "after": 1.0,
        "delta": 0.579,
        "percent_delta": 1.3753,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.92,
        "after": 1.0,
        "delta": 0.08,
        "percent_delta": 0.087,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.19,
        "after": 1.0,
        "delta": 0.81,
        "percent_delta": 4.2632,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.289,
        "after": 0.2757,
        "delta": -0.0133,
        "percent_delta": -0.046,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.479,
        "after": 1.0,
        "delta": 0.521,
        "percent_delta": 1.0877,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.56,
        "after": 1.0,
        "delta": 0.44,
        "percent_delta": 0.7857,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.368,
        "after": 0.3645,
        "delta": -0.0035,
        "percent_delta": -0.0095,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.157,
        "after": 0.0,
        "delta": -1.157,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 6,
      "deboosted_metrics": 4,
      "better_metrics": 7,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_HR",
        "before": 0.19,
        "after": 1.0,
        "delta": 0.81,
        "percent_delta": 4.2632,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.157,
        "after": 0.0,
        "delta": -1.157,
        "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.207-
predicted_3B0.008-
predicted_AB4.830-
predicted_AVG0.191-
predicted_BB0.421-
predicted_H0.920-
predicted_HR0.190-
predicted_OBP0.289-
predicted_R0.479-
predicted_RBI0.560-
predicted_SLG0.368-
predicted_SO1.157-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.179-0.028
predicted_3B0.007-0.001
predicted_AB4.222-0.608
predicted_AVG0.1990.008
predicted_BB0.4500.029
predicted_H0.832-0.088
predicted_HBP0.031-
predicted_HR0.170-0.020
predicted_OBP0.2960.007
predicted_R0.475-0.004
predicted_RBI0.503-0.057
predicted_SLG0.3730.005
predicted_SO1.115-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.1790.000
predicted_3B0.0070.000
predicted_AB4.2220.000
predicted_AVG0.199-0.000
predicted_BB0.4500.000
predicted_H0.8380.007
predicted_HBP0.0310.000
predicted_HR0.169-0.001
predicted_OBP0.276-0.021
predicted_R0.4820.007
predicted_RBI0.5110.008
predicted_SLG0.364-0.009
predicted_SO1.115-0.000
4. ab_floor_and_scaling

AB rounded to 5 (raw=4.83), rates preserved: AVG=0.174 HR/AB=0.035

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB1.0001.000
H1.0000.000
HR1.0001.000
R1.0001.000
RBI1.0000.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.179
predicted_3B0.000-0.007
predicted_AB5.0000.778
predicted_AVG0.174-0.025
predicted_BB0.000-0.450
predicted_H1.0000.162
predicted_HR0.000-0.169
predicted_OBP0.250-0.026
predicted_R0.000-0.482
predicted_RBI1.0000.489
predicted_SLG0.319-0.045
predicted_SO1.000-0.115
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
BB1.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0000.000
PA5.000-
R1.0000.000
RBI1.0000.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 121
Reference playing time: 4.830
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0003.0000.0000.0001.0002.0002.0003.0005.0000.18750.30000.37500.18750.06250.12500.18750.3125
last_100.2010-32.0006.0001.0000.0001.0003.0005.0006.0009.0000.18750.32500.31250.18750.03120.09380.18750.2812
season0.60121-428.00094.00025.0001.00017.00058.00058.00051.000140.0000.21960.30180.40190.21960.03970.13550.11920.3271
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1430
predicted_3B0.0050
predicted_AB3.4250
predicted_AVG0.2091
predicted_BB0.4870
predicted_H0.7160
predicted_HBP0.0310
predicted_HR0.1440
predicted_OBP0.3060
predicted_R0.4700
predicted_RBI0.4290
predicted_SLG0.3803
predicted_SO1.0610
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20700.14300.1793model_form_blend
predicted_3B0.00800.00500.0067model_form_blend
predicted_AB4.83003.42504.2216model_form_blend
predicted_AVG0.19100.20910.1988model_form_blend
predicted_BB0.42100.48700.4496model_form_blend
predicted_H0.92000.71600.8317model_form_blend
predicted_HBP-0.03100.0310form_only
predicted_HR0.19000.14400.1701model_form_blend
predicted_OBP0.28900.30600.2964model_form_blend
predicted_R0.47900.47000.4751model_form_blend
predicted_RBI0.56000.42900.5033model_form_blend
predicted_SLG0.36800.38030.3733model_form_blend
predicted_SO1.15701.06101.1154model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.667
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260826_KC@TOR
game_typefull
mlbID695600
playerID695600
playerNameCarter Jensen
posC
startedTrue
startingPositionC
teamKC
teamID12
game_date2026-08-26
sl_k_percent28.7
sl_bb_percent11.1
sl_woba0.315
sl_xwoba0.291
sl_xba0.202
sl_xslg0.363
sl_sweet_spot_percent31.0
sl_barrel_batted_rate10.5
sl_hard_hit_percent44.1
sl_exit_velocity_avg91.1
sl_launch_angle_avg20.6
sl_whiff_percent29.3
sl_swing_percent44.2
Kyle Isbel (664728) · BATTER · CF · Team KC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 234
All-history rows before 20260827: 234
System season_avg: 0.2390
Data season_avg (2026 season-to-date): 0.2428
Diff (system - data): -0.0038
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.0992.0000.000Hitting_2B0.0980.0001.9022.000
predicted_3B0.0140.0000.000Hitting_3B0.0170.000-0.0170.000
predicted_AB3.6604.0004.000Hitting_AB3.2743.0000.7261.000
predicted_AVG0.2700.5000.250Hitting_AVG0.2430.0000.2570.500
predicted_BB0.1690.0000.000Hitting_BB0.1790.000-0.1790.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9902.0001.000Hitting_H0.7950.0001.2052.000
predicted_HR0.1200.0000.000Hitting_HR0.0730.000-0.0730.000
predicted_OBP0.3180.5000.250Hitting_OBP0.2900.0000.2100.500
predicted_R0.3381.0000.000Hitting_R0.3720.0000.6281.000
predicted_RBI0.5003.0001.000Hitting_RBI0.3030.0002.6973.000
predicted_SLG0.4291.0000.250Hitting_SLG0.3500.0000.6501.000
predicted_SO0.7460.0001.000Hitting_SO0.8551.000-0.855-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics9
Boosted Metrics5
Deboosted Metrics4
Better Metrics6
Worse Metrics3
Biggest Boostpredicted_RBI: 0.5000 -> 3.0000 (boost 2.5000, better)
Biggest Deboostpredicted_SO: 0.7460 -> 0.0000 (deboost -0.7460, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42222predicted_R: 0.3380 -> 0.4147 (boost 0.0767, better)predicted_AB: 3.6600 -> 3.5420 (deboost -0.1180, worse)Final model input calibrated 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.4392 -> 0.4249 (deboost -0.0143, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling63324predicted_AB: 3.5420 -> 4.0000 (boost 0.4580, better)predicted_BB: 0.1577 -> 0.0000 (deboost -0.1577, worse)AB rounded to 4 (raw=3.66), rates preserved: AVG=0.263 HR/AB=0.037
5consistency_constraints10101-predicted_R: 0.4209 -> 0.0000 (deboost -0.4209, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context20202-predicted_SLG: 0.4249 -> 0.4110 (deboost -0.0139, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference54150predicted_2B: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
9current_json_final22020predicted_SLG: 0.4110 -> 0.4249 (boost 0.0139, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "664728",
  "player_name": "Kyle Isbel",
  "position": "CF",
  "team": "KC",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.099,
        "predicted_3B": 0.014,
        "predicted_AB": 3.66,
        "predicted_AVG": 0.27,
        "predicted_BB": 0.169,
        "predicted_H": 0.99,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.318,
        "predicted_R": 0.338,
        "predicted_RBI": 0.5,
        "predicted_SLG": 0.429,
        "predicted_SO": 0.746
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1094,
        "predicted_3B": 0.0123,
        "predicted_AB": 3.542,
        "predicted_AVG": 0.2698,
        "predicted_BB": 0.1577,
        "predicted_H": 0.9566,
        "predicted_HBP": 0.028,
        "predicted_HR": 0.1363,
        "predicted_OBP": 0.3123,
        "predicted_R": 0.4147,
        "predicted_RBI": 0.5384,
        "predicted_SLG": 0.4392,
        "predicted_SO": 0.7614
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.099,
          "after": 0.1094,
          "delta": 0.0104,
          "percent_delta": 0.1051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.014,
          "after": 0.0123,
          "delta": -0.0017,
          "percent_delta": -0.1214,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.66,
          "after": 3.542,
          "delta": -0.118,
          "percent_delta": -0.0322,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.27,
          "after": 0.2698,
          "delta": -0.0002,
          "percent_delta": -0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.169,
          "after": 0.1577,
          "delta": -0.0113,
          "percent_delta": -0.0669,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.99,
          "after": 0.9566,
          "delta": -0.0334,
          "percent_delta": -0.0337,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1363,
          "delta": 0.0163,
          "percent_delta": 0.1358,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.318,
          "after": 0.3123,
          "delta": -0.0057,
          "percent_delta": -0.0179,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.338,
          "after": 0.4147,
          "delta": 0.0767,
          "percent_delta": 0.2269,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5,
          "after": 0.5384,
          "delta": 0.0384,
          "percent_delta": 0.0768,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.429,
          "after": 0.4392,
          "delta": 0.0102,
          "percent_delta": 0.0238,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.746,
          "after": 0.7614,
          "delta": 0.0154,
          "percent_delta": 0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.338,
          "after": 0.4147,
          "delta": 0.0767,
          "percent_delta": 0.2269,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.66,
          "after": 3.542,
          "delta": -0.118,
          "percent_delta": -0.0322,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 71
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1094,
        "predicted_3B": 0.0123,
        "predicted_AB": 3.542,
        "predicted_AVG": 0.2722,
        "predicted_BB": 0.1577,
        "predicted_H": 0.9642,
        "predicted_HBP": 0.028,
        "predicted_HR": 0.1356,
        "predicted_OBP": 0.3032,
        "predicted_R": 0.4209,
        "predicted_RBI": 0.5465,
        "predicted_SLG": 0.4249,
        "predicted_SO": 0.7612
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1094,
          "after": 0.1094,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0123,
          "after": 0.0123,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.542,
          "after": 3.542,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2698,
          "after": 0.2722,
          "delta": 0.0024,
          "percent_delta": 0.0089,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1577,
          "after": 0.1577,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9566,
          "after": 0.9642,
          "delta": 0.0076,
          "percent_delta": 0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.028,
          "after": 0.028,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1363,
          "after": 0.1356,
          "delta": -0.0007,
          "percent_delta": -0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3123,
          "after": 0.3032,
          "delta": -0.0091,
          "percent_delta": -0.0291,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4147,
          "after": 0.4209,
          "delta": 0.0062,
          "percent_delta": 0.015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5384,
          "after": 0.5465,
          "delta": 0.0081,
          "percent_delta": 0.015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4392,
          "after": 0.4249,
          "delta": -0.0143,
          "percent_delta": -0.0326,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7614,
          "after": 0.7612,
          "delta": -0.0002,
          "percent_delta": -0.0003,
          "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.4392,
          "after": 0.4249,
          "delta": -0.0143,
          "percent_delta": -0.0326,
          "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.263 HR/AB=0.037",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1094,
          "after": 0.0,
          "delta": -0.1094,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0123,
          "after": 0.0,
          "delta": -0.0123,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.542,
          "after": 4.0,
          "delta": 0.458,
          "percent_delta": 0.1293,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1577,
          "after": 0.0,
          "delta": -0.1577,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9642,
          "after": 1.0,
          "delta": 0.0358,
          "percent_delta": 0.0371,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.028,
          "after": 0.0,
          "delta": -0.028,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1356,
          "after": 0.0,
          "delta": -0.1356,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5465,
          "after": 1.0,
          "delta": 0.4535,
          "percent_delta": 0.8298,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7612,
          "after": 1.0,
          "delta": 0.2388,
          "percent_delta": 0.3137,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.542,
          "after": 4.0,
          "delta": 0.458,
          "percent_delta": 0.1293,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.1577,
          "after": 0.0,
          "delta": -0.1577,
          "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.4209,
          "after": 0.0,
          "delta": -0.4209,
          "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.4209,
          "after": 0.0,
          "delta": -0.4209,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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": 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": {}
    },
    {
      "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.263,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.411,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2722,
          "after": 0.263,
          "delta": -0.0092,
          "percent_delta": -0.0338,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3032,
          "after": 0.3,
          "delta": -0.0032,
          "percent_delta": -0.0106,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4249,
          "after": 0.411,
          "delta": -0.0139,
          "percent_delta": -0.0327,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.4249,
          "after": 0.411,
          "delta": -0.0139,
          "percent_delta": -0.0327,
          "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": 2.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 3.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 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": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 2.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2722,
        "predicted_BB": 0.0,
        "predicted_CF": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3032,
        "predicted_R": 1.0,
        "predicted_RBI": 3.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4249,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.263,
          "after": 0.2722,
          "delta": 0.0092,
          "percent_delta": 0.035,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.3,
          "after": 0.3032,
          "delta": 0.0032,
          "percent_delta": 0.0108,
          "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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.411,
          "after": 0.4249,
          "delta": 0.0139,
          "percent_delta": 0.0339,
          "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.411,
          "after": 0.4249,
          "delta": 0.0139,
          "percent_delta": 0.0339,
          "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.099,
        "after": 2.0,
        "delta": 1.901,
        "percent_delta": 19.202,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.014,
        "after": 0.0,
        "delta": -0.014,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.66,
        "after": 4.0,
        "delta": 0.34,
        "percent_delta": 0.0929,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.27,
        "after": 0.2722,
        "delta": 0.0022,
        "percent_delta": 0.0081,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.169,
        "after": 0.0,
        "delta": -0.169,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.99,
        "after": 2.0,
        "delta": 1.01,
        "percent_delta": 1.0202,
        "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.318,
        "after": 0.3032,
        "delta": -0.0148,
        "percent_delta": -0.0465,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.338,
        "after": 1.0,
        "delta": 0.662,
        "percent_delta": 1.9586,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.5,
        "after": 3.0,
        "delta": 2.5,
        "percent_delta": 5.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.429,
        "after": 0.4249,
        "delta": -0.0041,
        "percent_delta": -0.0096,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.746,
        "after": 0.0,
        "delta": -0.746,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 5,
      "deboosted_metrics": 4,
      "better_metrics": 6,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.5,
        "after": 3.0,
        "delta": 2.5,
        "percent_delta": 5.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.746,
        "after": 0.0,
        "delta": -0.746,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.099-
predicted_3B0.014-
predicted_AB3.660-
predicted_AVG0.270-
predicted_BB0.169-
predicted_H0.990-
predicted_HR0.120-
predicted_OBP0.318-
predicted_R0.338-
predicted_RBI0.500-
predicted_SLG0.429-
predicted_SO0.746-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1090.010
predicted_3B0.012-0.002
predicted_AB3.542-0.118
predicted_AVG0.270-0.000
predicted_BB0.158-0.011
predicted_H0.957-0.033
predicted_HBP0.028-
predicted_HR0.1360.016
predicted_OBP0.312-0.006
predicted_R0.4150.077
predicted_RBI0.5380.038
predicted_SLG0.4390.010
predicted_SO0.7610.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.1090.000
predicted_3B0.0120.000
predicted_AB3.5420.000
predicted_AVG0.2720.002
predicted_BB0.1580.000
predicted_H0.9640.008
predicted_HBP0.0280.000
predicted_HR0.136-0.001
predicted_OBP0.303-0.009
predicted_R0.4210.006
predicted_RBI0.5460.008
predicted_SLG0.425-0.014
predicted_SO0.761-0.000
4. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI1.0000.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.012
predicted_AB4.0000.458
predicted_AVG0.263-0.009
predicted_BB0.000-0.158
predicted_H1.0000.036
predicted_HR0.000-0.136
predicted_OBP0.300-0.003
predicted_R0.000-0.421
predicted_RBI1.0000.454
predicted_SLG0.411-0.014
predicted_SO1.0000.239
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 71
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0007.0001.0000.0002.0007.0005.0000.0003.0000.36840.36840.73680.36840.10530.36840.00000.1579
last_100.2010-36.00010.0001.0000.0002.0008.0007.0001.00010.0000.27780.29730.47220.27780.05560.22220.02780.2778
season0.6071-218.00052.0007.0001.0006.00023.00024.00012.00053.0000.23850.28510.36240.23850.02750.10550.05510.2431
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1240
predicted_3B0.0100
predicted_AB3.3770
predicted_AVG0.2696
predicted_BB0.1420
predicted_H0.9100
predicted_HBP0.0280
predicted_HR0.1590
predicted_OBP0.3043
predicted_R0.5220
predicted_RBI0.5920
predicted_SLG0.4534
predicted_SO0.7830
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09900.12400.1094model_form_blend
predicted_3B0.01400.01000.0123model_form_blend
predicted_AB3.66003.37703.5420model_form_blend
predicted_AVG0.27000.26960.2698model_form_blend
predicted_BB0.16900.14200.1577model_form_blend
predicted_H0.99000.91000.9566model_form_blend
predicted_HBP-0.02800.0280form_only
predicted_HR0.12000.15900.1363model_form_blend
predicted_OBP0.31800.30430.3123model_form_blend
predicted_R0.33800.52200.4147model_form_blend
predicted_RBI0.50000.59200.5384model_form_blend
predicted_SLG0.42900.45340.4392model_form_blend
predicted_SO0.74600.78300.7614model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder9
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260826_KC@TOR
game_typefull
mlbID664728
playerID664728
playerNameKyle Isbel
posCF
startedTrue
startingPositionCF
teamKC
teamID12
game_date2026-08-26
sl_k_percent22.4
sl_bb_percent5.4
sl_woba0.286
sl_xwoba0.267
sl_xba0.23
sl_xslg0.318
sl_sweet_spot_percent26.6
sl_barrel_batted_rate3.3
sl_hard_hit_percent33.7
sl_exit_velocity_avg88.7
sl_launch_angle_avg11.6
sl_whiff_percent18.2
sl_swing_percent48.1
Noah Cameron (702070) · PITCHER · Starter · Team KC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 25
All-history rows before 20260827: 25

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB3.0003.0003.000Pitching_BB1.8403.0001.1600.000
predicted_ER1.0001.0001.000Pitching_ER2.5600.000-1.5601.000
predicted_H4.0004.0004.000Pitching_H5.1202.000-1.1202.000
predicted_IP6.1006.1006.100Pitching_InningsPitched5.6405.0000.4601.100
predicted_SO5.0005.0005.000Pitching_SO5.1202.000-0.1203.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: 4.0000 -> 5.0000 (boost 1.0000, better)
Biggest Deboostpredicted_IP: 6.3333 -> 6.1000 (deboost -0.2333, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final21111predicted_SO: 4.0000 -> 5.0000 (boost 1.0000, better)predicted_IP: 6.3333 -> 6.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": "702070",
  "player_name": "Noah Cameron",
  "position": "Starter",
  "team": "KC",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 1.0,
        "predicted_H": 4.0,
        "predicted_HR": 1.0,
        "predicted_IP": 6.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": 1.0,
        "predicted_H": 4.0,
        "predicted_HR": 1.0,
        "predicted_IP": 6.1,
        "predicted_R": 1.0,
        "predicted_SO": 5.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 6.3333,
          "after": 6.1,
          "delta": -0.2333,
          "percent_delta": -0.0368,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "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": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 6.3333,
          "after": 6.1,
          "delta": -0.2333,
          "percent_delta": -0.0368,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 4.0,
        "after": 4.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 6.3333,
        "after": 6.1,
        "delta": -0.2333,
        "percent_delta": -0.0368,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 4.0,
        "after": 5.0,
        "delta": 1.0,
        "percent_delta": 0.25,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 1,
      "deboosted_metrics": 1,
      "better_metrics": 1,
      "worse_metrics": 1,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 4.0,
        "after": 5.0,
        "delta": 1.0,
        "percent_delta": 0.25,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 6.3333,
        "after": 6.1,
        "delta": -0.2333,
        "percent_delta": -0.0368,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB3.000-
predicted_ER1.000-
predicted_H4.000-
predicted_HR1.000-
predicted_IP6.333-
predicted_SO4.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 25
Reference playing time: 6.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45535.2005.00013.0009.00028.0000.0001.26170.61680.14020.36450.25230.78510.0000
last_100.351063.10024.00044.00024.00053.0006.0003.41051.07370.37900.69470.37900.83680.0947
season0.2025143.10064.000128.00046.000128.00014.0004.01861.21400.44650.89300.32090.89300.0977
Weighted Prediction From Real Data
MetricValue
predicted_BB2.0710
predicted_ER2.0770
predicted_ERA2.8887
predicted_H4.2110
predicted_HR0.4420
predicted_IP6.1000
predicted_SO5.4680
predicted_WHIP0.9706
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB3.00002.07102.4616model_form_blend
predicted_ER1.00002.07701.6242model_form_blend
predicted_ERA-2.88872.8887form_only
predicted_H4.00004.21104.1223model_form_blend
predicted_HR1.00000.44200.6766model_form_blend
predicted_IP6.10006.10006.1000model_form_blend
predicted_SO4.00005.46804.8508model_form_blend
predicted_WHIP-0.97060.9706form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP6.1
H4
R1
ER1
BB3
SO5
HR1
BF27
Pitches116

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB3
Pitching_Balk0
Pitching_Batters Faced20
Pitching_ER0
Pitching_ERA4.02
Pitching_Flyouts4
Pitching_Groundouts5
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched5.0
Pitching_Pitches85
Pitching_R0
Pitching_SO2
Pitching_Strikes50
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260821_DET@KC
game_typefull
mlbID702070
playerID702070
playerNameNoah Cameron
posP
startedTrue
startingPositionP
teamKC
teamID12
game_date2026-08-21
sl_k_percent21.0
sl_bb_percent7.7
sl_woba0.299
sl_xwoba0.313
sl_sweet_spot_percent38.6
sl_barrel_batted_rate7.9
sl_hard_hit_percent38.1
sl_whiff_percent26.3
sl_swing_percent47.7
sl_avg_best_speed77.884766728
sl_avg_hyper_speed93.99345023
Nate Pearson (663878) · PITCHER · Setup Man · Team KC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 14
All-history rows before 20260827: 14

Metric-by-Metric Comparison

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 30
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0000.0003.0003.0003.0000.0000.00001.20000.00000.60000.60000.60000.0000
last_100.35109.2001.0006.0005.00011.0000.0000.93101.13790.10350.62070.51721.13790.0000
season0.203033.2009.00023.00018.00028.0001.0002.40591.21780.26730.68320.53460.83170.0297
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4770
predicted_ER0.2640
predicted_ERA2.3803
predicted_H0.7730
predicted_HR0.0660
predicted_IP1.0000
predicted_SO0.8820
predicted_WHIP1.2502
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.47700.2243model_form_blend
predicted_ER0.00000.26400.1242model_form_blend
predicted_ERA-2.38032.3803form_only
predicted_H1.00000.77300.8932model_form_blend
predicted_HR0.00000.06600.0310model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00000.88201.4742model_form_blend
predicted_WHIP-1.25021.2502form_only

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced6
Pitching_ER0
Pitching_ERA2.41
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H1
Pitching_HBP1
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches25
Pitching_R0
Pitching_SO1
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260825_KC@TOR
game_typefull
mlbID663878
playerID663878
playerNameNate Pearson
posP
startedFalse
startingPositionP
teamKC
teamID12
game_date2026-08-25
sl_k_percent20.3
sl_bb_percent12.6
sl_woba0.273
sl_xwoba0.312
sl_sweet_spot_percent32.6
sl_barrel_batted_rate6.6
sl_hard_hit_percent34.8
sl_whiff_percent21.6
sl_swing_percent44.9
sl_avg_best_speed74.540696957
sl_avg_hyper_speed93.438579011
Steven Cruz (674444) · PITCHER · Closer · Team KC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 48
All-history rows before 20260827: 48

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3960.000-0.3960.000
predicted_ER0.0000.0000.000Pitching_ER0.5212.000-0.521-2.000
predicted_H0.0000.0000.000Pitching_H0.9173.000-0.917-3.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9581.0000.0420.000
predicted_SO0.0000.0000.000Pitching_SO1.1250.000-1.1250.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": "674444",
  "player_name": "Steven Cruz",
  "position": "Closer",
  "team": "KC",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 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: 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.1004.0007.0001.0003.0001.0006.75001.50000.75001.31250.18750.56250.1875
last_100.351010.2006.00012.0002.0007.0002.0005.06251.31250.56251.12500.18750.65620.1875
season0.204850.20025.00044.00019.00054.00012.0004.44081.24340.49340.86840.37501.06580.2368
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2720
predicted_ER0.5890
predicted_ERA5.3049
predicted_H1.0980
predicted_HR0.1810
predicted_IP1.0000
predicted_SO0.7780
predicted_WHIP1.3697
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.27200.1389model_form_blend
predicted_ER0.00000.58900.3008model_form_blend
predicted_ERA-5.30495.3049form_only
predicted_H0.00001.09800.5608model_form_blend
predicted_HR0.00000.18100.0924model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00000.77800.3974model_form_blend
predicted_WHIP-1.36971.3697form_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 date48
Season rows before report date48
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.0
H0
R0
ER0
BB0
SO0
HR0
BF3
Pitches13

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER2
Pitching_ERA4.44
Pitching_Flyouts0
Pitching_Groundouts2
Pitching_H3
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches12
Pitching_R2
Pitching_SO0
Pitching_Strikes9
Pitching_Wild Pitch0
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260825_KC@TOR
game_typefull
mlbID674444
playerID674444
playerNameSteven Cruz
posP
startedFalse
startingPositionP
teamKC
teamID12
game_date2026-08-25
sl_k_percent25.8
sl_bb_percent8.8
sl_woba0.333
sl_xwoba0.315
sl_sweet_spot_percent35.3
sl_barrel_batted_rate10.8
sl_hard_hit_percent36.0
sl_whiff_percent27.7
sl_swing_percent52.5
sl_avg_best_speed77.351636765
sl_avg_hyper_speed94.202071985
John Schreiber (670167) · PITCHER · Middle Reliever (High Leverage) · Team KC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 54
All-history rows before 20260827: 54

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB0.4070.0001.5932.000
predicted_ER3.0003.0003.000Pitching_ER0.3700.0002.6303.000
predicted_H5.0005.0005.000Pitching_H0.7590.0004.2415.000
predicted_IP0.2000.2000.200Pitching_InningsPitched0.7611.000-0.561-0.800
predicted_SO2.0002.0002.000Pitching_SO0.6671.0001.3331.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics2
Boosted Metrics0
Deboosted Metrics2
Better Metrics0
Worse Metrics2
Biggest Boost-
Biggest Deboostpredicted_SO: 3.0000 -> 2.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: 3.0000 -> 2.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": "670167",
  "player_name": "John Schreiber",
  "position": "Middle Reliever (High Leverage)",
  "team": "KC",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 3.0,
        "predicted_H": 5.0,
        "predicted_HR": 1.0,
        "predicted_IP": 0.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": 2.0,
        "predicted_ER": 3.0,
        "predicted_H": 5.0,
        "predicted_HR": 1.0,
        "predicted_IP": 0.2,
        "predicted_R": 3.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 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": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 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": 0.6667,
        "after": 0.2,
        "delta": -0.4667,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 3.0,
        "after": 2.0,
        "delta": -1.0,
        "percent_delta": -0.3333,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 0,
      "deboosted_metrics": 2,
      "better_metrics": 0,
      "worse_metrics": 2,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 3.0,
        "after": 2.0,
        "delta": -1.0,
        "percent_delta": -0.3333,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB2.000-
predicted_ER3.000-
predicted_H5.000-
predicted_HR1.000-
predicted_IP0.667-
predicted_SO3.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 54
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.1002.0001.0001.0003.0000.0004.15380.46150.46150.23080.23080.69230.0000
last_100.35108.0003.0002.0006.0007.0000.0003.37501.00000.37500.25000.75000.87500.0000
season0.205448.10020.00041.00022.00036.0007.0003.72411.30340.41380.84830.45520.74480.1448
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3460
predicted_ER0.3630
predicted_ERA4.0371
predicted_H0.4610
predicted_HR0.0560
predicted_IP0.2000
predicted_SO0.6700
predicted_WHIP0.9966
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00000.34601.1626model_form_blend
predicted_ER3.00000.36301.6649model_form_blend
predicted_ERA-4.03714.0371form_only
predicted_H5.00000.46102.7019model_form_blend
predicted_HR1.00000.05600.5220model_form_blend
predicted_IP0.20000.20000.2000model_form_blend
predicted_SO3.00000.67001.8203model_form_blend
predicted_WHIP-0.99660.9966form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP0.2
H5
R3
ER3
BB2
SO2
HR1
BF9
Pitches31

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA3.72
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches13
Pitching_R0
Pitching_SO1
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260825_KC@TOR
game_typefull
mlbID670167
playerID670167
playerNameJohn Schreiber
posP
startedFalse
startingPositionP
teamKC
teamID12
game_date2026-08-25
sl_k_percent17.7
sl_bb_percent10.8
sl_woba0.311
sl_xwoba0.326
sl_sweet_spot_percent36.8
sl_barrel_batted_rate6.3
sl_hard_hit_percent40.3
sl_whiff_percent21.3
sl_swing_percent43.1
sl_avg_best_speed77.560686286
sl_avg_hyper_speed94.151722929

Home Team: TOR

Home Pitcher Deep Analysis

FieldValue
PitcherSpencer Arrighetti
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.3621
ESPN Rank238
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2800
Avg Velo84.4496
Avg Spin2497.7610
HB Inches0
IVB Inches0
Release Extension0
Pre IP4.2000
Pre ER2
Pre H6
Pre BB1
Pre SO3
Season ERA4.7299
Season WHIP1.3467
Role Avg IP5.1760
Recent Avg IP3.8000
Last Start IP1
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TOR",
    "games": 133,
    "wins": 64,
    "losses": 69,
    "win_pct": 0.4812,
    "runs_scored": 524.0,
    "runs_allowed": 581.0,
    "run_differential": -57.0,
    "run_differential_per_game": -0.4286,
    "avg_runs_scored": 3.9398,
    "avg_runs_allowed": 4.3684,
    "offense_index": 0.8795,
    "defense_index": 1.0254,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 3.8,
      "run_differential": 4.0
    },
    "available": true,
    "quality_score": -0.0686
  },
  "opponent": {
    "team": "KC",
    "games": 133,
    "wins": 59,
    "losses": 74,
    "win_pct": 0.4436,
    "runs_scored": 565.0,
    "runs_allowed": 654.0,
    "run_differential": -89.0,
    "run_differential_per_game": -0.6692,
    "avg_runs_scored": 4.2481,
    "avg_runs_allowed": 4.9173,
    "offense_index": 0.9483,
    "defense_index": 0.911,
    "current_streak": "W9",
    "recent": {
      "games": 10,
      "wins": 9,
      "losses": 1,
      "win_pct": 0.9,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 3.1,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.0099
  },
  "edges": {
    "quality_edge": -0.0785,
    "offense_edge": -0.1205,
    "opponent_offense_edge": -0.0517,
    "defense_strength": 0.0254,
    "opponent_defense_weakness": 0.089,
    "recent_win_pct_edge": -0.4
  },
  "player_factors": {
    "ip": 0.9997,
    "run_prevention": 0.9931,
    "strikeout": 1.0018
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "681293",
    "profile": {
      "available": true,
      "pitcher_id": "681293",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 383.0,
        "k_percent": 22.7,
        "bb_percent": 13.0,
        "woba": 0.322,
        "xwoba": 0.345,
        "sweet_spot_percent": 38.9,
        "barrel_batted_rate": 8.2,
        "hard_hit_percent": 31.1,
        "avg_best_speed": 77.124,
        "avg_hyper_speed": 92.904,
        "whiff_percent": 25.6,
        "swing_percent": 42.0
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.4312,
        "command_and_miss": -0.125,
        "regression_edge": -0.6571,
        "xwoba_edge": -0.9714,
        "barrel_edge": -0.2444,
        "hard_hit_edge": 0.9571,
        "whiff_edge": 0.0571,
        "bb_edge": -0.95,
        "pitch_design_score": -0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "681293",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 75,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 75,
          "pitch_usage": 0.0,
          "release_speed": 84.44963252833853,
          "release_spin_rate": 2497.7609751645673,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 75,
            "pitch_usage": 0.0,
            "release_speed": 84.44963252833853,
            "release_spin_rate": 2497.7609751645673,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.4496,
          "release_spin_rate": 2497.761,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.3621,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0308,
      "strikeout_factor": 1.0063,
      "walk_factor": 1.076,
      "homer_factor": 1.0104,
      "woba_minus_xwoba": -0.023,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "681293",
        "espn_id": 4726080,
        "player_name": "Spencer Arrighetti",
        "team": "TOR",
        "role": "pitcher",
        "espn_rank": 238,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 238,
          "gp_value": 18.0,
          "gp_rank": 387,
          "gs_value": 17.0,
          "gs_rank": 109,
          "qs_value": 6.0,
          "qs_rank": 83,
          "era_value": 4.7299,
          "era_rank": null,
          "w_value": 7.0,
          "w_rank": 73,
          "l_value": 6.0,
          "l_rank": 97,
          "sv_value": 0.0,
          "sv_rank": 241,
          "hld_value": 0.0,
          "hld_rank": 331,
          "ip_value": 91.1,
          "ip_rank": 126,
          "h_value": 71.0,
          "h_rank": 151,
          "er_value": 48.0,
          "er_rank": 97,
          "hr_value": 13.0,
          "hr_rank": 107,
          "bb_value": 52.0,
          "bb_rank": 18,
          "k_value": 91.0,
          "k_rank": 103,
          "k_per_9_value": 8.967153,
          "k_per_9_rank": 22.0,
          "whip_value": 1.3467,
          "whip_rank": null,
          "war_value": 0.57,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 4.0,
        "factor": 1.0308,
        "adjusted": 4
      },
      "predicted_H": {
        "original": 4.0,
        "factor": 1.0308,
        "adjusted": 4
      },
      "predicted_BB": {
        "original": 4.0,
        "factor": 1.076,
        "adjusted": 4
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 1.0104,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 5.0,
        "factor": 1.0063,
        "adjusted": 5
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 44.1,
    "ER": 41,
    "H": 44,
    "BB": 26,
    "SO": 48,
    "HR": 11,
    "ERA": 8.32330827067669,
    "WHIP": 1.5789473684210527,
    "K9": 9.74436090225564,
    "HR9": 2.233082706766917,
    "games_pitched": 10,
    "quality_starts": 2,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-21T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "681293",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 75,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 75,
    "pitch_usage": 0.0,
    "release_speed": 84.44963252833853,
    "release_spin_rate": 2497.7609751645673,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 75,
      "pitch_usage": 0.0,
      "release_speed": 84.44963252833853,
      "release_spin_rate": 2497.7609751645673,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.4496,
    "release_spin_rate": 2497.761,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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": 18.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7826,
    "prior_weight": 0.2174
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "681293",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 18,
  "reference_playing_time": 4.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 19.1,
        "ER": 16.0,
        "R": 16.0,
        "H": 15.0,
        "BB": 15.0,
        "SO": 16.0,
        "HR": 4.0,
        "BF": 89.0,
        "Pitches": 346.0
      },
      "per_game": {
        "IP": 4.0,
        "ER": 3.2,
        "R": 3.2,
        "H": 3.0,
        "BB": 3.0,
        "SO": 3.2,
        "HR": 0.8,
        "BF": 17.8,
        "Pitches": 69.2
      },
      "rates": {
        "ERA": 7.4483,
        "WHIP": 1.5517,
        "ER_per_IP": 0.82759,
        "H_per_IP": 0.77586,
        "BB_per_IP": 0.77586,
        "SO_per_IP": 0.82759,
        "HR_per_IP": 0.2069
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 44.1,
        "ER": 41.0,
        "R": 41.0,
        "H": 44.0,
        "BB": 26.0,
        "SO": 48.0,
        "HR": 11.0,
        "BF": 203.0,
        "Pitches": 808.0
      },
      "per_game": {
        "IP": 4.1,
        "ER": 4.1,
        "R": 4.1,
        "H": 4.4,
        "BB": 2.6,
        "SO": 4.8,
        "HR": 1.1,
        "BF": 20.3,
        "Pitches": 80.8
      },
      "rates": {
        "ERA": 8.3233,
        "WHIP": 1.5789,
        "ER_per_IP": 0.92481,
        "H_per_IP": 0.99248,
        "BB_per_IP": 0.58647,
        "SO_per_IP": 1.08271,
        "HR_per_IP": 0.24812
      }
    },
    "season": {
      "games": 18,
      "totals": {
        "IP": 91.1,
        "ER": 48.0,
        "R": 50.0,
        "H": 71.0,
        "BB": 52.0,
        "SO": 91.0,
        "HR": 13.0,
        "BF": 401.0,
        "Pitches": 1565.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 2.6667,
        "R": 2.7778,
        "H": 3.9444,
        "BB": 2.8889,
        "SO": 5.0556,
        "HR": 0.7222,
        "BF": 22.2778,
        "Pitches": 86.9444
      },
      "rates": {
        "ERA": 4.7299,
        "WHIP": 1.3467,
        "ER_per_IP": 0.52555,
        "H_per_IP": 0.77737,
        "BB_per_IP": 0.56934,
        "SO_per_IP": 0.99635,
        "HR_per_IP": 0.14234
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 4.1,
    "predicted_ER": 3.233,
    "predicted_H": 3.86,
    "predicted_BB": 2.649,
    "predicted_SO": 4.171,
    "predicted_HR": 0.857,
    "predicted_ERA": 6.6229,
    "predicted_WHIP": 1.4816
  }
}
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,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 18.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7826,
    "prior_weight": 0.2174
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 4.2,
      "form": 4.1,
      "final": 4.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 3.233,
      "final": 2.6882,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 6.0,
      "form": 3.86,
      "final": 4.8056,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 2.649,
      "final": 1.9204,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 3.0,
      "form": 4.171,
      "final": 3.6536,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.857,
      "final": 0.9202,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 6.6229,
      "final": 6.6229,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4816,
      "final": 1.4816,
      "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
PitcherSpencer Miles
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.4975
ESPN Rank81
Movement AvailableTrue
Primary Pitch-
Movement Score0.0656
Avg Velo91.0199
Avg Spin2457.7211
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER0
Pre H1
Pre BB0
Pre SO1
Season ERA3.0249
Season WHIP1.0954
Role Avg IP1.8430
Recent Avg IP0.8670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TOR",
    "games": 133,
    "wins": 64,
    "losses": 69,
    "win_pct": 0.4812,
    "runs_scored": 524.0,
    "runs_allowed": 581.0,
    "run_differential": -57.0,
    "run_differential_per_game": -0.4286,
    "avg_runs_scored": 3.9398,
    "avg_runs_allowed": 4.3684,
    "offense_index": 0.8795,
    "defense_index": 1.0254,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 3.8,
      "run_differential": 4.0
    },
    "available": true,
    "quality_score": -0.0686
  },
  "opponent": {
    "team": "KC",
    "games": 133,
    "wins": 59,
    "losses": 74,
    "win_pct": 0.4436,
    "runs_scored": 565.0,
    "runs_allowed": 654.0,
    "run_differential": -89.0,
    "run_differential_per_game": -0.6692,
    "avg_runs_scored": 4.2481,
    "avg_runs_allowed": 4.9173,
    "offense_index": 0.9483,
    "defense_index": 0.911,
    "current_streak": "W9",
    "recent": {
      "games": 10,
      "wins": 9,
      "losses": 1,
      "win_pct": 0.9,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 3.1,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.0099
  },
  "edges": {
    "quality_edge": -0.0785,
    "offense_edge": -0.1205,
    "opponent_offense_edge": -0.0517,
    "defense_strength": 0.0254,
    "opponent_defense_weakness": 0.089,
    "recent_win_pct_edge": -0.4
  },
  "player_factors": {
    "ip": 0.9997,
    "run_prevention": 0.9931,
    "strikeout": 1.0018
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "693686",
    "profile": {
      "available": true,
      "pitcher_id": "693686",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 317.0,
        "k_percent": 22.5,
        "bb_percent": 6.2,
        "woba": 0.262,
        "xwoba": 0.27,
        "sweet_spot_percent": 27.4,
        "barrel_batted_rate": 3.5,
        "hard_hit_percent": 35.2,
        "avg_best_speed": 75.3265,
        "avg_hyper_speed": 93.0347,
        "whiff_percent": 18.7,
        "swing_percent": 48.2
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.9862,
        "command_and_miss": -0.1429,
        "regression_edge": -0.2286,
        "xwoba_edge": 1.1714,
        "barrel_edge": 0.8,
        "hard_hit_edge": 0.3714,
        "whiff_edge": -0.9286,
        "bb_edge": 0.75,
        "pitch_design_score": 0.0656
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "693686",
        "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.01993422348478,
          "release_spin_rate": 2457.7211257707427,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.01993422348478,
            "release_spin_rate": 2457.7211257707427,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0199,
          "release_spin_rate": 2457.7211,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0656,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.4688,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.4975,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9577,
      "strikeout_factor": 0.9657,
      "walk_factor": 0.94,
      "homer_factor": 0.886,
      "woba_minus_xwoba": -0.008,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "693686",
        "espn_id": 4833671,
        "player_name": "Spencer Miles",
        "team": "TOR",
        "role": "pitcher",
        "espn_rank": 81,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 81,
          "gp_value": 40.0,
          "gp_rank": 149,
          "gs_value": 4.0,
          "gs_rank": 218,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 3.0248,
          "era_rank": null,
          "w_value": 5.0,
          "w_rank": 123,
          "l_value": 2.0,
          "l_rank": 301,
          "sv_value": 1.0,
          "sv_rank": 128,
          "hld_value": 4.0,
          "hld_rank": 179,
          "ip_value": 80.1,
          "ip_rank": 144,
          "h_value": 68.0,
          "h_rank": 156,
          "er_value": 27.0,
          "er_rank": 197,
          "hr_value": 5.0,
          "hr_rank": 289,
          "bb_value": 20.0,
          "bb_rank": 262,
          "k_value": 73.0,
          "k_rank": 152,
          "k_per_9_value": 8.178423,
          "k_per_9_rank": 28.0,
          "whip_value": 1.0954,
          "whip_rank": null,
          "war_value": 1.81,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9577,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9577,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.94,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.886,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9657,
        "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": 10,
    "BB": 1,
    "SO": 5,
    "HR": 0,
    "ERA": 1.741935483870968,
    "WHIP": 1.0645161290322582,
    "K9": 4.35483870967742,
    "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-22T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "693686",
  "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.01993422348478,
    "release_spin_rate": 2457.7211257707427,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.01993422348478,
      "release_spin_rate": 2457.7211257707427,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0199,
    "release_spin_rate": 2457.7211,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0656,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.4688,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 16.122,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7633,
    "prior_weight": 0.2367
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "693686",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 40,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 3.0,
        "BB": 0.0,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 16.0,
        "Pitches": 51.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.6,
        "BB": 0.0,
        "SO": 0.2,
        "HR": 0.0,
        "BF": 3.2,
        "Pitches": 10.2
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.6923,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.69231,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.23077,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 10.0,
        "BB": 1.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 42.0,
        "Pitches": 146.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 1.0,
        "BB": 0.1,
        "SO": 0.5,
        "HR": 0.0,
        "BF": 4.2,
        "Pitches": 14.6
      },
      "rates": {
        "ERA": 1.7419,
        "WHIP": 1.0645,
        "ER_per_IP": 0.19355,
        "H_per_IP": 0.96774,
        "BB_per_IP": 0.09677,
        "SO_per_IP": 0.48387,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 40,
      "totals": {
        "IP": 80.1,
        "ER": 27.0,
        "R": 29.0,
        "H": 68.0,
        "BB": 20.0,
        "SO": 73.0,
        "HR": 5.0,
        "BF": 324.0,
        "Pitches": 1244.0
      },
      "per_game": {
        "IP": 2.0,
        "ER": 0.675,
        "R": 0.725,
        "H": 1.7,
        "BB": 0.5,
        "SO": 1.825,
        "HR": 0.125,
        "BF": 8.1,
        "Pitches": 31.1
      },
      "rates": {
        "ERA": 3.0249,
        "WHIP": 1.0954,
        "ER_per_IP": 0.3361,
        "H_per_IP": 0.84647,
        "BB_per_IP": 0.24896,
        "SO_per_IP": 0.90871,
        "HR_per_IP": 0.06224
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.273,
    "predicted_H": 1.055,
    "predicted_BB": 0.186,
    "predicted_SO": 0.703,
    "predicted_HR": 0.054,
    "predicted_ERA": 1.9938,
    "predicted_WHIP": 1.0072
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.45,
  "form_weight": 0.55,
  "form_reliability": 0.7633,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 16.122,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7633,
    "prior_weight": 0.2367
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.1,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.273,
      "final": 0.1501,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 1.055,
      "final": 1.0302,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.186,
      "final": 0.1023,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.703,
      "final": 0.8367,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.054,
      "final": 0.0297,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.9938,
      "final": 1.9938,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0072,
      "final": 1.0072,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherLouis Varland
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score1.0449
ESPN Rank27
Movement AvailableTrue
Primary Pitch-
Movement Score0.2117
Avg Velo93.6287
Avg Spin2261.5408
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER3
Pre H2
Pre BB3
Pre SO0
Season ERA1.2211
Season WHIP0.9799
Role Avg IP1.1060
Recent Avg IP0.9330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TOR",
    "games": 133,
    "wins": 64,
    "losses": 69,
    "win_pct": 0.4812,
    "runs_scored": 524.0,
    "runs_allowed": 581.0,
    "run_differential": -57.0,
    "run_differential_per_game": -0.4286,
    "avg_runs_scored": 3.9398,
    "avg_runs_allowed": 4.3684,
    "offense_index": 0.8795,
    "defense_index": 1.0254,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 3.8,
      "run_differential": 4.0
    },
    "available": true,
    "quality_score": -0.0686
  },
  "opponent": {
    "team": "KC",
    "games": 133,
    "wins": 59,
    "losses": 74,
    "win_pct": 0.4436,
    "runs_scored": 565.0,
    "runs_allowed": 654.0,
    "run_differential": -89.0,
    "run_differential_per_game": -0.6692,
    "avg_runs_scored": 4.2481,
    "avg_runs_allowed": 4.9173,
    "offense_index": 0.9483,
    "defense_index": 0.911,
    "current_streak": "W9",
    "recent": {
      "games": 10,
      "wins": 9,
      "losses": 1,
      "win_pct": 0.9,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 3.1,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.0099
  },
  "edges": {
    "quality_edge": -0.0785,
    "offense_edge": -0.1205,
    "opponent_offense_edge": -0.0517,
    "defense_strength": 0.0254,
    "opponent_defense_weakness": 0.089,
    "recent_win_pct_edge": -0.4
  },
  "player_factors": {
    "ip": 0.9997,
    "run_prevention": 0.9931,
    "strikeout": 1.0018
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "686973",
    "profile": {
      "available": true,
      "pitcher_id": "686973",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 242.0,
        "k_percent": 31.8,
        "bb_percent": 7.0,
        "woba": 0.229,
        "xwoba": 0.233,
        "sweet_spot_percent": 25.3,
        "barrel_batted_rate": 4.4,
        "hard_hit_percent": 38.0,
        "avg_best_speed": 77.2411,
        "avg_hyper_speed": 93.5225,
        "whiff_percent": 29.6,
        "swing_percent": 52.2
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.472,
        "command_and_miss": 0.96,
        "regression_edge": -0.1143,
        "xwoba_edge": 2.2286,
        "barrel_edge": 0.6,
        "hard_hit_edge": -0.0286,
        "whiff_edge": 0.6286,
        "bb_edge": 0.55,
        "pitch_design_score": 0.2117
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "686973",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 9,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 9,
          "pitch_usage": 0.0,
          "release_speed": 93.62867057402154,
          "release_spin_rate": 2261.540778270711,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 9,
            "pitch_usage": 0.0,
            "release_speed": 93.62867057402154,
            "release_spin_rate": 2261.540778270711,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.6287,
          "release_spin_rate": 2261.5408,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.2117,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.5123,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 1.0449,
      "sample_weight": 0.968,
      "run_prevention_factor": 0.9112,
      "strikeout_factor": 1.0785,
      "walk_factor": 0.9574,
      "homer_factor": 0.8899,
      "woba_minus_xwoba": -0.004,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "686973",
        "espn_id": 4917888,
        "player_name": "Louis Varland",
        "team": "TOR",
        "role": "pitcher",
        "espn_rank": 27,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 27,
          "gp_value": 60.0,
          "gp_rank": 17,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 1.2211,
          "era_rank": null,
          "w_value": 5.0,
          "w_rank": 123,
          "l_value": 4.0,
          "l_rank": 162,
          "sv_value": 29.0,
          "sv_rank": 7,
          "hld_value": 5.0,
          "hld_rank": 159,
          "ip_value": 66.1,
          "ip_rank": 177,
          "h_value": 47.0,
          "h_rank": 235,
          "er_value": 9.0,
          "er_rank": 524,
          "hr_value": 2.0,
          "hr_rank": 486,
          "bb_value": 18.0,
          "bb_rank": 301,
          "k_value": 82.0,
          "k_rank": 129,
          "k_per_9_value": 11.125628,
          "k_per_9_rank": 19.0,
          "whip_value": 0.9798,
          "whip_rank": null,
          "war_value": 3.06,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.914,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.914,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9588,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.8934,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.076,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 10.1,
    "ER": 3,
    "H": 8,
    "BB": 3,
    "SO": 9,
    "HR": 1,
    "ERA": 2.612903225806452,
    "WHIP": 1.0645161290322582,
    "K9": 7.838709677419356,
    "HR9": 0.870967741935484,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-22T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "686973",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 9,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 9,
    "pitch_usage": 0.0,
    "release_speed": 93.62867057402154,
    "release_spin_rate": 2261.540778270711,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 9,
      "pitch_usage": 0.0,
      "release_speed": 93.62867057402154,
      "release_spin_rate": 2261.540778270711,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.6287,
    "release_spin_rate": 2261.5408,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.2117,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.5123,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.313,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.727,
    "prior_weight": 0.273
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "686973",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 60,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 2.0,
        "BB": 1.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 17.0,
        "Pitches": 64.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.4,
        "BB": 0.2,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 3.4,
        "Pitches": 12.8
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.6429,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.42857,
        "BB_per_IP": 0.21429,
        "SO_per_IP": 1.28571,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.1,
        "ER": 3.0,
        "R": 7.0,
        "H": 8.0,
        "BB": 3.0,
        "SO": 9.0,
        "HR": 1.0,
        "BF": 43.0,
        "Pitches": 180.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3,
        "R": 0.7,
        "H": 0.8,
        "BB": 0.3,
        "SO": 0.9,
        "HR": 0.1,
        "BF": 4.3,
        "Pitches": 18.0
      },
      "rates": {
        "ERA": 2.6129,
        "WHIP": 1.0645,
        "ER_per_IP": 0.29032,
        "H_per_IP": 0.77419,
        "BB_per_IP": 0.29032,
        "SO_per_IP": 0.87097,
        "HR_per_IP": 0.09677
      }
    },
    "season": {
      "games": 60,
      "totals": {
        "IP": 66.1,
        "ER": 9.0,
        "R": 18.0,
        "H": 47.0,
        "BB": 18.0,
        "SO": 82.0,
        "HR": 2.0,
        "BF": 258.0,
        "Pitches": 1050.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.15,
        "R": 0.3,
        "H": 0.7833,
        "BB": 0.3,
        "SO": 1.3667,
        "HR": 0.0333,
        "BF": 4.3,
        "Pitches": 17.5
      },
      "rates": {
        "ERA": 1.2211,
        "WHIP": 0.9799,
        "ER_per_IP": 0.13568,
        "H_per_IP": 0.70854,
        "BB_per_IP": 0.27136,
        "SO_per_IP": 1.23618,
        "HR_per_IP": 0.03015
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.23,
    "predicted_H": 0.706,
    "predicted_BB": 0.284,
    "predicted_SO": 1.08,
    "predicted_HR": 0.069,
    "predicted_ERA": 2.0726,
    "predicted_WHIP": 0.9902
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4653,
  "form_weight": 0.5347,
  "form_reliability": 0.727,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.313,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.727,
    "prior_weight": 0.273
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 3.0,
      "form": 0.23,
      "final": 1.519,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.706,
      "final": 1.3082,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 3.0,
      "form": 0.284,
      "final": 1.5479,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.08,
      "final": 0.5774,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.069,
      "final": 0.0369,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.0726,
      "final": 2.0726,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9902,
      "final": 0.9902,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherTyler Rogers
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.4448
ESPN Rank123
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2800
Avg Velo81.1083
Avg Spin2077.2309
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H2
Pre BB1
Pre SO0
Season ERA1.9392
Season WHIP1.1768
Role Avg IP0.9730
Recent Avg IP1.0670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TOR",
    "games": 133,
    "wins": 64,
    "losses": 69,
    "win_pct": 0.4812,
    "runs_scored": 524.0,
    "runs_allowed": 581.0,
    "run_differential": -57.0,
    "run_differential_per_game": -0.4286,
    "avg_runs_scored": 3.9398,
    "avg_runs_allowed": 4.3684,
    "offense_index": 0.8795,
    "defense_index": 1.0254,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 3.8,
      "run_differential": 4.0
    },
    "available": true,
    "quality_score": -0.0686
  },
  "opponent": {
    "team": "KC",
    "games": 133,
    "wins": 59,
    "losses": 74,
    "win_pct": 0.4436,
    "runs_scored": 565.0,
    "runs_allowed": 654.0,
    "run_differential": -89.0,
    "run_differential_per_game": -0.6692,
    "avg_runs_scored": 4.2481,
    "avg_runs_allowed": 4.9173,
    "offense_index": 0.9483,
    "defense_index": 0.911,
    "current_streak": "W9",
    "recent": {
      "games": 10,
      "wins": 9,
      "losses": 1,
      "win_pct": 0.9,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 3.1,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.0099
  },
  "edges": {
    "quality_edge": -0.0785,
    "offense_edge": -0.1205,
    "opponent_offense_edge": -0.0517,
    "defense_strength": 0.0254,
    "opponent_defense_weakness": 0.089,
    "recent_win_pct_edge": -0.4
  },
  "player_factors": {
    "ip": 0.9997,
    "run_prevention": 0.9931,
    "strikeout": 1.0018
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "643511",
    "profile": {
      "available": true,
      "pitcher_id": "643511",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 228.0,
        "k_percent": 12.7,
        "bb_percent": 8.0,
        "woba": 0.25,
        "xwoba": 0.259,
        "sweet_spot_percent": 23.0,
        "barrel_batted_rate": 1.6,
        "hard_hit_percent": 27.6,
        "avg_best_speed": 72.2247,
        "avg_hyper_speed": 92.487,
        "whiff_percent": 14.7,
        "swing_percent": 50.8
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.4503,
        "command_and_miss": -1.0629,
        "regression_edge": -0.2571,
        "xwoba_edge": 1.4857,
        "barrel_edge": 1.2222,
        "hard_hit_edge": 1.4571,
        "whiff_edge": -1.5,
        "bb_edge": 0.3,
        "pitch_design_score": -0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "643511",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 13,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 13,
          "pitch_usage": 0.0,
          "release_speed": 81.10833174634831,
          "release_spin_rate": 2077.230939693582,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 13,
            "pitch_usage": 0.0,
            "release_speed": 81.10833174634831,
            "release_spin_rate": 2077.230939693582,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 81.1083,
          "release_spin_rate": 2077.2309,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.4448,
      "sample_weight": 0.912,
      "run_prevention_factor": 0.9622,
      "strikeout_factor": 0.8968,
      "walk_factor": 0.9781,
      "homer_factor": 0.817,
      "woba_minus_xwoba": -0.009,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "643511",
        "espn_id": 34026,
        "player_name": "Tyler Rogers",
        "team": "TOR",
        "role": "pitcher",
        "espn_rank": 123,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 123,
          "gp_value": 62.0,
          "gp_rank": 7,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 1.9392,
          "era_rank": null,
          "w_value": 2.0,
          "w_rank": 293,
          "l_value": 2.0,
          "l_rank": 301,
          "sv_value": 4.0,
          "sv_rank": 48,
          "hld_value": 27.0,
          "hld_rank": 2,
          "ip_value": 60.1,
          "ip_rank": 197,
          "h_value": 51.0,
          "h_rank": 210,
          "er_value": 13.0,
          "er_rank": 423,
          "hr_value": 1.0,
          "hr_rank": 584,
          "bb_value": 20.0,
          "bb_rank": 262,
          "k_value": 32.0,
          "k_rank": 381,
          "k_per_9_value": 4.7734804,
          "k_per_9_rank": 52.0,
          "whip_value": 1.1767,
          "whip_rank": null,
          "war_value": 1.36,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9655,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9655,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.98,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.8331,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9059,
        "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": 4,
    "H": 11,
    "BB": 6,
    "SO": 5,
    "HR": 1,
    "ERA": 3.483870967741936,
    "WHIP": 1.6451612903225807,
    "K9": 4.35483870967742,
    "HR9": 0.870967741935484,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "643511",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 13,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 13,
    "pitch_usage": 0.0,
    "release_speed": 81.10833174634831,
    "release_spin_rate": 2077.230939693582,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 13,
      "pitch_usage": 0.0,
      "release_speed": 81.10833174634831,
      "release_spin_rate": 2077.230939693582,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 81.1083,
    "release_spin_rate": 2077.2309,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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.108,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7077,
    "prior_weight": 0.2923
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "643511",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 62,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 3.0,
        "R": 3.0,
        "H": 7.0,
        "BB": 0.0,
        "SO": 4.0,
        "HR": 1.0,
        "BF": 23.0,
        "Pitches": 74.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 1.4,
        "BB": 0.0,
        "SO": 0.8,
        "HR": 0.2,
        "BF": 4.6,
        "Pitches": 14.8
      },
      "rates": {
        "ERA": 5.0625,
        "WHIP": 1.3125,
        "ER_per_IP": 0.5625,
        "H_per_IP": 1.3125,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.75,
        "HR_per_IP": 0.1875
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.1,
        "ER": 4.0,
        "R": 5.0,
        "H": 11.0,
        "BB": 6.0,
        "SO": 5.0,
        "HR": 1.0,
        "BF": 48.0,
        "Pitches": 161.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.5,
        "H": 1.1,
        "BB": 0.6,
        "SO": 0.5,
        "HR": 0.1,
        "BF": 4.8,
        "Pitches": 16.1
      },
      "rates": {
        "ERA": 3.4839,
        "WHIP": 1.6452,
        "ER_per_IP": 0.3871,
        "H_per_IP": 1.06452,
        "BB_per_IP": 0.58065,
        "SO_per_IP": 0.48387,
        "HR_per_IP": 0.09677
      }
    },
    "season": {
      "games": 62,
      "totals": {
        "IP": 60.1,
        "ER": 13.0,
        "R": 21.0,
        "H": 51.0,
        "BB": 20.0,
        "SO": 32.0,
        "HR": 1.0,
        "BF": 251.0,
        "Pitches": 859.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2097,
        "R": 0.3387,
        "H": 0.8226,
        "BB": 0.3226,
        "SO": 0.5161,
        "HR": 0.0161,
        "BF": 4.0484,
        "Pitches": 13.8548
      },
      "rates": {
        "ERA": 1.9392,
        "WHIP": 1.1768,
        "ER_per_IP": 0.21547,
        "H_per_IP": 0.8453,
        "BB_per_IP": 0.33149,
        "SO_per_IP": 0.53039,
        "HR_per_IP": 0.01657
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.452,
    "predicted_H": 1.086,
    "predicted_BB": 0.298,
    "predicted_SO": 0.71,
    "predicted_HR": 0.129,
    "predicted_ERA": 4.0668,
    "predicted_WHIP": 1.3845
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4735,
  "form_weight": 0.5265,
  "form_reliability": 0.7077,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.108,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7077,
    "prior_weight": 0.2923
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.452,
      "final": 0.7115,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 1.086,
      "final": 1.5188,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.298,
      "final": 0.6304,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.71,
      "final": 0.3738,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.129,
      "final": 0.0679,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.0668,
      "final": 4.0668,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3845,
      "final": 1.3845,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherMason Fluharty
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.4772
ESPN Rank185
Movement AvailableTrue
Primary Pitch-
Movement Score-0.1657
Avg Velo86.8891
Avg Spin2590.7730
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.2000
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA3.0759
Season WHIP1.1772
Role Avg IP0.7550
Recent Avg IP0.6670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TOR",
    "games": 133,
    "wins": 64,
    "losses": 69,
    "win_pct": 0.4812,
    "runs_scored": 524.0,
    "runs_allowed": 581.0,
    "run_differential": -57.0,
    "run_differential_per_game": -0.4286,
    "avg_runs_scored": 3.9398,
    "avg_runs_allowed": 4.3684,
    "offense_index": 0.8795,
    "defense_index": 1.0254,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 3.8,
      "run_differential": 4.0
    },
    "available": true,
    "quality_score": -0.0686
  },
  "opponent": {
    "team": "KC",
    "games": 133,
    "wins": 59,
    "losses": 74,
    "win_pct": 0.4436,
    "runs_scored": 565.0,
    "runs_allowed": 654.0,
    "run_differential": -89.0,
    "run_differential_per_game": -0.6692,
    "avg_runs_scored": 4.2481,
    "avg_runs_allowed": 4.9173,
    "offense_index": 0.9483,
    "defense_index": 0.911,
    "current_streak": "W9",
    "recent": {
      "games": 10,
      "wins": 9,
      "losses": 1,
      "win_pct": 0.9,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 3.1,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.0099
  },
  "edges": {
    "quality_edge": -0.0785,
    "offense_edge": -0.1205,
    "opponent_offense_edge": -0.0517,
    "defense_strength": 0.0254,
    "opponent_defense_weakness": 0.089,
    "recent_win_pct_edge": -0.4
  },
  "player_factors": {
    "ip": 0.9997,
    "run_prevention": 0.9931,
    "strikeout": 1.0018
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "689254",
    "profile": {
      "available": true,
      "pitcher_id": "689254",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 207.0,
        "k_percent": 25.1,
        "bb_percent": 10.3,
        "woba": 0.291,
        "xwoba": 0.262,
        "sweet_spot_percent": 37.1,
        "barrel_batted_rate": 7.0,
        "hard_hit_percent": 31.5,
        "avg_best_speed": 75.0804,
        "avg_hyper_speed": 92.7897,
        "whiff_percent": 28.4,
        "swing_percent": 49.3
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.7637,
        "command_and_miss": 0.3043,
        "regression_edge": 0.8286,
        "xwoba_edge": 1.4,
        "barrel_edge": 0.0222,
        "hard_hit_edge": 0.9,
        "whiff_edge": 0.4571,
        "bb_edge": -0.275,
        "pitch_design_score": -0.1657
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "689254",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 6,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 6,
          "pitch_usage": 0.0,
          "release_speed": 86.88906106774273,
          "release_spin_rate": 2590.7729758214236,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 6,
            "pitch_usage": 0.0,
            "release_speed": 86.88906106774273,
            "release_spin_rate": 2590.7729758214236,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 86.8891,
          "release_spin_rate": 2590.773,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.1657,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -1.1835,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.4772,
      "sample_weight": 0.828,
      "run_prevention_factor": 0.9594,
      "strikeout_factor": 1.0298,
      "walk_factor": 1.0182,
      "homer_factor": 0.9339,
      "woba_minus_xwoba": 0.029,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "689254",
        "espn_id": 4622501,
        "player_name": "Mason Fluharty",
        "team": "TOR",
        "role": "pitcher",
        "espn_rank": 185,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 185,
          "gp_value": 70.0,
          "gp_rank": 1,
          "gs_value": 4.0,
          "gs_rank": 218,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 3.5886,
          "era_rank": null,
          "w_value": 5.0,
          "w_rank": 123,
          "l_value": 1.0,
          "l_rank": 403,
          "sv_value": 1.0,
          "sv_rank": 128,
          "hld_value": 13.0,
          "hld_rank": 42,
          "ip_value": 52.2,
          "ip_rank": 253,
          "h_value": 44.0,
          "h_rank": 258,
          "er_value": 21.0,
          "er_rank": 277,
          "hr_value": 6.0,
          "hr_rank": 251,
          "bb_value": 23.0,
          "bb_rank": 221,
          "k_value": 56.0,
          "k_rank": 226,
          "k_per_9_value": 9.56962,
          "k_per_9_rank": 24.0,
          "whip_value": 1.2721,
          "whip_rank": null,
          "war_value": 0.88,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9664,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9664,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0151,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9453,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0247,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 7.0,
    "ER": 0,
    "H": 1,
    "BB": 3,
    "SO": 3,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.5714285714285715,
    "K9": 3.8571428571428577,
    "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-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "689254",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 6,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 6,
    "pitch_usage": 0.0,
    "release_speed": 86.88906106774273,
    "release_spin_rate": 2590.7729758214236,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 6,
      "pitch_usage": 0.0,
      "release_speed": 86.88906106774273,
      "release_spin_rate": 2590.7729758214236,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 86.8891,
    "release_spin_rate": 2590.773,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.1657,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.1835,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.57,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6789,
    "prior_weight": 0.3211
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "689254",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 68,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 3.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 3.0,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 14.0,
        "Pitches": 39.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.2,
        "BB": 0.6,
        "SO": 0.2,
        "HR": 0.0,
        "BF": 2.8,
        "Pitches": 7.8
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 1.3333,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.33333,
        "BB_per_IP": 1.0,
        "SO_per_IP": 0.33333,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 7.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 3.0,
        "SO": 3.0,
        "HR": 0.0,
        "BF": 26.0,
        "Pitches": 84.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.1,
        "BB": 0.3,
        "SO": 0.3,
        "HR": 0.0,
        "BF": 2.6,
        "Pitches": 8.4
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.5714,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.14286,
        "BB_per_IP": 0.42857,
        "SO_per_IP": 0.42857,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 68,
      "totals": {
        "IP": 52.2,
        "ER": 18.0,
        "R": 18.0,
        "H": 40.0,
        "BB": 22.0,
        "SO": 56.0,
        "HR": 6.0,
        "BF": 218.0,
        "Pitches": 850.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.2647,
        "R": 0.2647,
        "H": 0.5882,
        "BB": 0.3235,
        "SO": 0.8235,
        "HR": 0.0882,
        "BF": 3.2059,
        "Pitches": 12.5
      },
      "rates": {
        "ERA": 3.0759,
        "WHIP": 1.1772,
        "ER_per_IP": 0.34177,
        "H_per_IP": 0.75949,
        "BB_per_IP": 0.41772,
        "SO_per_IP": 1.06329,
        "HR_per_IP": 0.11392
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.138,
    "predicted_H": 0.368,
    "predicted_BB": 0.388,
    "predicted_SO": 0.434,
    "predicted_HR": 0.042,
    "predicted_ERA": 1.8646,
    "predicted_WHIP": 1.134
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4857,
  "form_weight": 0.5143,
  "form_reliability": 0.6789,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.57,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6789,
    "prior_weight": 0.3211
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.138,
      "final": 0.071,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.368,
      "final": 0.1893,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.388,
      "final": 0.1996,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.434,
      "final": 0.7089,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.042,
      "final": 0.0216,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.8646,
      "final": 1.8646,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.134,
      "final": 1.134,
      "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."
}
Brett Bateman (703520) · BATTER · CF · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 56
All-history rows before 20260827: 56
System season_avg: 0.3280
Data season_avg (2026 season-to-date): 0.2791
Diff (system - data): 0.0489
System opponent_avg: 0.6000
System season_avg diverges from 2026 season-to-date by 0.0489. 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.2000.0000.000Hitting_2B0.1610.000-0.1610.000
predicted_3B0.0670.0000.000Hitting_3B0.0180.000-0.0180.000
predicted_AB5.7104.0006.000Hitting_AB4.6074.000-0.6070.000
predicted_AVG0.3110.7500.167Hitting_AVG0.2790.2500.4710.500
predicted_BB0.2670.0000.000Hitting_BB0.2500.000-0.2500.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.7803.0001.000Hitting_H1.2861.0001.7142.000
predicted_HR0.0800.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.3690.8000.167Hitting_OBP0.3150.2500.4850.550
predicted_R0.4670.0001.000Hitting_R0.4290.000-0.4290.000
predicted_RBI0.4800.0000.000Hitting_RBI0.3750.000-0.3750.000
predicted_SLG0.4160.7500.167Hitting_SLG0.3220.2500.4280.500
predicted_SO1.0001.0001.000Hitting_SO1.0361.000-0.0360.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics1
Deboosted Metrics8
Better Metrics1
Worse Metrics8
Biggest Boostpredicted_H: 1.7800 -> 3.0000 (boost 1.2200, better)
Biggest Deboostpredicted_AB: 5.7100 -> 4.0000 (deboost -1.7100, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31212predicted_SLG: 0.4160 -> 0.4241 (boost 0.0081, better)predicted_AB: 5.7100 -> 5.1007 (deboost -0.6093, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_OBP: 0.3655 -> 0.3422 (deboost -0.0233, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72525predicted_AB: 5.1007 -> 6.0000 (boost 0.8993, better)predicted_RBI: 0.4155 -> 0.0000 (deboost -0.4155, worse)AB rounded to 6 (raw=5.71), rates preserved: AVG=0.276 HR/AB=0.012
5consistency_constraints10101-predicted_R: 0.4636 -> 0.0000 (deboost -0.4636, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation21111predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_H: 2.0000 -> 1.0000 (deboost -1.0000, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context51414predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference32121predicted_H: 2.0000 -> 3.0000 (boost 1.0000, better)predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.3690 -> 0.4130 (boost 0.0440, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "703520",
  "player_name": "Brett Bateman",
  "position": "CF",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.2,
        "predicted_3B": 0.067,
        "predicted_AB": 5.71,
        "predicted_AVG": 0.311,
        "predicted_BB": 0.267,
        "predicted_H": 1.78,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.369,
        "predicted_R": 0.467,
        "predicted_RBI": 0.48,
        "predicted_SLG": 0.416,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1931,
        "predicted_3B": 0.0703,
        "predicted_AB": 5.1007,
        "predicted_AVG": 0.3157,
        "predicted_BB": 0.2601,
        "predicted_H": 1.608,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.0663,
        "predicted_OBP": 0.3655,
        "predicted_R": 0.4804,
        "predicted_RBI": 0.4305,
        "predicted_SLG": 0.4241,
        "predicted_SO": 0.9794
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2,
          "after": 0.1931,
          "delta": -0.0069,
          "percent_delta": -0.0345,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.067,
          "after": 0.0703,
          "delta": 0.0033,
          "percent_delta": 0.0493,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.71,
          "after": 5.1007,
          "delta": -0.6093,
          "percent_delta": -0.1067,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.311,
          "after": 0.3157,
          "delta": 0.0047,
          "percent_delta": 0.0151,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.267,
          "after": 0.2601,
          "delta": -0.0069,
          "percent_delta": -0.0258,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.78,
          "after": 1.608,
          "delta": -0.172,
          "percent_delta": -0.0966,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.0663,
          "delta": -0.0137,
          "percent_delta": -0.1713,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.369,
          "after": 0.3655,
          "delta": -0.0035,
          "percent_delta": -0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.467,
          "after": 0.4804,
          "delta": 0.0134,
          "percent_delta": 0.0287,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.48,
          "after": 0.4305,
          "delta": -0.0495,
          "percent_delta": -0.1031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.416,
          "after": 0.4241,
          "delta": 0.0081,
          "percent_delta": 0.0195,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9794,
          "delta": -0.0206,
          "percent_delta": -0.0206,
          "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.416,
          "after": 0.4241,
          "delta": 0.0081,
          "percent_delta": 0.0195,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.71,
          "after": 5.1007,
          "delta": -0.6093,
          "percent_delta": -0.1067,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 15
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1931,
        "predicted_3B": 0.0703,
        "predicted_AB": 5.1007,
        "predicted_AVG": 0.3089,
        "predicted_BB": 0.2582,
        "predicted_H": 1.5757,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.0657,
        "predicted_OBP": 0.3422,
        "predicted_R": 0.4636,
        "predicted_RBI": 0.4155,
        "predicted_SLG": 0.413,
        "predicted_SO": 0.9865
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1931,
          "after": 0.1931,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0703,
          "after": 0.0703,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.1007,
          "after": 5.1007,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3157,
          "after": 0.3089,
          "delta": -0.0068,
          "percent_delta": -0.0215,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2601,
          "after": 0.2582,
          "delta": -0.0019,
          "percent_delta": -0.0073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.608,
          "after": 1.5757,
          "delta": -0.0323,
          "percent_delta": -0.0201,
          "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.0663,
          "after": 0.0657,
          "delta": -0.0006,
          "percent_delta": -0.009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3655,
          "after": 0.3422,
          "delta": -0.0233,
          "percent_delta": -0.0637,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4804,
          "after": 0.4636,
          "delta": -0.0168,
          "percent_delta": -0.035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4305,
          "after": 0.4155,
          "delta": -0.015,
          "percent_delta": -0.0348,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4241,
          "after": 0.413,
          "delta": -0.0111,
          "percent_delta": -0.0262,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9794,
          "after": 0.9865,
          "delta": 0.0071,
          "percent_delta": 0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3655,
          "after": 0.3422,
          "delta": -0.0233,
          "percent_delta": -0.0637,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=5.71), rates preserved: AVG=0.276 HR/AB=0.012",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1931,
          "after": 0.0,
          "delta": -0.1931,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0703,
          "after": 0.0,
          "delta": -0.0703,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 5.1007,
          "after": 6.0,
          "delta": 0.8993,
          "percent_delta": 0.1763,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2582,
          "after": 0.0,
          "delta": -0.2582,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.5757,
          "after": 2.0,
          "delta": 0.4243,
          "percent_delta": 0.2693,
          "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.0657,
          "after": 0.0,
          "delta": -0.0657,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4155,
          "after": 0.0,
          "delta": -0.4155,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9865,
          "after": 1.0,
          "delta": 0.0135,
          "percent_delta": 0.0137,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 5.1007,
          "after": 6.0,
          "delta": 0.8993,
          "percent_delta": 0.1763,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4155,
          "after": 0.0,
          "delta": -0.4155,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4636,
          "after": 0.0,
          "delta": -0.4636,
          "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.4636,
          "after": 0.0,
          "delta": -0.4636,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.276,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.313,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.369,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3089,
          "after": 0.276,
          "delta": -0.0329,
          "percent_delta": -0.1065,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3422,
          "after": 0.313,
          "delta": -0.0292,
          "percent_delta": -0.0853,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.413,
          "after": 0.369,
          "delta": -0.044,
          "percent_delta": -0.1065,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_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_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "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": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.3089,
        "predicted_BB": 0.0,
        "predicted_CF": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3422,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.413,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.276,
          "after": 0.3089,
          "delta": 0.0329,
          "percent_delta": 0.1193,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.313,
          "after": 0.3422,
          "delta": 0.0292,
          "percent_delta": 0.0933,
          "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.369,
          "after": 0.413,
          "delta": 0.044,
          "percent_delta": 0.1191,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.369,
          "after": 0.413,
          "delta": 0.044,
          "percent_delta": 0.1191,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.2,
        "after": 0.0,
        "delta": -0.2,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.067,
        "after": 0.0,
        "delta": -0.067,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 5.71,
        "after": 4.0,
        "delta": -1.71,
        "percent_delta": -0.2995,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.311,
        "after": 0.3089,
        "delta": -0.0021,
        "percent_delta": -0.0068,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.267,
        "after": 0.0,
        "delta": -0.267,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.78,
        "after": 3.0,
        "delta": 1.22,
        "percent_delta": 0.6854,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.08,
        "after": 0.0,
        "delta": -0.08,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.369,
        "after": 0.3422,
        "delta": -0.0268,
        "percent_delta": -0.0726,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.467,
        "after": 0.0,
        "delta": -0.467,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.48,
        "after": 0.0,
        "delta": -0.48,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.416,
        "after": 0.413,
        "delta": -0.003,
        "percent_delta": -0.0072,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 1,
      "deboosted_metrics": 8,
      "better_metrics": 1,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 1.78,
        "after": 3.0,
        "delta": 1.22,
        "percent_delta": 0.6854,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 5.71,
        "after": 4.0,
        "delta": -1.71,
        "percent_delta": -0.2995,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.200-
predicted_3B0.067-
predicted_AB5.710-
predicted_AVG0.311-
predicted_BB0.267-
predicted_H1.780-
predicted_HR0.080-
predicted_OBP0.369-
predicted_R0.467-
predicted_RBI0.480-
predicted_SLG0.416-
predicted_SO1.000-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.193-0.007
predicted_3B0.0700.003
predicted_AB5.101-0.609
predicted_AVG0.3160.005
predicted_BB0.260-0.007
predicted_H1.608-0.172
predicted_HBP0.010-
predicted_HR0.066-0.014
predicted_OBP0.365-0.004
predicted_R0.4800.013
predicted_RBI0.430-0.049
predicted_SLG0.4240.008
predicted_SO0.979-0.021
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1930.000
predicted_3B0.0700.000
predicted_AB5.1010.000
predicted_AVG0.309-0.007
predicted_BB0.258-0.002
predicted_H1.576-0.032
predicted_HBP0.0100.000
predicted_HR0.066-0.001
predicted_OBP0.342-0.023
predicted_R0.464-0.017
predicted_RBI0.415-0.015
predicted_SLG0.413-0.011
predicted_SO0.9870.007
4. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.0000.000
BB0.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.0000.000
BB0.0000.000
H1.000-1.000
HR0.0000.000
R1.0001.000
RBI0.0000.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.193
predicted_3B0.000-0.070
predicted_AB6.0000.899
predicted_AVG0.276-0.033
predicted_BB0.000-0.258
predicted_H2.0000.424
predicted_HR0.000-0.066
predicted_OBP0.313-0.029
predicted_R0.000-0.464
predicted_RBI0.000-0.415
predicted_SLG0.369-0.044
predicted_SO1.0000.013
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-2.000
BB0.0000.000
CS0.0000.000
H3.0002.000
HBP1.0001.000
HR0.0000.000
PA5.000-
R0.000-1.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 15
Reference playing time: 5.710
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0008.0001.0001.0000.0001.0003.0001.0005.0000.44440.45000.61110.44440.00000.05560.05560.2778
last_100.2010-42.00015.0001.0001.0000.0002.0005.0002.0009.0000.35710.37780.42860.35710.00000.04760.04760.2143
season0.6015-64.00021.0003.0001.0000.0005.0007.0004.00015.0000.32810.36230.40620.32810.00000.07810.06250.2344
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1810
predicted_3B0.0760
predicted_AB4.0240
predicted_AVG0.3240
predicted_BB0.2480
predicted_H1.3040
predicted_HBP0.0100
predicted_HR0.0420
predicted_OBP0.3594
predicted_R0.5040
predicted_RBI0.3430
predicted_SLG0.4383
predicted_SO0.9430
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20000.18100.1931model_form_blend
predicted_3B0.06700.07600.0703model_form_blend
predicted_AB5.71004.02405.1007model_form_blend
predicted_AVG0.31100.32400.3157model_form_blend
predicted_BB0.26700.24800.2601model_form_blend
predicted_H1.78001.30401.6080model_form_blend
predicted_HBP-0.01000.0100form_only
predicted_HR0.08000.04200.0663model_form_blend
predicted_OBP0.36900.35940.3655model_form_blend
predicted_R0.46700.50400.4804model_form_blend
predicted_RBI0.48000.34300.4305model_form_blend
predicted_SLG0.41600.43830.4241model_form_blend
predicted_SO1.00000.94300.9794model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB4
H3
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP1
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260826_KC@TOR
game_typefull
mlbID703520
playerID703520
playerNameBrett Bateman
posCF
startedTrue
startingPositionCF
teamTOR
teamID29
game_date2026-08-26
sl_k_percent21.6
sl_bb_percent8.0
sl_woba0.352
sl_xwoba0.273
sl_xba0.239
sl_xslg0.29
sl_sweet_spot_percent33.9
sl_barrel_batted_rate0.0
sl_hard_hit_percent17.7
sl_exit_velocity_avg83.0
sl_launch_angle_avg0.0
sl_whiff_percent17.3
sl_swing_percent43.3
Jesús Sánchez (660821) · BATTER · LF · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 274
All-history rows before 20260827: 274
System season_avg: 0.2620
Data season_avg (2026 season-to-date): 0.2649
Diff (system - data): -0.0029
System opponent_avg: 0.2620

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1910.0001.000Hitting_2B0.2041.000-0.204-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.8315.0003.000Hitting_AB3.2373.0001.7632.000
predicted_AVG0.2620.2000.333Hitting_AVG0.2650.667-0.065-0.467
predicted_BB0.1910.0000.000Hitting_BB0.2230.000-0.2230.000
predicted_CS-0.0000.000BaseRunning_CS0.0180.000-0.0180.000
predicted_H0.7421.0001.000Hitting_H0.8582.0000.142-1.000
predicted_HR0.0900.0000.000Hitting_HR0.1200.000-0.1200.000
predicted_OBP0.3090.2000.333Hitting_OBP0.3240.667-0.124-0.467
predicted_R0.2581.0000.000Hitting_R0.3321.0000.6680.000
predicted_RBI0.3821.0000.000Hitting_RBI0.4670.0000.5331.000
predicted_SLG0.4250.2000.667Hitting_SLG0.4401.000-0.240-0.800
predicted_SO0.7301.0001.000Hitting_SO0.8321.0000.1680.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics5
Deboosted Metrics5
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_AB: 2.8310 -> 5.0000 (boost 2.1690, better)
Biggest Deboostpredicted_2B: 0.1910 -> 0.0000 (deboost -0.1910, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend53223predicted_SO: 0.7300 -> 0.8055 (boost 0.0755, worse)predicted_SLG: 0.4250 -> 0.4110 (deboost -0.0140, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot20202-predicted_OBP: 0.3211 -> 0.3100 (deboost -0.0111, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling83526predicted_H: 0.6961 -> 1.0000 (boost 0.3039, better)predicted_RBI: 0.3601 -> 0.0000 (deboost -0.3601, worse)AB rounded to 3 (raw=2.83), rates preserved: AVG=0.246 HR/AB=0.027
5consistency_constraints10101-predicted_R: 0.2136 -> 0.0000 (deboost -0.2136, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context10101-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference33030predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "660821",
  "player_name": "Jesús Sánchez",
  "position": "LF",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.191,
        "predicted_3B": 0.0,
        "predicted_AB": 2.831,
        "predicted_AVG": 0.262,
        "predicted_BB": 0.191,
        "predicted_H": 0.742,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.309,
        "predicted_R": 0.258,
        "predicted_RBI": 0.382,
        "predicted_SLG": 0.425,
        "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.2112,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.7973,
        "predicted_AVG": 0.2538,
        "predicted_BB": 0.2496,
        "predicted_H": 0.7104,
        "predicted_HBP": 0.128,
        "predicted_HR": 0.0761,
        "predicted_OBP": 0.3211,
        "predicted_R": 0.2213,
        "predicted_RBI": 0.3731,
        "predicted_SLG": 0.411,
        "predicted_SO": 0.8055
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.191,
          "after": 0.2112,
          "delta": 0.0202,
          "percent_delta": 0.1058,
          "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.831,
          "after": 2.7973,
          "delta": -0.0337,
          "percent_delta": -0.0119,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.262,
          "after": 0.2538,
          "delta": -0.0082,
          "percent_delta": -0.0313,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.191,
          "after": 0.2496,
          "delta": 0.0586,
          "percent_delta": 0.3068,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.742,
          "after": 0.7104,
          "delta": -0.0316,
          "percent_delta": -0.0426,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.0761,
          "delta": -0.0139,
          "percent_delta": -0.1544,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.309,
          "after": 0.3211,
          "delta": 0.0121,
          "percent_delta": 0.0392,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.258,
          "after": 0.2213,
          "delta": -0.0367,
          "percent_delta": -0.1422,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.382,
          "after": 0.3731,
          "delta": -0.0089,
          "percent_delta": -0.0233,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.425,
          "after": 0.411,
          "delta": -0.014,
          "percent_delta": -0.0329,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.73,
          "after": 0.8055,
          "delta": 0.0755,
          "percent_delta": 0.1034,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.73,
          "after": 0.8055,
          "delta": 0.0755,
          "percent_delta": 0.1034,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.425,
          "after": 0.411,
          "delta": -0.014,
          "percent_delta": -0.0329,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 89
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2112,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.7973,
        "predicted_AVG": 0.2489,
        "predicted_BB": 0.2478,
        "predicted_H": 0.6961,
        "predicted_HBP": 0.128,
        "predicted_HR": 0.0754,
        "predicted_OBP": 0.31,
        "predicted_R": 0.2136,
        "predicted_RBI": 0.3601,
        "predicted_SLG": 0.4055,
        "predicted_SO": 0.8113
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2112,
          "after": 0.2112,
          "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.7973,
          "after": 2.7973,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2538,
          "after": 0.2489,
          "delta": -0.0049,
          "percent_delta": -0.0193,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2496,
          "after": 0.2478,
          "delta": -0.0018,
          "percent_delta": -0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7104,
          "after": 0.6961,
          "delta": -0.0143,
          "percent_delta": -0.0201,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.128,
          "after": 0.128,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0761,
          "after": 0.0754,
          "delta": -0.0007,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3211,
          "after": 0.31,
          "delta": -0.0111,
          "percent_delta": -0.0346,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2213,
          "after": 0.2136,
          "delta": -0.0077,
          "percent_delta": -0.0348,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3731,
          "after": 0.3601,
          "delta": -0.013,
          "percent_delta": -0.0348,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.411,
          "after": 0.4055,
          "delta": -0.0055,
          "percent_delta": -0.0134,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8055,
          "after": 0.8113,
          "delta": 0.0058,
          "percent_delta": 0.0072,
          "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.3211,
          "after": 0.31,
          "delta": -0.0111,
          "percent_delta": -0.0346,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.83), rates preserved: AVG=0.246 HR/AB=0.027",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2112,
          "after": 0.0,
          "delta": -0.2112,
          "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.7973,
          "after": 3.0,
          "delta": 0.2027,
          "percent_delta": 0.0725,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2478,
          "after": 0.0,
          "delta": -0.2478,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6961,
          "after": 1.0,
          "delta": 0.3039,
          "percent_delta": 0.4366,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.128,
          "after": 0.0,
          "delta": -0.128,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0754,
          "after": 0.0,
          "delta": -0.0754,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3601,
          "after": 0.0,
          "delta": -0.3601,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8113,
          "after": 1.0,
          "delta": 0.1887,
          "percent_delta": 0.2326,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.6961,
          "after": 1.0,
          "delta": 0.3039,
          "percent_delta": 0.4366,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3601,
          "after": 0.0,
          "delta": -0.3601,
          "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.2136,
          "after": 0.0,
          "delta": -0.2136,
          "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.2136,
          "after": 0.0,
          "delta": -0.2136,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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_SO",
          "before": 1.0,
          "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_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": 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.246,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.312,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.408,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2489,
          "after": 0.246,
          "delta": -0.0029,
          "percent_delta": -0.0117,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.31,
          "after": 0.312,
          "delta": 0.002,
          "percent_delta": 0.0065,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4055,
          "after": 0.408,
          "delta": 0.0025,
          "percent_delta": 0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 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": 5.0,
          "delta": 2.0,
          "percent_delta": 0.6667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 5.0,
          "delta": 2.0,
          "percent_delta": 0.6667,
          "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": 5.0,
        "predicted_AVG": 0.2489,
        "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.31,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4055,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.2489,
          "delta": 0.0029,
          "percent_delta": 0.0116,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.312,
          "after": 0.31,
          "delta": -0.002,
          "percent_delta": -0.0065,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.408,
          "after": 0.4055,
          "delta": -0.0025,
          "percent_delta": -0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "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": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.191,
        "after": 0.0,
        "delta": -0.191,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.831,
        "after": 5.0,
        "delta": 2.169,
        "percent_delta": 0.7662,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.262,
        "after": 0.2489,
        "delta": -0.0131,
        "percent_delta": -0.05,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.191,
        "after": 0.0,
        "delta": -0.191,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.742,
        "after": 1.0,
        "delta": 0.258,
        "percent_delta": 0.3477,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.309,
        "after": 0.31,
        "delta": 0.001,
        "percent_delta": 0.0032,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.258,
        "after": 1.0,
        "delta": 0.742,
        "percent_delta": 2.876,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.382,
        "after": 1.0,
        "delta": 0.618,
        "percent_delta": 1.6178,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.425,
        "after": 0.4055,
        "delta": -0.0195,
        "percent_delta": -0.0459,
        "direction": "deboost",
        "projection_effect": "worse",
        "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": 10,
      "boosted_metrics": 5,
      "deboosted_metrics": 5,
      "better_metrics": 4,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.831,
        "after": 5.0,
        "delta": 2.169,
        "percent_delta": 0.7662,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_2B",
        "before": 0.191,
        "after": 0.0,
        "delta": -0.191,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "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.191-
predicted_3B0.000-
predicted_AB2.831-
predicted_AVG0.262-
predicted_BB0.191-
predicted_H0.742-
predicted_HR0.090-
predicted_OBP0.309-
predicted_R0.258-
predicted_RBI0.382-
predicted_SLG0.425-
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.2110.020
predicted_3B0.0000.000
predicted_AB2.797-0.034
predicted_AVG0.254-0.008
predicted_BB0.2500.059
predicted_H0.710-0.032
predicted_HBP0.128-
predicted_HR0.076-0.014
predicted_OBP0.3210.012
predicted_R0.221-0.037
predicted_RBI0.373-0.009
predicted_SLG0.411-0.014
predicted_SO0.8050.076
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2110.000
predicted_3B0.0000.000
predicted_AB2.7970.000
predicted_AVG0.249-0.005
predicted_BB0.248-0.002
predicted_H0.696-0.014
predicted_HBP0.1280.000
predicted_HR0.075-0.001
predicted_OBP0.310-0.011
predicted_R0.214-0.008
predicted_RBI0.360-0.013
predicted_SLG0.406-0.005
predicted_SO0.8110.006
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.83), rates preserved: AVG=0.246 HR/AB=0.027

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

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

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.211
predicted_3B0.000-0.000
predicted_AB3.0000.203
predicted_AVG0.246-0.003
predicted_BB0.000-0.248
predicted_H1.0000.304
predicted_HR0.000-0.075
predicted_OBP0.3120.002
predicted_R0.000-0.214
predicted_RBI0.000-0.360
predicted_SLG0.4080.002
predicted_SO1.0000.189
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB5.0002.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.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: 89
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-12.0003.0002.0000.0000.0002.0000.0003.0006.0000.25000.41180.41670.25000.00000.16670.25000.5000
last_100.2010-23.0004.0002.0000.0000.0002.0000.0004.00010.0000.17390.33330.26090.17390.00000.08700.17390.4348
season0.6089-252.00066.00017.0000.0008.00034.00023.00017.00065.0000.26190.32030.42460.26190.03180.13490.06750.2579
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2390
predicted_3B0.0010
predicted_AB2.7510
predicted_AVG0.2425
predicted_BB0.3300
predicted_H0.6670
predicted_HBP0.1280
predicted_HR0.0570
predicted_OBP0.3377
predicted_R0.1710
predicted_RBI0.3610
predicted_SLG0.3919
predicted_SO0.9090
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19100.23900.2112model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB2.83102.75102.7973model_form_blend
predicted_AVG0.26200.24250.2538model_form_blend
predicted_BB0.19100.33000.2496model_form_blend
predicted_H0.74200.66700.7104model_form_blend
predicted_HBP-0.12800.1280form_only
predicted_HR0.09000.05700.0761model_form_blend
predicted_OBP0.30900.33770.3211model_form_blend
predicted_R0.25800.17100.2213model_form_blend
predicted_RBI0.38200.36100.3731model_form_blend
predicted_SLG0.42500.39190.4110model_form_blend
predicted_SO0.73000.90900.8055model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB3
Hitting_AVG0.667
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB3
Hitting_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
gameID20260826_KC@TOR
game_typefull
mlbID660821
playerID660821
playerNameJesús Sánchez
posRF
startedTrue
startingPositionLF
teamTOR
teamID29
game_date2026-08-26
sl_k_percent22.9
sl_bb_percent5.9
sl_woba0.326
sl_xwoba0.331
sl_xba0.262
sl_xslg0.436
sl_sweet_spot_percent32.5
sl_barrel_batted_rate11.2
sl_hard_hit_percent46.2
sl_exit_velocity_avg90.8
sl_launch_angle_avg10.7
sl_whiff_percent27.5
sl_swing_percent52.7
Alejandro Kirk (672386) · BATTER · C · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 208
All-history rows before 20260827: 208
System season_avg: 0.2800
Data season_avg (2026 season-to-date): 0.2875
Diff (system - data): -0.0075
System opponent_avg: 0.2800

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1091.0000.000Hitting_2B0.1250.0000.8751.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.5094.0004.000Hitting_AB3.7454.0000.2550.000
predicted_AVG0.2440.5000.250Hitting_AVG0.2880.0000.2120.500
predicted_BB0.4361.0001.000Hitting_BB0.4420.0000.5581.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.4402.0001.000Hitting_H1.0770.0000.9232.000
predicted_HR0.0800.0000.000Hitting_HR0.1540.000-0.1540.000
predicted_OBP0.3260.6000.400Hitting_OBP0.3570.0000.2430.600
predicted_R0.2911.0000.000Hitting_R0.3410.0000.6591.000
predicted_RBI0.2701.0001.000Hitting_RBI0.5910.0000.4091.000
predicted_SLG0.3890.7500.250Hitting_SLG0.4440.0000.3060.750
predicted_SO0.4550.0001.000Hitting_SO0.4710.000-0.4710.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_H: 0.4400 -> 2.0000 (boost 1.5600, better)
Biggest Deboostpredicted_SO: 0.4550 -> 0.0000 (deboost -0.4550, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend55050predicted_H: 0.4400 -> 0.6719 (boost 0.2319, 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.4068 -> 0.3060 (deboost -0.1008, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling74334predicted_SO: 0.4541 -> 1.0000 (boost 0.5459, worse)predicted_RBI: 0.3847 -> 0.0000 (deboost -0.3847, worse)AB rounded to 4 (raw=3.51), rates preserved: AVG=0.188 HR/AB=0.029
5consistency_constraints10101-predicted_R: 0.2976 -> 0.0000 (deboost -0.2976, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context32121predicted_SLG: 0.3060 -> 0.3140 (boost 0.0080, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference54150predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
9current_json_final20202-predicted_SLG: 0.3140 -> 0.3060 (deboost -0.0080, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "672386",
  "player_name": "Alejandro Kirk",
  "position": "C",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.109,
        "predicted_3B": 0.0,
        "predicted_AB": 3.509,
        "predicted_AVG": 0.244,
        "predicted_BB": 0.436,
        "predicted_H": 0.44,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.326,
        "predicted_R": 0.291,
        "predicted_RBI": 0.27,
        "predicted_SLG": 0.389,
        "predicted_SO": 0.455
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1102,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.5078,
        "predicted_AVG": 0.261,
        "predicted_BB": 0.4837,
        "predicted_H": 0.6719,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.102,
        "predicted_OBP": 0.3477,
        "predicted_R": 0.3084,
        "predicted_RBI": 0.3986,
        "predicted_SLG": 0.4068,
        "predicted_SO": 0.4509
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.109,
          "after": 0.1102,
          "delta": 0.0012,
          "percent_delta": 0.011,
          "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.509,
          "after": 3.5078,
          "delta": -0.0012,
          "percent_delta": -0.0003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.244,
          "after": 0.261,
          "delta": 0.017,
          "percent_delta": 0.0697,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.436,
          "after": 0.4837,
          "delta": 0.0477,
          "percent_delta": 0.1094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.44,
          "after": 0.6719,
          "delta": 0.2319,
          "percent_delta": 0.527,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.102,
          "delta": 0.022,
          "percent_delta": 0.275,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.326,
          "after": 0.3477,
          "delta": 0.0217,
          "percent_delta": 0.0666,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.291,
          "after": 0.3084,
          "delta": 0.0174,
          "percent_delta": 0.0598,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.27,
          "after": 0.3986,
          "delta": 0.1286,
          "percent_delta": 0.4763,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.389,
          "after": 0.4068,
          "delta": 0.0178,
          "percent_delta": 0.0458,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.455,
          "after": 0.4509,
          "delta": -0.0041,
          "percent_delta": -0.009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.44,
          "after": 0.6719,
          "delta": 0.2319,
          "percent_delta": 0.527,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 55
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1102,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.5078,
        "predicted_AVG": 0.1877,
        "predicted_BB": 0.4802,
        "predicted_H": 0.6584,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.101,
        "predicted_OBP": 0.2855,
        "predicted_R": 0.2976,
        "predicted_RBI": 0.3847,
        "predicted_SLG": 0.306,
        "predicted_SO": 0.4541
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1102,
          "after": 0.1102,
          "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.5078,
          "after": 3.5078,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.261,
          "after": 0.1877,
          "delta": -0.0733,
          "percent_delta": -0.2808,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4837,
          "after": 0.4802,
          "delta": -0.0035,
          "percent_delta": -0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6719,
          "after": 0.6584,
          "delta": -0.0135,
          "percent_delta": -0.0201,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.004,
          "after": 0.004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.102,
          "after": 0.101,
          "delta": -0.001,
          "percent_delta": -0.0098,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3477,
          "after": 0.2855,
          "delta": -0.0622,
          "percent_delta": -0.1789,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3084,
          "after": 0.2976,
          "delta": -0.0108,
          "percent_delta": -0.035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3986,
          "after": 0.3847,
          "delta": -0.0139,
          "percent_delta": -0.0349,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4068,
          "after": 0.306,
          "delta": -0.1008,
          "percent_delta": -0.2478,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4509,
          "after": 0.4541,
          "delta": 0.0032,
          "percent_delta": 0.0071,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.4068,
          "after": 0.306,
          "delta": -0.1008,
          "percent_delta": -0.2478,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.51), rates preserved: AVG=0.188 HR/AB=0.029",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1102,
          "after": 0.0,
          "delta": -0.1102,
          "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.5078,
          "after": 4.0,
          "delta": 0.4922,
          "percent_delta": 0.1403,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4802,
          "after": 1.0,
          "delta": 0.5198,
          "percent_delta": 1.0825,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6584,
          "after": 1.0,
          "delta": 0.3416,
          "percent_delta": 0.5188,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.004,
          "after": 0.0,
          "delta": -0.004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.101,
          "after": 0.0,
          "delta": -0.101,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3847,
          "after": 0.0,
          "delta": -0.3847,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4541,
          "after": 1.0,
          "delta": 0.5459,
          "percent_delta": 1.2022,
          "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_SO",
          "before": 0.4541,
          "after": 1.0,
          "delta": 0.5459,
          "percent_delta": 1.2022,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3847,
          "after": 0.0,
          "delta": -0.3847,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.2976,
          "after": 0.0,
          "delta": -0.2976,
          "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.2976,
          "after": 0.0,
          "delta": -0.2976,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.188,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.291,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.314,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1877,
          "after": 0.188,
          "delta": 0.0003,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2855,
          "after": 0.291,
          "delta": 0.0055,
          "percent_delta": 0.0193,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.306,
          "after": 0.314,
          "delta": 0.008,
          "percent_delta": 0.0261,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.306,
          "after": 0.314,
          "delta": 0.008,
          "percent_delta": 0.0261,
          "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": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 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": 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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.1877,
        "predicted_BB": 1.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2855,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.306,
        "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.188,
          "after": 0.1877,
          "delta": -0.0003,
          "percent_delta": -0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.291,
          "after": 0.2855,
          "delta": -0.0055,
          "percent_delta": -0.0189,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.314,
          "after": 0.306,
          "delta": -0.008,
          "percent_delta": -0.0256,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.314,
          "after": 0.306,
          "delta": -0.008,
          "percent_delta": -0.0256,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.109,
        "after": 1.0,
        "delta": 0.891,
        "percent_delta": 8.1743,
        "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.509,
        "after": 4.0,
        "delta": 0.491,
        "percent_delta": 0.1399,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.244,
        "after": 0.1877,
        "delta": -0.0563,
        "percent_delta": -0.2307,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.436,
        "after": 1.0,
        "delta": 0.564,
        "percent_delta": 1.2936,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.44,
        "after": 2.0,
        "delta": 1.56,
        "percent_delta": 3.5455,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.08,
        "after": 0.0,
        "delta": -0.08,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.326,
        "after": 0.2855,
        "delta": -0.0405,
        "percent_delta": -0.1242,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.291,
        "after": 1.0,
        "delta": 0.709,
        "percent_delta": 2.4364,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.27,
        "after": 1.0,
        "delta": 0.73,
        "percent_delta": 2.7037,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.389,
        "after": 0.306,
        "delta": -0.083,
        "percent_delta": -0.2134,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.455,
        "after": 0.0,
        "delta": -0.455,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 7,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.44,
        "after": 2.0,
        "delta": 1.56,
        "percent_delta": 3.5455,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.455,
        "after": 0.0,
        "delta": -0.455,
        "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.109-
predicted_3B0.000-
predicted_AB3.509-
predicted_AVG0.244-
predicted_BB0.436-
predicted_H0.440-
predicted_HR0.080-
predicted_OBP0.326-
predicted_R0.291-
predicted_RBI0.270-
predicted_SLG0.389-
predicted_SO0.455-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1100.001
predicted_3B0.0010.001
predicted_AB3.508-0.001
predicted_AVG0.2610.017
predicted_BB0.4840.048
predicted_H0.6720.232
predicted_HBP0.004-
predicted_HR0.1020.022
predicted_OBP0.3480.022
predicted_R0.3080.017
predicted_RBI0.3990.129
predicted_SLG0.4070.018
predicted_SO0.451-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.1100.000
predicted_3B0.0010.000
predicted_AB3.5080.000
predicted_AVG0.188-0.073
predicted_BB0.480-0.004
predicted_H0.658-0.014
predicted_HBP0.0040.000
predicted_HR0.101-0.001
predicted_OBP0.285-0.062
predicted_R0.298-0.011
predicted_RBI0.385-0.014
predicted_SLG0.306-0.101
predicted_SO0.4540.003
4. ab_floor_and_scaling

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

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
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
BB1.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI1.0001.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.110
predicted_3B0.000-0.001
predicted_AB4.0000.492
predicted_AVG0.1880.000
predicted_BB1.0000.520
predicted_H1.0000.342
predicted_HR0.000-0.101
predicted_OBP0.2910.006
predicted_R0.000-0.298
predicted_RBI0.000-0.385
predicted_SLG0.3140.008
predicted_SO1.0000.546
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
BB1.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0001.000
RBI1.0000.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 55
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0004.0000.0000.0000.0002.0001.0004.0002.0000.25000.40000.25000.25000.00000.12500.25000.1250
last_100.2010-36.00013.0002.0000.0003.00010.0005.0008.0002.0000.36110.47730.66670.36110.08330.27780.22220.0556
season0.6055-193.00054.0006.0000.0007.00029.00016.00024.00025.0000.27980.35450.41970.27980.03630.15030.12440.1295
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1120
predicted_3B0.0020
predicted_AB3.5060
predicted_AVG0.2850
predicted_BB0.5510
predicted_H0.9990
predicted_HBP0.0040
predicted_HR0.1330
predicted_OBP0.3782
predicted_R0.3330
predicted_RBI0.5800
predicted_SLG0.4318
predicted_SO0.4450
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.10900.11200.1102model_form_blend
predicted_3B0.00000.00200.0008model_form_blend
predicted_AB3.50903.50603.5078model_form_blend
predicted_AVG0.24400.28500.2610model_form_blend
predicted_BB0.43600.55100.4837model_form_blend
predicted_H0.44000.99900.6719model_form_blend
predicted_HBP-0.00400.0040form_only
predicted_HR0.08000.13300.1020model_form_blend
predicted_OBP0.32600.37820.3477model_form_blend
predicted_R0.29100.33300.3084model_form_blend
predicted_RBI0.27000.58000.3986model_form_blend
predicted_SLG0.38900.43180.4068model_form_blend
predicted_SO0.45500.44500.4509model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_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_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260826_KC@TOR
game_typefull
mlbID672386
playerID672386
playerNameAlejandro Kirk
posC
startedTrue
startingPositionC
teamTOR
teamID29
game_date2026-08-26
sl_k_percent11.3
sl_bb_percent10.9
sl_woba0.334
sl_xwoba0.31
sl_xba0.265
sl_xslg0.376
sl_sweet_spot_percent33.5
sl_barrel_batted_rate3.8
sl_hard_hit_percent40.0
sl_exit_velocity_avg88.4
sl_launch_angle_avg9.3
sl_whiff_percent16.9
sl_swing_percent43.3
George Springer (543807) · BATTER · DH · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 409
All-history rows before 20260827: 409
System season_avg: 0.2390
Data season_avg (2026 season-to-date): 0.2363
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.1630.0000.000Hitting_2B0.1740.000-0.1740.000
predicted_3B0.0200.0000.000Hitting_3B0.0200.000-0.0200.000
predicted_AB3.7965.0004.000Hitting_AB3.9224.0001.0781.000
predicted_AVG0.2630.2000.000Hitting_AVG0.2360.250-0.036-0.050
predicted_BB0.4080.0001.000Hitting_BB0.4600.000-0.4600.000
predicted_CS-0.0000.000BaseRunning_CS0.0220.000-0.0220.000
predicted_H0.4801.0000.000Hitting_H0.9271.0000.0730.000
predicted_HR0.0600.0000.000Hitting_HR0.1340.000-0.1340.000
predicted_OBP0.2820.2000.200Hitting_OBP0.3200.250-0.120-0.050
predicted_R0.4590.0000.000Hitting_R0.4910.000-0.4910.000
predicted_RBI0.3000.0000.000Hitting_RBI0.4210.000-0.4210.000
predicted_SLG0.3900.2000.000Hitting_SLG0.3930.250-0.193-0.050
predicted_SO0.7861.0001.000Hitting_SO0.8261.0000.1740.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics3
Deboosted Metrics8
Better Metrics2
Worse Metrics9
Biggest Boostpredicted_AB: 3.7960 -> 5.0000 (boost 1.2040, better)
Biggest Deboostpredicted_R: 0.4590 -> 0.0000 (deboost -0.4590, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend53232predicted_H: 0.4800 -> 0.6934 (boost 0.2134, better)predicted_AB: 3.7960 -> 3.7005 (deboost -0.0955, worse)Final model input calibrated 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.3906 -> 0.2914 (deboost -0.0992, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_H: 0.6795 -> 1.0000 (boost 0.3205, better)predicted_RBI: 0.3535 -> 0.0000 (deboost -0.3535, worse)AB rounded to 4 (raw=3.80), rates preserved: AVG=0.179 HR/AB=0.017
5consistency_constraints10101-predicted_R: 0.4093 -> 0.0000 (deboost -0.4093, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation21111predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context31212predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference11010predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final11010predicted_SLG: 0.2840 -> 0.2914 (boost 0.0074, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "543807",
  "player_name": "George Springer",
  "position": "DH",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.163,
        "predicted_3B": 0.02,
        "predicted_AB": 3.796,
        "predicted_AVG": 0.263,
        "predicted_BB": 0.408,
        "predicted_H": 0.48,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.282,
        "predicted_R": 0.459,
        "predicted_RBI": 0.3,
        "predicted_SLG": 0.39,
        "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.1707,
        "predicted_3B": 0.0166,
        "predicted_AB": 3.7005,
        "predicted_AVG": 0.2673,
        "predicted_BB": 0.3413,
        "predicted_H": 0.6934,
        "predicted_HBP": 0.018,
        "predicted_HR": 0.0656,
        "predicted_OBP": 0.3003,
        "predicted_R": 0.4241,
        "predicted_RBI": 0.3663,
        "predicted_SLG": 0.3906,
        "predicted_SO": 0.7658
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.163,
          "after": 0.1707,
          "delta": 0.0077,
          "percent_delta": 0.0472,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.02,
          "after": 0.0166,
          "delta": -0.0034,
          "percent_delta": -0.17,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.796,
          "after": 3.7005,
          "delta": -0.0955,
          "percent_delta": -0.0252,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.263,
          "after": 0.2673,
          "delta": 0.0043,
          "percent_delta": 0.0163,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.408,
          "after": 0.3413,
          "delta": -0.0667,
          "percent_delta": -0.1635,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.48,
          "after": 0.6934,
          "delta": 0.2134,
          "percent_delta": 0.4446,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.0656,
          "delta": 0.0056,
          "percent_delta": 0.0933,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.282,
          "after": 0.3003,
          "delta": 0.0183,
          "percent_delta": 0.0649,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.459,
          "after": 0.4241,
          "delta": -0.0349,
          "percent_delta": -0.076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3,
          "after": 0.3663,
          "delta": 0.0663,
          "percent_delta": 0.221,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.39,
          "after": 0.3906,
          "delta": 0.0006,
          "percent_delta": 0.0015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.786,
          "after": 0.7658,
          "delta": -0.0202,
          "percent_delta": -0.0257,
          "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.48,
          "after": 0.6934,
          "delta": 0.2134,
          "percent_delta": 0.4446,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.796,
          "after": 3.7005,
          "delta": -0.0955,
          "percent_delta": -0.0252,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 98
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1707,
        "predicted_3B": 0.0166,
        "predicted_AB": 3.7005,
        "predicted_AVG": 0.1836,
        "predicted_BB": 0.3388,
        "predicted_H": 0.6795,
        "predicted_HBP": 0.018,
        "predicted_HR": 0.065,
        "predicted_OBP": 0.2521,
        "predicted_R": 0.4093,
        "predicted_RBI": 0.3535,
        "predicted_SLG": 0.2914,
        "predicted_SO": 0.7713
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1707,
          "after": 0.1707,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0166,
          "after": 0.0166,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7005,
          "after": 3.7005,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2673,
          "after": 0.1836,
          "delta": -0.0837,
          "percent_delta": -0.3131,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3413,
          "after": 0.3388,
          "delta": -0.0025,
          "percent_delta": -0.0073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6934,
          "after": 0.6795,
          "delta": -0.0139,
          "percent_delta": -0.02,
          "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.0656,
          "after": 0.065,
          "delta": -0.0006,
          "percent_delta": -0.0091,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3003,
          "after": 0.2521,
          "delta": -0.0482,
          "percent_delta": -0.1605,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4241,
          "after": 0.4093,
          "delta": -0.0148,
          "percent_delta": -0.0349,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3663,
          "after": 0.3535,
          "delta": -0.0128,
          "percent_delta": -0.0349,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3906,
          "after": 0.2914,
          "delta": -0.0992,
          "percent_delta": -0.254,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7658,
          "after": 0.7713,
          "delta": 0.0055,
          "percent_delta": 0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3906,
          "after": 0.2914,
          "delta": -0.0992,
          "percent_delta": -0.254,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.80), rates preserved: AVG=0.179 HR/AB=0.017",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1707,
          "after": 0.0,
          "delta": -0.1707,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0166,
          "after": 0.0,
          "delta": -0.0166,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7005,
          "after": 4.0,
          "delta": 0.2995,
          "percent_delta": 0.0809,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3388,
          "after": 0.0,
          "delta": -0.3388,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6795,
          "after": 1.0,
          "delta": 0.3205,
          "percent_delta": 0.4717,
          "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.065,
          "after": 0.0,
          "delta": -0.065,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3535,
          "after": 0.0,
          "delta": -0.3535,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7713,
          "after": 1.0,
          "delta": 0.2287,
          "percent_delta": 0.2965,
          "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.6795,
          "after": 1.0,
          "delta": 0.3205,
          "percent_delta": 0.4717,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3535,
          "after": 0.0,
          "delta": -0.3535,
          "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.4093,
          "after": 0.0,
          "delta": -0.4093,
          "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.4093,
          "after": 0.0,
          "delta": -0.4093,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": 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": 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.179,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.252,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.284,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1836,
          "after": 0.179,
          "delta": -0.0046,
          "percent_delta": -0.0251,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2521,
          "after": 0.252,
          "delta": -0.0001,
          "percent_delta": -0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2914,
          "after": 0.284,
          "delta": -0.0074,
          "percent_delta": -0.0254,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.1836,
        "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.2521,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2914,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.179,
          "after": 0.1836,
          "delta": 0.0046,
          "percent_delta": 0.0258,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.252,
          "after": 0.2521,
          "delta": 0.0001,
          "percent_delta": 0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.284,
          "after": 0.2914,
          "delta": 0.0074,
          "percent_delta": 0.026,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.284,
          "after": 0.2914,
          "delta": 0.0074,
          "percent_delta": 0.026,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.163,
        "after": 0.0,
        "delta": -0.163,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.02,
        "after": 0.0,
        "delta": -0.02,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.796,
        "after": 5.0,
        "delta": 1.204,
        "percent_delta": 0.3172,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.263,
        "after": 0.1836,
        "delta": -0.0794,
        "percent_delta": -0.3019,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.408,
        "after": 0.0,
        "delta": -0.408,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.48,
        "after": 1.0,
        "delta": 0.52,
        "percent_delta": 1.0833,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 0.0,
        "delta": -0.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.282,
        "after": 0.2521,
        "delta": -0.0299,
        "percent_delta": -0.106,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.459,
        "after": 0.0,
        "delta": -0.459,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.3,
        "after": 0.0,
        "delta": -0.3,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.39,
        "after": 0.2914,
        "delta": -0.0986,
        "percent_delta": -0.2528,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.786,
        "after": 1.0,
        "delta": 0.214,
        "percent_delta": 0.2723,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.796,
        "after": 5.0,
        "delta": 1.204,
        "percent_delta": 0.3172,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.459,
        "after": 0.0,
        "delta": -0.459,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.163-
predicted_3B0.020-
predicted_AB3.796-
predicted_AVG0.263-
predicted_BB0.408-
predicted_H0.480-
predicted_HR0.060-
predicted_OBP0.282-
predicted_R0.459-
predicted_RBI0.300-
predicted_SLG0.390-
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.1710.008
predicted_3B0.017-0.003
predicted_AB3.700-0.095
predicted_AVG0.2670.004
predicted_BB0.341-0.067
predicted_H0.6930.213
predicted_HBP0.018-
predicted_HR0.0660.006
predicted_OBP0.3000.018
predicted_R0.424-0.035
predicted_RBI0.3660.066
predicted_SLG0.3910.001
predicted_SO0.766-0.020
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1710.000
predicted_3B0.0170.000
predicted_AB3.7000.000
predicted_AVG0.184-0.084
predicted_BB0.339-0.003
predicted_H0.679-0.014
predicted_HBP0.0180.000
predicted_HR0.065-0.001
predicted_OBP0.252-0.048
predicted_R0.409-0.015
predicted_RBI0.353-0.013
predicted_SLG0.291-0.099
predicted_SO0.7710.005
4. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
H0.000-1.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.171
predicted_3B0.000-0.017
predicted_AB4.0000.300
predicted_AVG0.179-0.005
predicted_BB0.000-0.339
predicted_H1.0000.321
predicted_HR0.000-0.065
predicted_OBP0.252-0.000
predicted_R0.000-0.409
predicted_RBI0.000-0.353
predicted_SLG0.284-0.007
predicted_SO1.0000.229
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 98
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0006.0001.0000.0000.0003.0001.0000.0003.0000.37500.37500.43750.37500.00000.18750.00000.1875
last_100.2010-32.0009.0002.0000.0000.0004.0003.0001.0007.0000.28120.30300.34380.28120.00000.12500.03120.2188
season0.6098-372.00089.00016.0002.00012.00040.00045.00040.00077.0000.23920.31730.38980.23920.03230.10750.10750.2070
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1810
predicted_3B0.0120
predicted_AB3.5740
predicted_AVG0.2730
predicted_BB0.2530
predicted_H0.9760
predicted_HBP0.0180
predicted_HR0.0730
predicted_OBP0.3246
predicted_R0.3780
predicted_RBI0.4540
predicted_SLG0.3913
predicted_SO0.7390
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16300.18100.1707model_form_blend
predicted_3B0.02000.01200.0166model_form_blend
predicted_AB3.79603.57403.7005model_form_blend
predicted_AVG0.26300.27300.2673model_form_blend
predicted_BB0.40800.25300.3413model_form_blend
predicted_H0.48000.97600.6934model_form_blend
predicted_HBP-0.01800.0180form_only
predicted_HR0.06000.07300.0656model_form_blend
predicted_OBP0.28200.32460.3003model_form_blend
predicted_R0.45900.37800.4241model_form_blend
predicted_RBI0.30000.45400.3663model_form_blend
predicted_SLG0.39000.39130.3906model_form_blend
predicted_SO0.78600.73900.7658model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260826_KC@TOR
game_typefull
mlbID543807
playerID543807
playerNameGeorge Springer
posDH
startedTrue
startingPositionDH
teamTOR
teamID29
game_date2026-08-26
sl_k_percent18.2
sl_bb_percent9.5
sl_woba0.33
sl_xwoba0.306
sl_xba0.235
sl_xslg0.376
sl_sweet_spot_percent30.8
sl_barrel_batted_rate6.7
sl_hard_hit_percent37.2
sl_exit_velocity_avg88.3
sl_launch_angle_avg12.3
sl_whiff_percent23.0
sl_swing_percent48.4
Vladimir Guerrero Jr. (665489) · BATTER · 1B · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 488
All-history rows before 20260827: 488
System season_avg: 0.2620
Data season_avg (2026 season-to-date): 0.2682
Diff (system - data): -0.0062
System opponent_avg: 0.2310

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1710.0000.000Hitting_2B0.1760.000-0.1760.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.2604.0004.000Hitting_AB3.8284.0000.1720.000
predicted_AVG0.2580.0000.250Hitting_AVG0.2680.250-0.268-0.250
predicted_BB0.3851.0000.000Hitting_BB0.4360.0000.5641.000
predicted_CS-0.0000.000BaseRunning_CS0.0250.000-0.0250.000
predicted_H1.1000.0001.000Hitting_H1.0271.000-1.027-1.000
predicted_HR0.0900.0000.000Hitting_HR0.0640.000-0.0640.000
predicted_OBP0.3030.2000.250Hitting_OBP0.3450.250-0.145-0.050
predicted_R0.5210.0001.000Hitting_R0.5700.000-0.5700.000
predicted_RBI0.3200.0000.000Hitting_RBI0.4220.000-0.4220.000
predicted_SLG0.3670.0000.250Hitting_SLG0.3640.250-0.364-0.250
predicted_SO0.5561.0000.000Hitting_SO0.5590.0000.4411.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics3
Deboosted Metrics7
Better Metrics2
Worse Metrics8
Biggest Boostpredicted_BB: 0.3850 -> 1.0000 (boost 0.6150, better)
Biggest Deboostpredicted_H: 1.1000 -> 0.0000 (deboost -1.1000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend20202-predicted_AB: 4.2600 -> 4.1066 (deboost -0.1534, worse)Final model input calibrated 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.3625 -> 0.3538 (deboost -0.0087, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling60615-predicted_SO: 0.5194 -> 0.0000 (deboost -0.5194, better)AB rounded to 4 (raw=4.26), rates preserved: AVG=0.246 HR/AB=0.018
5bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
6consistency_constraints10101-predicted_R: 0.4991 -> 0.0000 (deboost -0.4991, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation11010predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context30303-predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference32112predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
10current_json_final22020predicted_AVG: 0.2430 -> 0.2550 (boost 0.0120, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "665489",
  "player_name": "Vladimir Guerrero Jr.",
  "position": "1B",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.171,
        "predicted_3B": 0.0,
        "predicted_AB": 4.26,
        "predicted_AVG": 0.258,
        "predicted_BB": 0.385,
        "predicted_H": 1.1,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.303,
        "predicted_R": 0.521,
        "predicted_RBI": 0.32,
        "predicted_SLG": 0.367,
        "predicted_SO": 0.556
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1758,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.1066,
        "predicted_AVG": 0.2603,
        "predicted_BB": 0.33,
        "predicted_H": 1.0688,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.077,
        "predicted_OBP": 0.3054,
        "predicted_R": 0.5171,
        "predicted_RBI": 0.3083,
        "predicted_SLG": 0.3625,
        "predicted_SO": 0.5157
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.171,
          "after": 0.1758,
          "delta": 0.0048,
          "percent_delta": 0.0281,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0004,
          "delta": 0.0004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.26,
          "after": 4.1066,
          "delta": -0.1534,
          "percent_delta": -0.036,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.258,
          "after": 0.2603,
          "delta": 0.0023,
          "percent_delta": 0.0089,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.385,
          "after": 0.33,
          "delta": -0.055,
          "percent_delta": -0.1429,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1,
          "after": 1.0688,
          "delta": -0.0312,
          "percent_delta": -0.0284,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.077,
          "delta": -0.013,
          "percent_delta": -0.1444,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.303,
          "after": 0.3054,
          "delta": 0.0024,
          "percent_delta": 0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.521,
          "after": 0.5171,
          "delta": -0.0039,
          "percent_delta": -0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.32,
          "after": 0.3083,
          "delta": -0.0117,
          "percent_delta": -0.0366,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.367,
          "after": 0.3625,
          "delta": -0.0045,
          "percent_delta": -0.0123,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.556,
          "after": 0.5157,
          "delta": -0.0403,
          "percent_delta": -0.0725,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.26,
          "after": 4.1066,
          "delta": -0.1534,
          "percent_delta": -0.036,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 117
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1758,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.1066,
        "predicted_AVG": 0.255,
        "predicted_BB": 0.3276,
        "predicted_H": 1.0473,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.0763,
        "predicted_OBP": 0.3101,
        "predicted_R": 0.4991,
        "predicted_RBI": 0.2975,
        "predicted_SLG": 0.3538,
        "predicted_SO": 0.5194
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1758,
          "after": 0.1758,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1066,
          "after": 4.1066,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2603,
          "after": 0.255,
          "delta": -0.0053,
          "percent_delta": -0.0204,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.33,
          "after": 0.3276,
          "delta": -0.0024,
          "percent_delta": -0.0073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0688,
          "after": 1.0473,
          "delta": -0.0215,
          "percent_delta": -0.0201,
          "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.077,
          "after": 0.0763,
          "delta": -0.0007,
          "percent_delta": -0.0091,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3054,
          "after": 0.3101,
          "delta": 0.0047,
          "percent_delta": 0.0154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5171,
          "after": 0.4991,
          "delta": -0.018,
          "percent_delta": -0.0348,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3083,
          "after": 0.2975,
          "delta": -0.0108,
          "percent_delta": -0.035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3625,
          "after": 0.3538,
          "delta": -0.0087,
          "percent_delta": -0.024,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5157,
          "after": 0.5194,
          "delta": 0.0037,
          "percent_delta": 0.0072,
          "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.3625,
          "after": 0.3538,
          "delta": -0.0087,
          "percent_delta": -0.024,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.26), rates preserved: AVG=0.246 HR/AB=0.018",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1758,
          "after": 0.0,
          "delta": -0.1758,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1066,
          "after": 4.0,
          "delta": -0.1066,
          "percent_delta": -0.026,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3276,
          "after": 0.0,
          "delta": -0.3276,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0473,
          "after": 1.0,
          "delta": -0.0473,
          "percent_delta": -0.0452,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.017,
          "after": 0.0,
          "delta": -0.017,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0763,
          "after": 0.0,
          "delta": -0.0763,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2975,
          "after": 0.0,
          "delta": -0.2975,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5194,
          "after": 0.0,
          "delta": -0.5194,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.5194,
          "after": 0.0,
          "delta": -0.5194,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4991,
          "after": 0.0,
          "delta": -0.4991,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.4991,
          "after": 0.0,
          "delta": -0.4991,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.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": "embedded_savant_player_context",
      "description": "Player 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.243,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.307,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.343,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.255,
          "after": 0.243,
          "delta": -0.012,
          "percent_delta": -0.0471,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3101,
          "after": 0.307,
          "delta": -0.0031,
          "percent_delta": -0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3538,
          "after": 0.343,
          "delta": -0.0108,
          "percent_delta": -0.0305,
          "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_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.255,
        "predicted_BB": 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.3101,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3538,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.243,
          "after": 0.255,
          "delta": 0.012,
          "percent_delta": 0.0495,
          "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.307,
          "after": 0.3101,
          "delta": 0.0031,
          "percent_delta": 0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.343,
          "after": 0.3538,
          "delta": 0.0108,
          "percent_delta": 0.0314,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.243,
          "after": 0.255,
          "delta": 0.012,
          "percent_delta": 0.0495,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.171,
        "after": 0.0,
        "delta": -0.171,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.26,
        "after": 4.0,
        "delta": -0.26,
        "percent_delta": -0.061,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.258,
        "after": 0.255,
        "delta": -0.003,
        "percent_delta": -0.0116,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.385,
        "after": 1.0,
        "delta": 0.615,
        "percent_delta": 1.5974,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.1,
        "after": 0.0,
        "delta": -1.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.303,
        "after": 0.3101,
        "delta": 0.0071,
        "percent_delta": 0.0234,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.521,
        "after": 0.0,
        "delta": -0.521,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.32,
        "after": 0.0,
        "delta": -0.32,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.367,
        "after": 0.3538,
        "delta": -0.0132,
        "percent_delta": -0.036,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.556,
        "after": 1.0,
        "delta": 0.444,
        "percent_delta": 0.7986,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 2,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.385,
        "after": 1.0,
        "delta": 0.615,
        "percent_delta": 1.5974,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.1,
        "after": 0.0,
        "delta": -1.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.171-
predicted_3B0.000-
predicted_AB4.260-
predicted_AVG0.258-
predicted_BB0.385-
predicted_H1.100-
predicted_HR0.090-
predicted_OBP0.303-
predicted_R0.521-
predicted_RBI0.320-
predicted_SLG0.367-
predicted_SO0.556-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1760.005
predicted_3B0.0000.000
predicted_AB4.107-0.153
predicted_AVG0.2600.002
predicted_BB0.330-0.055
predicted_H1.069-0.031
predicted_HBP0.017-
predicted_HR0.077-0.013
predicted_OBP0.3050.002
predicted_R0.517-0.004
predicted_RBI0.308-0.012
predicted_SLG0.362-0.005
predicted_SO0.516-0.040
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1760.000
predicted_3B0.0000.000
predicted_AB4.1070.000
predicted_AVG0.255-0.005
predicted_BB0.328-0.002
predicted_H1.047-0.022
predicted_HBP0.0170.000
predicted_HR0.076-0.001
predicted_OBP0.3100.005
predicted_R0.499-0.018
predicted_RBI0.297-0.011
predicted_SLG0.354-0.009
predicted_SO0.5190.004
4. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO0.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-
SO0.0000.000
7. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0001.000
RBI0.0000.000
SO0.0000.000
8. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.176
predicted_3B0.000-0.000
predicted_AB4.000-0.107
predicted_AVG0.243-0.012
predicted_BB0.000-0.328
predicted_H1.000-0.047
predicted_HR0.000-0.076
predicted_OBP0.307-0.003
predicted_R0.000-0.499
predicted_RBI0.000-0.297
predicted_SLG0.343-0.011
predicted_SO0.000-0.519
9. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 117
Reference playing time: 4.260
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0005.0001.0000.0000.0000.0002.0000.0001.0000.25000.25000.30000.25000.00000.00000.00000.0500
last_100.2010-42.00012.0002.0000.0001.0002.0006.0001.0003.0000.28570.30230.40480.28570.02380.04760.02380.0714
season0.60117-443.000116.00020.0000.0007.00046.00061.00045.00065.0000.26190.33060.35440.26190.01580.10380.10160.1467
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1820
predicted_3B0.0010
predicted_AB3.9060
predicted_AVG0.2633
predicted_BB0.2580
predicted_H1.0280
predicted_HBP0.0170
predicted_HR0.0600
predicted_OBP0.3086
predicted_R0.5120
predicted_RBI0.2930
predicted_SLG0.3567
predicted_SO0.4630
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17100.18200.1758model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.26003.90604.1066model_form_blend
predicted_AVG0.25800.26330.2603model_form_blend
predicted_BB0.38500.25800.3300model_form_blend
predicted_H1.10001.02801.0688model_form_blend
predicted_HBP-0.01700.0170form_only
predicted_HR0.09000.06000.0770model_form_blend
predicted_OBP0.30300.30860.3054model_form_blend
predicted_R0.52100.51200.5171model_form_blend
predicted_RBI0.32000.29300.3083model_form_blend
predicted_SLG0.36700.35670.3625model_form_blend
predicted_SO0.55600.46300.5157model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260826_KC@TOR
game_typefull
mlbID665489
playerID665489
playerNameVladimir Guerrero Jr.
pos1B
startedTrue
startingPosition1B
teamTOR
teamID29
game_date2026-08-26
sl_k_percent12.7
sl_bb_percent9.4
sl_woba0.302
sl_xwoba0.331
sl_xba0.282
sl_xslg0.397
sl_sweet_spot_percent28.7
sl_barrel_batted_rate6.5
sl_hard_hit_percent42.9
sl_exit_velocity_avg90.1
sl_launch_angle_avg8.9
sl_whiff_percent19.2
sl_swing_percent47.4
Nathan Lukes (664770) · BATTER · RF · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 342
All-history rows before 20260827: 342
System season_avg: 0.2630
Data season_avg (2026 season-to-date): 0.2696
Diff (system - data): -0.0066
System opponent_avg: 0.2630

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1170.0000.000Hitting_2B0.1230.000-0.1230.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.7205.0004.000Hitting_AB3.6553.0001.3452.000
predicted_AVG0.2460.2000.250Hitting_AVG0.2700.333-0.070-0.133
predicted_BB0.2130.0000.000Hitting_BB0.2510.000-0.2510.000
predicted_CS-0.0000.000BaseRunning_CS0.0150.000-0.0150.000
predicted_H0.9101.0001.000Hitting_H0.9851.0000.0150.000
predicted_HR0.1501.0000.000Hitting_HR0.0851.0000.9150.000
predicted_OBP0.3160.2000.250Hitting_OBP0.3260.333-0.126-0.133
predicted_R0.3511.0000.000Hitting_R0.4121.0000.5880.000
predicted_RBI0.6101.0001.000Hitting_RBI0.3073.0000.693-2.000
predicted_SLG0.3960.8000.250Hitting_SLG0.3731.3330.427-0.533
predicted_SO0.5532.0001.000Hitting_SO0.6431.0001.3571.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics7
Deboosted Metrics3
Better Metrics6
Worse Metrics4
Biggest Boostpredicted_SO: 0.5530 -> 2.0000 (boost 1.4470, worse)
Biggest Deboostpredicted_BB: 0.2130 -> 0.0000 (deboost -0.2130, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43122predicted_SO: 0.5530 -> 0.6080 (boost 0.0550, worse)predicted_AB: 3.7200 -> 3.6015 (deboost -0.1185, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_OBP: 0.3122 -> 0.2890 (deboost -0.0232, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling74334predicted_RBI: 0.5620 -> 1.0000 (boost 0.4380, better)predicted_BB: 0.2191 -> 0.0000 (deboost -0.2191, worse)AB rounded to 4 (raw=3.72), rates preserved: AVG=0.238 HR/AB=0.042
5consistency_constraints10101-predicted_R: 0.3429 -> 0.0000 (deboost -0.3429, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context20202-predicted_AVG: 0.2457 -> 0.2380 (deboost -0.0077, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference44031predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final11010predicted_AVG: 0.2380 -> 0.2457 (boost 0.0077, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "664770",
  "player_name": "Nathan Lukes",
  "position": "RF",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.117,
        "predicted_3B": 0.0,
        "predicted_AB": 3.72,
        "predicted_AVG": 0.246,
        "predicted_BB": 0.213,
        "predicted_H": 0.91,
        "predicted_HR": 0.15,
        "predicted_OBP": 0.316,
        "predicted_R": 0.351,
        "predicted_RBI": 0.61,
        "predicted_SLG": 0.396,
        "predicted_SO": 0.553
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1008,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.6015,
        "predicted_AVG": 0.2518,
        "predicted_BB": 0.2207,
        "predicted_H": 0.9032,
        "predicted_HBP": 0.032,
        "predicted_HR": 0.1564,
        "predicted_OBP": 0.3122,
        "predicted_R": 0.3553,
        "predicted_RBI": 0.5823,
        "predicted_SLG": 0.4095,
        "predicted_SO": 0.608
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.117,
          "after": 0.1008,
          "delta": -0.0162,
          "percent_delta": -0.1385,
          "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.72,
          "after": 3.6015,
          "delta": -0.1185,
          "percent_delta": -0.0319,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.2518,
          "delta": 0.0058,
          "percent_delta": 0.0236,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.213,
          "after": 0.2207,
          "delta": 0.0077,
          "percent_delta": 0.0362,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.91,
          "after": 0.9032,
          "delta": -0.0068,
          "percent_delta": -0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.15,
          "after": 0.1564,
          "delta": 0.0064,
          "percent_delta": 0.0427,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.316,
          "after": 0.3122,
          "delta": -0.0038,
          "percent_delta": -0.012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.351,
          "after": 0.3553,
          "delta": 0.0043,
          "percent_delta": 0.0123,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.61,
          "after": 0.5823,
          "delta": -0.0277,
          "percent_delta": -0.0454,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.396,
          "after": 0.4095,
          "delta": 0.0135,
          "percent_delta": 0.0341,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.553,
          "after": 0.608,
          "delta": 0.055,
          "percent_delta": 0.0995,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.553,
          "after": 0.608,
          "delta": 0.055,
          "percent_delta": 0.0995,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.72,
          "after": 3.6015,
          "delta": -0.1185,
          "percent_delta": -0.0319,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 94
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1008,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.6015,
        "predicted_AVG": 0.2457,
        "predicted_BB": 0.2191,
        "predicted_H": 0.885,
        "predicted_HBP": 0.032,
        "predicted_HR": 0.1549,
        "predicted_OBP": 0.289,
        "predicted_R": 0.3429,
        "predicted_RBI": 0.562,
        "predicted_SLG": 0.403,
        "predicted_SO": 0.6124
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1008,
          "after": 0.1008,
          "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.6015,
          "after": 3.6015,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2518,
          "after": 0.2457,
          "delta": -0.0061,
          "percent_delta": -0.0242,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2207,
          "after": 0.2191,
          "delta": -0.0016,
          "percent_delta": -0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9032,
          "after": 0.885,
          "delta": -0.0182,
          "percent_delta": -0.0202,
          "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.1564,
          "after": 0.1549,
          "delta": -0.0015,
          "percent_delta": -0.0096,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3122,
          "after": 0.289,
          "delta": -0.0232,
          "percent_delta": -0.0743,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3553,
          "after": 0.3429,
          "delta": -0.0124,
          "percent_delta": -0.0349,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5823,
          "after": 0.562,
          "delta": -0.0203,
          "percent_delta": -0.0349,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4095,
          "after": 0.403,
          "delta": -0.0065,
          "percent_delta": -0.0159,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.608,
          "after": 0.6124,
          "delta": 0.0044,
          "percent_delta": 0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3122,
          "after": 0.289,
          "delta": -0.0232,
          "percent_delta": -0.0743,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.72), rates preserved: AVG=0.238 HR/AB=0.042",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1008,
          "after": 0.0,
          "delta": -0.1008,
          "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.6015,
          "after": 4.0,
          "delta": 0.3985,
          "percent_delta": 0.1106,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2191,
          "after": 0.0,
          "delta": -0.2191,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.885,
          "after": 1.0,
          "delta": 0.115,
          "percent_delta": 0.1299,
          "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.1549,
          "after": 0.0,
          "delta": -0.1549,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.562,
          "after": 1.0,
          "delta": 0.438,
          "percent_delta": 0.7794,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6124,
          "after": 1.0,
          "delta": 0.3876,
          "percent_delta": 0.6329,
          "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.562,
          "after": 1.0,
          "delta": 0.438,
          "percent_delta": 0.7794,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2191,
          "after": 0.0,
          "delta": -0.2191,
          "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.3429,
          "after": 0.0,
          "delta": -0.3429,
          "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.3429,
          "after": 0.0,
          "delta": -0.3429,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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": 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": {}
    },
    {
      "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.238,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.286,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.398,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2457,
          "after": 0.238,
          "delta": -0.0077,
          "percent_delta": -0.0313,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.289,
          "after": 0.286,
          "delta": -0.003,
          "percent_delta": -0.0104,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 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.403,
          "after": 0.398,
          "delta": -0.005,
          "percent_delta": -0.0124,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.2457,
          "after": 0.238,
          "delta": -0.0077,
          "percent_delta": -0.0313,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": 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": 5.0,
        "predicted_AVG": 0.2457,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.289,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.403,
        "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.238,
          "after": 0.2457,
          "delta": 0.0077,
          "percent_delta": 0.0325,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.289,
          "delta": 0.003,
          "percent_delta": 0.0105,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.398,
          "after": 0.403,
          "delta": 0.005,
          "percent_delta": 0.0126,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.238,
          "after": 0.2457,
          "delta": 0.0077,
          "percent_delta": 0.0325,
          "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.117,
        "after": 0.0,
        "delta": -0.117,
        "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.72,
        "after": 5.0,
        "delta": 1.28,
        "percent_delta": 0.3441,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.246,
        "after": 0.2457,
        "delta": -0.0003,
        "percent_delta": -0.0012,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.213,
        "after": 0.0,
        "delta": -0.213,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.91,
        "after": 1.0,
        "delta": 0.09,
        "percent_delta": 0.0989,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.15,
        "after": 1.0,
        "delta": 0.85,
        "percent_delta": 5.6667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.316,
        "after": 0.289,
        "delta": -0.027,
        "percent_delta": -0.0854,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.351,
        "after": 1.0,
        "delta": 0.649,
        "percent_delta": 1.849,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.61,
        "after": 1.0,
        "delta": 0.39,
        "percent_delta": 0.6393,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.396,
        "after": 0.403,
        "delta": 0.007,
        "percent_delta": 0.0177,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.553,
        "after": 2.0,
        "delta": 1.447,
        "percent_delta": 2.6166,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 7,
      "deboosted_metrics": 3,
      "better_metrics": 6,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.553,
        "after": 2.0,
        "delta": 1.447,
        "percent_delta": 2.6166,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.213,
        "after": 0.0,
        "delta": -0.213,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "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.117-
predicted_3B0.000-
predicted_AB3.720-
predicted_AVG0.246-
predicted_BB0.213-
predicted_H0.910-
predicted_HR0.150-
predicted_OBP0.316-
predicted_R0.351-
predicted_RBI0.610-
predicted_SLG0.396-
predicted_SO0.553-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.101-0.016
predicted_3B0.0000.000
predicted_AB3.602-0.119
predicted_AVG0.2520.006
predicted_BB0.2210.008
predicted_H0.903-0.007
predicted_HBP0.032-
predicted_HR0.1560.006
predicted_OBP0.312-0.004
predicted_R0.3550.004
predicted_RBI0.582-0.028
predicted_SLG0.4090.013
predicted_SO0.6080.055
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1010.000
predicted_3B0.0000.000
predicted_AB3.6020.000
predicted_AVG0.246-0.006
predicted_BB0.219-0.002
predicted_H0.885-0.018
predicted_HBP0.0320.000
predicted_HR0.155-0.002
predicted_OBP0.289-0.023
predicted_R0.343-0.012
predicted_RBI0.562-0.020
predicted_SLG0.403-0.006
predicted_SO0.6120.004
4. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI1.0000.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.101
predicted_3B0.000-0.000
predicted_AB4.0000.398
predicted_AVG0.238-0.008
predicted_BB0.000-0.219
predicted_H1.0000.115
predicted_HR0.000-0.155
predicted_OBP0.286-0.003
predicted_R0.000-0.343
predicted_RBI1.0000.438
predicted_SLG0.398-0.005
predicted_SO1.0000.388
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0001.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA5.000-
R1.0001.000
RBI1.0000.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 94
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0005.0000.0000.0002.0006.0002.0001.0005.0000.27780.30000.61110.27780.11110.33330.05560.2778
last_100.2010-34.0008.0000.0000.0002.0007.0003.0003.0007.0000.23530.28950.41180.23530.05880.20590.08820.2059
season0.6094-315.00083.00011.0000.0008.00028.00033.00020.00052.0000.26350.31580.37460.26350.02540.08890.06350.1651
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0790
predicted_3B0.0010
predicted_AB3.4420
predicted_AVG0.2597
predicted_BB0.2310
predicted_H0.8940
predicted_HBP0.0320
predicted_HR0.1650
predicted_OBP0.3072
predicted_R0.3610
predicted_RBI0.5450
predicted_SLG0.4276
predicted_SO0.6820
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11700.07900.1008model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.72003.44203.6015model_form_blend
predicted_AVG0.24600.25970.2518model_form_blend
predicted_BB0.21300.23100.2207model_form_blend
predicted_H0.91000.89400.9032model_form_blend
predicted_HBP-0.03200.0320form_only
predicted_HR0.15000.16500.1564model_form_blend
predicted_OBP0.31600.30720.3122model_form_blend
predicted_R0.35100.36100.3553model_form_blend
predicted_RBI0.61000.54500.5823model_form_blend
predicted_SLG0.39600.42760.4095model_form_blend
predicted_SO0.55300.68200.6080model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI3
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB4
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260826_KC@TOR
game_typefull
mlbID664770
playerID664770
playerNameNathan Lukes
posRF
startedTrue
startingPositionRF
teamTOR
teamID29
game_date2026-08-26
sl_k_percent14.8
sl_bb_percent5.8
sl_woba0.313
sl_xwoba0.292
sl_xba0.256
sl_xslg0.345
sl_sweet_spot_percent30.0
sl_barrel_batted_rate2.5
sl_hard_hit_percent27.9
sl_exit_velocity_avg86.9
sl_launch_angle_avg9.1
sl_whiff_percent16.7
sl_swing_percent49.7
Kazuma Okamoto (672960) · BATTER · 3B · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 507
All-history rows before 20260827: 507
System season_avg: 0.2290
Data season_avg (2026 season-to-date): 0.2334
Diff (system - data): -0.0044
System opponent_avg: 0.2290

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1570.0000.000Hitting_2B0.1440.000-0.1440.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.9103.0004.000Hitting_AB3.7692.000-0.7691.000
predicted_AVG0.2130.0000.250Hitting_AVG0.2330.000-0.2330.000
predicted_BB0.3462.0001.000Hitting_BB0.3771.0001.6231.000
predicted_CS-0.0000.000BaseRunning_CS0.0100.000-0.0100.000
predicted_H0.8300.0001.000Hitting_H0.8800.000-0.8800.000
predicted_HR0.1900.0001.000Hitting_HR0.2090.000-0.2090.000
predicted_OBP0.3090.4000.400Hitting_OBP0.3100.3330.0900.067
predicted_R0.5350.0001.000Hitting_R0.5681.000-0.568-1.000
predicted_RBI0.4400.0001.000Hitting_RBI0.6330.000-0.6330.000
predicted_SLG0.4440.0001.000Hitting_SLG0.4380.000-0.4380.000
predicted_SO1.2522.0001.000Hitting_SO1.2560.0000.7442.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_BB: 0.3460 -> 2.0000 (boost 1.6540, better)
Biggest Deboostpredicted_AB: 3.9100 -> 3.0000 (deboost -0.9100, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend33030predicted_2B: 0.1570 -> 0.2117 (boost 0.0547, 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.4556 -> 0.4233 (deboost -0.0323, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72534predicted_H: 0.8478 -> 1.0000 (boost 0.1522, better)predicted_RBI: 0.4313 -> 0.0000 (deboost -0.4313, worse)AB rounded to 4 (raw=3.91), rates preserved: AVG=0.217 HR/AB=0.049
5consistency_constraints11010predicted_R: 0.5029 -> 1.0000 (boost 0.4971, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation33030predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context30303-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference52314predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "672960",
  "player_name": "Kazuma Okamoto",
  "position": "3B",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.157,
        "predicted_3B": 0.0,
        "predicted_AB": 3.91,
        "predicted_AVG": 0.213,
        "predicted_BB": 0.346,
        "predicted_H": 0.83,
        "predicted_HR": 0.19,
        "predicted_OBP": 0.309,
        "predicted_R": 0.535,
        "predicted_RBI": 0.44,
        "predicted_SLG": 0.444,
        "predicted_SO": 1.252
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2117,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.8662,
        "predicted_AVG": 0.2243,
        "predicted_BB": 0.3447,
        "predicted_H": 0.8652,
        "predicted_HBP": 0.029,
        "predicted_HR": 0.1939,
        "predicted_OBP": 0.3079,
        "predicted_R": 0.5211,
        "predicted_RBI": 0.4469,
        "predicted_SLG": 0.4556,
        "predicted_SO": 1.2029
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.157,
          "after": 0.2117,
          "delta": 0.0547,
          "percent_delta": 0.3484,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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.91,
          "after": 3.8662,
          "delta": -0.0438,
          "percent_delta": -0.0112,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.213,
          "after": 0.2243,
          "delta": 0.0113,
          "percent_delta": 0.0531,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.346,
          "after": 0.3447,
          "delta": -0.0013,
          "percent_delta": -0.0038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.83,
          "after": 0.8652,
          "delta": 0.0352,
          "percent_delta": 0.0424,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.19,
          "after": 0.1939,
          "delta": 0.0039,
          "percent_delta": 0.0205,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.309,
          "after": 0.3079,
          "delta": -0.0011,
          "percent_delta": -0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.535,
          "after": 0.5211,
          "delta": -0.0139,
          "percent_delta": -0.026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.44,
          "after": 0.4469,
          "delta": 0.0069,
          "percent_delta": 0.0157,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.444,
          "after": 0.4556,
          "delta": 0.0116,
          "percent_delta": 0.0261,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.252,
          "after": 1.2029,
          "delta": -0.0491,
          "percent_delta": -0.0392,
          "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.157,
          "after": 0.2117,
          "delta": 0.0547,
          "percent_delta": 0.3484,
          "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": 127
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2117,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.8662,
        "predicted_AVG": 0.2193,
        "predicted_BB": 0.3422,
        "predicted_H": 0.8478,
        "predicted_HBP": 0.029,
        "predicted_HR": 0.1921,
        "predicted_OBP": 0.2828,
        "predicted_R": 0.5029,
        "predicted_RBI": 0.4313,
        "predicted_SLG": 0.4233,
        "predicted_SO": 1.2116
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2117,
          "after": 0.2117,
          "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.8662,
          "after": 3.8662,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2243,
          "after": 0.2193,
          "delta": -0.005,
          "percent_delta": -0.0223,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3447,
          "after": 0.3422,
          "delta": -0.0025,
          "percent_delta": -0.0073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8652,
          "after": 0.8478,
          "delta": -0.0174,
          "percent_delta": -0.0201,
          "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.1939,
          "after": 0.1921,
          "delta": -0.0018,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3079,
          "after": 0.2828,
          "delta": -0.0251,
          "percent_delta": -0.0815,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5211,
          "after": 0.5029,
          "delta": -0.0182,
          "percent_delta": -0.0349,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4469,
          "after": 0.4313,
          "delta": -0.0156,
          "percent_delta": -0.0349,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4556,
          "after": 0.4233,
          "delta": -0.0323,
          "percent_delta": -0.0709,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2029,
          "after": 1.2116,
          "delta": 0.0087,
          "percent_delta": 0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4556,
          "after": 0.4233,
          "delta": -0.0323,
          "percent_delta": -0.0709,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.91), rates preserved: AVG=0.217 HR/AB=0.049",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2117,
          "after": 0.0,
          "delta": -0.2117,
          "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.8662,
          "after": 4.0,
          "delta": 0.1338,
          "percent_delta": 0.0346,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3422,
          "after": 0.0,
          "delta": -0.3422,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8478,
          "after": 1.0,
          "delta": 0.1522,
          "percent_delta": 0.1795,
          "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.1921,
          "after": 0.0,
          "delta": -0.1921,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4313,
          "after": 0.0,
          "delta": -0.4313,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2116,
          "after": 1.0,
          "delta": -0.2116,
          "percent_delta": -0.1746,
          "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.8478,
          "after": 1.0,
          "delta": 0.1522,
          "percent_delta": 0.1795,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4313,
          "after": 0.0,
          "delta": -0.4313,
          "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.5029,
          "after": 1.0,
          "delta": 0.4971,
          "percent_delta": 0.9885,
          "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.5029,
          "after": 1.0,
          "delta": 0.4971,
          "percent_delta": 0.9885,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.217,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.285,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.426,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2193,
          "after": 0.217,
          "delta": -0.0023,
          "percent_delta": -0.0105,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2828,
          "after": 0.285,
          "delta": 0.0022,
          "percent_delta": 0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4233,
          "after": 0.426,
          "delta": 0.0027,
          "percent_delta": 0.0064,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2193,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2828,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4233,
        "predicted_SO": 2.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.217,
          "after": 0.2193,
          "delta": 0.0023,
          "percent_delta": 0.0105,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.285,
          "after": 0.2828,
          "delta": -0.0022,
          "percent_delta": -0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.426,
          "after": 0.4233,
          "delta": -0.0027,
          "percent_delta": -0.0064,
          "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": "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": 3.91,
        "after": 3.0,
        "delta": -0.91,
        "percent_delta": -0.2327,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.213,
        "after": 0.2193,
        "delta": 0.0063,
        "percent_delta": 0.0296,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.346,
        "after": 2.0,
        "delta": 1.654,
        "percent_delta": 4.7803,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.83,
        "after": 0.0,
        "delta": -0.83,
        "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.309,
        "after": 0.2828,
        "delta": -0.0262,
        "percent_delta": -0.0848,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.535,
        "after": 0.0,
        "delta": -0.535,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.44,
        "after": 0.0,
        "delta": -0.44,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.444,
        "after": 0.4233,
        "delta": -0.0207,
        "percent_delta": -0.0466,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.252,
        "after": 2.0,
        "delta": 0.748,
        "percent_delta": 0.5974,
        "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_BB",
        "before": 0.346,
        "after": 2.0,
        "delta": 1.654,
        "percent_delta": 4.7803,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.91,
        "after": 3.0,
        "delta": -0.91,
        "percent_delta": -0.2327,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.157-
predicted_3B0.000-
predicted_AB3.910-
predicted_AVG0.213-
predicted_BB0.346-
predicted_H0.830-
predicted_HR0.190-
predicted_OBP0.309-
predicted_R0.535-
predicted_RBI0.440-
predicted_SLG0.444-
predicted_SO1.252-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2120.055
predicted_3B0.0000.000
predicted_AB3.866-0.044
predicted_AVG0.2240.011
predicted_BB0.345-0.001
predicted_H0.8650.035
predicted_HBP0.029-
predicted_HR0.1940.004
predicted_OBP0.308-0.001
predicted_R0.521-0.014
predicted_RBI0.4470.007
predicted_SLG0.4560.012
predicted_SO1.203-0.049
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2120.000
predicted_3B0.0000.000
predicted_AB3.8660.000
predicted_AVG0.219-0.005
predicted_BB0.342-0.003
predicted_H0.848-0.017
predicted_HBP0.0290.000
predicted_HR0.192-0.002
predicted_OBP0.283-0.025
predicted_R0.503-0.018
predicted_RBI0.431-0.016
predicted_SLG0.423-0.032
predicted_SO1.2120.009
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.91), rates preserved: AVG=0.217 HR/AB=0.049

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
H1.0000.000
HR1.0001.000
R1.0000.000
RBI1.0001.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.212
predicted_3B0.000-0.000
predicted_AB4.0000.134
predicted_AVG0.217-0.002
predicted_BB0.000-0.342
predicted_H1.0000.152
predicted_HR0.000-0.192
predicted_OBP0.2850.002
predicted_R1.0000.497
predicted_RBI0.000-0.431
predicted_SLG0.4260.003
predicted_SO1.000-0.212
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 127
Reference playing time: 3.910
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0005.0003.0000.0001.0001.0002.0002.0005.0000.25000.31820.55000.25000.05000.05000.10000.2500
last_100.2010-39.00010.0004.0000.0002.0003.0005.0003.00010.0000.25640.30950.51280.25640.05130.07690.07690.2564
season0.60127-472.000108.00020.0000.00026.00074.00068.00044.000159.0000.22880.30150.43640.22880.05510.15680.09320.3369
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2830
predicted_3B0.0010
predicted_AB3.8090
predicted_AVG0.2391
predicted_BB0.3430
predicted_H0.9110
predicted_HBP0.0290
predicted_HR0.1990
predicted_OBP0.3064
predicted_R0.5030
predicted_RBI0.4560
predicted_SLG0.4708
predicted_SO1.1390
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15700.28300.2117model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.91003.80903.8662model_form_blend
predicted_AVG0.21300.23910.2243model_form_blend
predicted_BB0.34600.34300.3447model_form_blend
predicted_H0.83000.91100.8652model_form_blend
predicted_HBP-0.02900.0290form_only
predicted_HR0.19000.19900.1939model_form_blend
predicted_OBP0.30900.30640.3079model_form_blend
predicted_R0.53500.50300.5211model_form_blend
predicted_RBI0.44000.45600.4469model_form_blend
predicted_SLG0.44400.47080.4556model_form_blend
predicted_SO1.25201.13901.2029model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260826_KC@TOR
game_typefull
mlbID672960
playerID672960
playerNameKazuma Okamoto
pos3B
startedTrue
startingPosition3B
teamTOR
teamID29
game_date2026-08-26
sl_k_percent29.5
sl_bb_percent8.8
sl_woba0.326
sl_xwoba0.32
sl_xba0.217
sl_xslg0.433
sl_sweet_spot_percent33.7
sl_barrel_batted_rate13.4
sl_hard_hit_percent43.5
sl_exit_velocity_avg90.4
sl_launch_angle_avg20.2
sl_whiff_percent33.3
sl_swing_percent47.6
Ernie Clement (676391) · BATTER · 2B · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 502
All-history rows before 20260827: 502
System season_avg: 0.2830
Data season_avg (2026 season-to-date): 0.2906
Diff (system - data): -0.0076
System opponent_avg: 0.1420

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2250.0001.000Hitting_2B0.2410.000-0.2410.000
predicted_3B0.0080.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB4.0703.0004.000Hitting_AB3.9823.000-0.9820.000
predicted_AVG0.2560.0000.250Hitting_AVG0.2910.000-0.2910.000
predicted_BB0.1401.0000.000Hitting_BB0.1390.0000.8611.000
predicted_CS-0.0000.000BaseRunning_CS0.0080.000-0.0080.000
predicted_H1.0400.0001.000Hitting_H1.1570.000-1.1570.000
predicted_HR0.0500.0000.000Hitting_HR0.0780.000-0.0780.000
predicted_OBP0.3040.2500.250Hitting_OBP0.3150.000-0.0650.250
predicted_R0.4190.0000.000Hitting_R0.4640.000-0.4640.000
predicted_RBI0.2800.0000.000Hitting_RBI0.3730.000-0.3730.000
predicted_SB-0.0000.000BaseRunning_SB0.0420.000-0.0420.000
predicted_SLG0.3890.0000.500Hitting_SLG0.4140.000-0.4140.000
predicted_SO0.3880.0000.000Hitting_SO0.3961.000-0.396-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics1
Deboosted Metrics9
Better Metrics2
Worse Metrics8
Biggest Boostpredicted_BB: 0.1400 -> 1.0000 (boost 0.8600, better)
Biggest Deboostpredicted_AB: 4.0700 -> 3.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_blend31212predicted_AVG: 0.2560 -> 0.2661 (boost 0.0101, better)predicted_AB: 4.0700 -> 3.9602 (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_snapshot30303-predicted_SLG: 0.3804 -> 0.3534 (deboost -0.0270, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling40413-predicted_SO: 0.4109 -> 0.0000 (deboost -0.4109, better)AB rounded to 4 (raw=4.07), rates preserved: AVG=0.253 HR/AB=0.012
5bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)
6consistency_constraints10101-predicted_R: 0.3729 -> 0.0000 (deboost -0.3729, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation11010predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context40404-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference31212predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
10current_json_final33030predicted_SLG: 0.3270 -> 0.3534 (boost 0.0264, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "676391",
  "player_name": "Ernie Clement",
  "position": "2B",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.225,
        "predicted_3B": 0.008,
        "predicted_AB": 4.07,
        "predicted_AVG": 0.256,
        "predicted_BB": 0.14,
        "predicted_H": 1.04,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.304,
        "predicted_R": 0.419,
        "predicted_RBI": 0.28,
        "predicted_SLG": 0.389,
        "predicted_SO": 0.388
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2111,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.9602,
        "predicted_AVG": 0.2661,
        "predicted_BB": 0.153,
        "predicted_H": 1.0513,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.0487,
        "predicted_OBP": 0.306,
        "predicted_R": 0.3864,
        "predicted_RBI": 0.2605,
        "predicted_SLG": 0.3804,
        "predicted_SO": 0.408
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.225,
          "after": 0.2111,
          "delta": -0.0139,
          "percent_delta": -0.0618,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.008,
          "after": 0.0067,
          "delta": -0.0013,
          "percent_delta": -0.1625,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.07,
          "after": 3.9602,
          "delta": -0.1098,
          "percent_delta": -0.027,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.256,
          "after": 0.2661,
          "delta": 0.0101,
          "percent_delta": 0.0395,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.14,
          "after": 0.153,
          "delta": 0.013,
          "percent_delta": 0.0929,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.04,
          "after": 1.0513,
          "delta": 0.0113,
          "percent_delta": 0.0109,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.05,
          "after": 0.0487,
          "delta": -0.0013,
          "percent_delta": -0.026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.304,
          "after": 0.306,
          "delta": 0.002,
          "percent_delta": 0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.419,
          "after": 0.3864,
          "delta": -0.0326,
          "percent_delta": -0.0778,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.28,
          "after": 0.2605,
          "delta": -0.0195,
          "percent_delta": -0.0696,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.389,
          "after": 0.3804,
          "delta": -0.0086,
          "percent_delta": -0.0221,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.388,
          "after": 0.408,
          "delta": 0.02,
          "percent_delta": 0.0515,
          "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.256,
          "after": 0.2661,
          "delta": 0.0101,
          "percent_delta": 0.0395,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.07,
          "after": 3.9602,
          "delta": -0.1098,
          "percent_delta": -0.027,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 129
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2111,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.9602,
        "predicted_AVG": 0.2601,
        "predicted_BB": 0.1519,
        "predicted_H": 1.0302,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.0482,
        "predicted_OBP": 0.2875,
        "predicted_R": 0.3729,
        "predicted_RBI": 0.2514,
        "predicted_SLG": 0.3534,
        "predicted_SO": 0.4109
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2111,
          "after": 0.2111,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0067,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9602,
          "after": 3.9602,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2661,
          "after": 0.2601,
          "delta": -0.006,
          "percent_delta": -0.0225,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.153,
          "after": 0.1519,
          "delta": -0.0011,
          "percent_delta": -0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0513,
          "after": 1.0302,
          "delta": -0.0211,
          "percent_delta": -0.0201,
          "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.0487,
          "after": 0.0482,
          "delta": -0.0005,
          "percent_delta": -0.0103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.306,
          "after": 0.2875,
          "delta": -0.0185,
          "percent_delta": -0.0605,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3864,
          "after": 0.3729,
          "delta": -0.0135,
          "percent_delta": -0.0349,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2605,
          "after": 0.2514,
          "delta": -0.0091,
          "percent_delta": -0.0349,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3804,
          "after": 0.3534,
          "delta": -0.027,
          "percent_delta": -0.071,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.408,
          "after": 0.4109,
          "delta": 0.0029,
          "percent_delta": 0.0071,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3804,
          "after": 0.3534,
          "delta": -0.027,
          "percent_delta": -0.071,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.07), rates preserved: AVG=0.253 HR/AB=0.012",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2111,
          "after": 0.0,
          "delta": -0.2111,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0,
          "delta": -0.0067,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9602,
          "after": 4.0,
          "delta": 0.0398,
          "percent_delta": 0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1519,
          "after": 0.0,
          "delta": -0.1519,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0302,
          "after": 1.0,
          "delta": -0.0302,
          "percent_delta": -0.0293,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.011,
          "after": 0.0,
          "delta": -0.011,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0482,
          "after": 0.0,
          "delta": -0.0482,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2514,
          "after": 0.0,
          "delta": -0.2514,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4109,
          "after": 0.0,
          "delta": -0.4109,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.4109,
          "after": 0.0,
          "delta": -0.4109,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3729,
          "after": 0.0,
          "delta": -0.3729,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.3729,
          "after": 0.0,
          "delta": -0.3729,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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_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_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": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.271,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.327,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2601,
          "after": 0.239,
          "delta": -0.0211,
          "percent_delta": -0.0811,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2875,
          "after": 0.271,
          "delta": -0.0165,
          "percent_delta": -0.0574,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.3534,
          "after": 0.327,
          "delta": -0.0264,
          "percent_delta": -0.0747,
          "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": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "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.2601,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2875,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3534,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.239,
          "after": 0.2601,
          "delta": 0.0211,
          "percent_delta": 0.0884,
          "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.271,
          "after": 0.2875,
          "delta": 0.0165,
          "percent_delta": 0.0607,
          "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.327,
          "after": 0.3534,
          "delta": 0.0264,
          "percent_delta": 0.0806,
          "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.327,
          "after": 0.3534,
          "delta": 0.0264,
          "percent_delta": 0.0806,
          "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.225,
        "after": 0.0,
        "delta": -0.225,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.008,
        "after": 0.0,
        "delta": -0.008,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.07,
        "after": 3.0,
        "delta": -1.07,
        "percent_delta": -0.2629,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.256,
        "after": 0.2601,
        "delta": 0.0041,
        "percent_delta": 0.016,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.14,
        "after": 1.0,
        "delta": 0.86,
        "percent_delta": 6.1429,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.04,
        "after": 0.0,
        "delta": -1.04,
        "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.304,
        "after": 0.2875,
        "delta": -0.0165,
        "percent_delta": -0.0543,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.419,
        "after": 0.0,
        "delta": -0.419,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.28,
        "after": 0.0,
        "delta": -0.28,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.389,
        "after": 0.3534,
        "delta": -0.0356,
        "percent_delta": -0.0915,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.388,
        "after": 0.0,
        "delta": -0.388,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 1,
      "deboosted_metrics": 9,
      "better_metrics": 2,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.14,
        "after": 1.0,
        "delta": 0.86,
        "percent_delta": 6.1429,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.07,
        "after": 3.0,
        "delta": -1.07,
        "percent_delta": -0.2629,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.225-
predicted_3B0.008-
predicted_AB4.070-
predicted_AVG0.256-
predicted_BB0.140-
predicted_H1.040-
predicted_HR0.050-
predicted_OBP0.304-
predicted_R0.419-
predicted_RBI0.280-
predicted_SLG0.389-
predicted_SO0.388-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.211-0.014
predicted_3B0.007-0.001
predicted_AB3.960-0.110
predicted_AVG0.2660.010
predicted_BB0.1530.013
predicted_H1.0510.011
predicted_HBP0.011-
predicted_HR0.049-0.001
predicted_OBP0.3060.002
predicted_R0.386-0.033
predicted_RBI0.261-0.020
predicted_SLG0.380-0.009
predicted_SO0.4080.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.2110.000
predicted_3B0.0070.000
predicted_AB3.9600.000
predicted_AVG0.260-0.006
predicted_BB0.152-0.001
predicted_H1.030-0.021
predicted_HBP0.0110.000
predicted_HR0.048-0.001
predicted_OBP0.287-0.019
predicted_R0.373-0.014
predicted_RBI0.251-0.009
predicted_SLG0.353-0.027
predicted_SO0.4110.003
4. ab_floor_and_scaling

AB rounded to 4 (raw=4.07), rates preserved: AVG=0.253 HR/AB=0.012

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO0.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-
SO0.0000.000
7. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.000
SO0.0000.000
8. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.211
predicted_3B0.000-0.007
predicted_AB4.0000.040
predicted_AVG0.239-0.021
predicted_BB0.000-0.152
predicted_H1.000-0.030
predicted_HR0.000-0.048
predicted_OBP0.271-0.016
predicted_R0.000-0.373
predicted_RBI0.000-0.251
predicted_SLG0.327-0.026
predicted_SO0.000-0.411
9. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 129
Reference playing time: 4.070
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0005.0001.0000.0000.0000.0000.0001.0003.0000.25000.28570.30000.25000.00000.00000.05000.1500
last_100.2010-36.00011.0001.0000.0000.0001.0004.0002.0003.0000.30560.33330.33330.30560.00000.02780.05560.0833
season0.60129-494.000140.00029.0001.0009.00043.00054.00018.00050.0000.28340.30830.40080.28340.01820.08700.03640.1012
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1930
predicted_3B0.0050
predicted_AB3.8170
predicted_AVG0.2793
predicted_BB0.1700
predicted_H1.0660
predicted_HBP0.0110
predicted_HR0.0470
predicted_OBP0.3086
predicted_R0.3440
predicted_RBI0.2350
predicted_SLG0.3693
predicted_SO0.4340
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22500.19300.2111model_form_blend
predicted_3B0.00800.00500.0067model_form_blend
predicted_AB4.07003.81703.9602model_form_blend
predicted_AVG0.25600.27930.2661model_form_blend
predicted_BB0.14000.17000.1530model_form_blend
predicted_H1.04001.06601.0513model_form_blend
predicted_HBP-0.01100.0110form_only
predicted_HR0.05000.04700.0487model_form_blend
predicted_OBP0.30400.30860.3060model_form_blend
predicted_R0.41900.34400.3864model_form_blend
predicted_RBI0.28000.23500.2605model_form_blend
predicted_SLG0.38900.36930.3804model_form_blend
predicted_SO0.38800.43400.4080model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_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
allPositionsPlayed2B
gameID20260826_KC@TOR
game_typefull
mlbID676391
playerID676391
playerNameErnie Clement
pos2B
startedTrue
startingPosition2B
teamTOR
teamID29
game_date2026-08-26
sl_k_percent9.9
sl_bb_percent3.4
sl_woba0.302
sl_xwoba0.265
sl_xba0.249
sl_xslg0.328
sl_sweet_spot_percent33.3
sl_barrel_batted_rate2.2
sl_hard_hit_percent20.1
sl_exit_velocity_avg84.2
sl_launch_angle_avg16.6
sl_whiff_percent15.9
sl_swing_percent57.8
Andrés Giménez (665926) · BATTER · SS · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 425
All-history rows before 20260827: 425
System season_avg: 0.2430
Data season_avg (2026 season-to-date): 0.2478
Diff (system - data): -0.0048
System opponent_avg: 0.2430

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1690.0000.000Hitting_2B0.1810.000-0.1810.000
predicted_3B0.0080.0000.000Hitting_3B0.0090.000-0.0090.000
predicted_AB3.3144.0003.000Hitting_AB3.4563.0000.5441.000
predicted_AVG0.2870.5000.333Hitting_AVG0.2480.0000.2520.500
predicted_BB0.1190.0000.000Hitting_BB0.1200.000-0.1200.000
predicted_CS-0.0000.000BaseRunning_CS0.0260.000-0.0260.000
predicted_H0.7902.0001.000Hitting_H0.8560.0001.1442.000
predicted_HR0.0401.0000.000Hitting_HR0.0780.0000.9221.000
predicted_OBP0.3150.5000.333Hitting_OBP0.2900.0000.2100.500
predicted_R0.2881.0000.000Hitting_R0.3110.0000.6891.000
predicted_RBI0.2801.0000.000Hitting_RBI0.4590.0000.5411.000
predicted_SLG0.3801.2500.333Hitting_SLG0.3730.0000.8771.250
predicted_SO0.6861.0001.000Hitting_SO0.6990.0000.3011.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.7900 -> 2.0000 (boost 1.2100, better)
Biggest Deboostpredicted_2B: 0.1690 -> 0.0000 (deboost -0.1690, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31212predicted_H: 0.7900 -> 0.8464 (boost 0.0564, better)predicted_AVG: 0.2870 -> 0.2796 (deboost -0.0074, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_OBP: 0.3171 -> 0.2729 (deboost -0.0442, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_SO: 0.6432 -> 1.0000 (boost 0.3568, worse)predicted_AB: 3.3579 -> 3.0000 (deboost -0.3579, worse)AB rounded to 3 (raw=3.36), rates preserved: AVG=0.247 HR/AB=0.013
5consistency_constraints10101-predicted_R: 0.2630 -> 0.0000 (deboost -0.2630, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context11010predicted_OBP: 0.2729 -> 0.2790 (boost 0.0061, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference55050predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final10101-predicted_OBP: 0.2790 -> 0.2729 (deboost -0.0061, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "665926",
  "player_name": "Andrés Giménez",
  "position": "SS",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.169,
        "predicted_3B": 0.008,
        "predicted_AB": 3.314,
        "predicted_AVG": 0.287,
        "predicted_BB": 0.119,
        "predicted_H": 0.79,
        "predicted_HR": 0.04,
        "predicted_OBP": 0.315,
        "predicted_R": 0.288,
        "predicted_RBI": 0.28,
        "predicted_SLG": 0.38,
        "predicted_SO": 0.686
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1746,
        "predicted_3B": 0.0071,
        "predicted_AB": 3.3579,
        "predicted_AVG": 0.2796,
        "predicted_BB": 0.1203,
        "predicted_H": 0.8464,
        "predicted_HBP": 0.138,
        "predicted_HR": 0.043,
        "predicted_OBP": 0.3171,
        "predicted_R": 0.2725,
        "predicted_RBI": 0.2964,
        "predicted_SLG": 0.3747,
        "predicted_SO": 0.6386
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.169,
          "after": 0.1746,
          "delta": 0.0056,
          "percent_delta": 0.0331,
          "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.314,
          "after": 3.3579,
          "delta": 0.0439,
          "percent_delta": 0.0132,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.287,
          "after": 0.2796,
          "delta": -0.0074,
          "percent_delta": -0.0258,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.119,
          "after": 0.1203,
          "delta": 0.0013,
          "percent_delta": 0.0109,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.79,
          "after": 0.8464,
          "delta": 0.0564,
          "percent_delta": 0.0714,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.04,
          "after": 0.043,
          "delta": 0.003,
          "percent_delta": 0.075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.315,
          "after": 0.3171,
          "delta": 0.0021,
          "percent_delta": 0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.288,
          "after": 0.2725,
          "delta": -0.0155,
          "percent_delta": -0.0538,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.28,
          "after": 0.2964,
          "delta": 0.0164,
          "percent_delta": 0.0586,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.38,
          "after": 0.3747,
          "delta": -0.0053,
          "percent_delta": -0.0139,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.686,
          "after": 0.6386,
          "delta": -0.0474,
          "percent_delta": -0.0691,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.79,
          "after": 0.8464,
          "delta": 0.0564,
          "percent_delta": 0.0714,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.287,
          "after": 0.2796,
          "delta": -0.0074,
          "percent_delta": -0.0258,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 118
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1746,
        "predicted_3B": 0.0071,
        "predicted_AB": 3.3579,
        "predicted_AVG": 0.247,
        "predicted_BB": 0.1194,
        "predicted_H": 0.8294,
        "predicted_HBP": 0.138,
        "predicted_HR": 0.0426,
        "predicted_OBP": 0.2729,
        "predicted_R": 0.263,
        "predicted_RBI": 0.2861,
        "predicted_SLG": 0.3413,
        "predicted_SO": 0.6432
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1746,
          "after": 0.1746,
          "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.3579,
          "after": 3.3579,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2796,
          "after": 0.247,
          "delta": -0.0326,
          "percent_delta": -0.1166,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1203,
          "after": 0.1194,
          "delta": -0.0009,
          "percent_delta": -0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8464,
          "after": 0.8294,
          "delta": -0.017,
          "percent_delta": -0.0201,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.138,
          "after": 0.138,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.043,
          "after": 0.0426,
          "delta": -0.0004,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3171,
          "after": 0.2729,
          "delta": -0.0442,
          "percent_delta": -0.1394,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2725,
          "after": 0.263,
          "delta": -0.0095,
          "percent_delta": -0.0349,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2964,
          "after": 0.2861,
          "delta": -0.0103,
          "percent_delta": -0.0348,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3747,
          "after": 0.3413,
          "delta": -0.0334,
          "percent_delta": -0.0891,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6386,
          "after": 0.6432,
          "delta": 0.0046,
          "percent_delta": 0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3171,
          "after": 0.2729,
          "delta": -0.0442,
          "percent_delta": -0.1394,
          "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.247 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.1746,
          "after": 0.0,
          "delta": -0.1746,
          "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.3579,
          "after": 3.0,
          "delta": -0.3579,
          "percent_delta": -0.1066,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1194,
          "after": 0.0,
          "delta": -0.1194,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8294,
          "after": 1.0,
          "delta": 0.1706,
          "percent_delta": 0.2057,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.138,
          "after": 0.0,
          "delta": -0.138,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0426,
          "after": 0.0,
          "delta": -0.0426,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2861,
          "after": 0.0,
          "delta": -0.2861,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6432,
          "after": 1.0,
          "delta": 0.3568,
          "percent_delta": 0.5547,
          "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.6432,
          "after": 1.0,
          "delta": 0.3568,
          "percent_delta": 0.5547,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.3579,
          "after": 3.0,
          "delta": -0.3579,
          "percent_delta": -0.1066,
          "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.263,
          "after": 0.0,
          "delta": -0.263,
          "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.263,
          "after": 0.0,
          "delta": -0.263,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": {},
      "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.247,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.279,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.341,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.247,
          "after": 0.247,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2729,
          "after": 0.279,
          "delta": 0.0061,
          "percent_delta": 0.0224,
          "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.3413,
          "after": 0.341,
          "delta": -0.0003,
          "percent_delta": -0.0009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2729,
          "after": 0.279,
          "delta": 0.0061,
          "percent_delta": 0.0224,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 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_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.247,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.2729,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3413,
        "predicted_SO": 1.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.247,
          "after": 0.247,
          "delta": -0.0,
          "percent_delta": -0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.279,
          "after": 0.2729,
          "delta": -0.0061,
          "percent_delta": -0.022,
          "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.341,
          "after": 0.3413,
          "delta": 0.0003,
          "percent_delta": 0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.279,
          "after": 0.2729,
          "delta": -0.0061,
          "percent_delta": -0.022,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.169,
        "after": 0.0,
        "delta": -0.169,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.008,
        "after": 0.0,
        "delta": -0.008,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.314,
        "after": 4.0,
        "delta": 0.686,
        "percent_delta": 0.207,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.287,
        "after": 0.247,
        "delta": -0.04,
        "percent_delta": -0.1394,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.119,
        "after": 0.0,
        "delta": -0.119,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.79,
        "after": 2.0,
        "delta": 1.21,
        "percent_delta": 1.5316,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.04,
        "after": 1.0,
        "delta": 0.96,
        "percent_delta": 24.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.315,
        "after": 0.2729,
        "delta": -0.0421,
        "percent_delta": -0.1337,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.288,
        "after": 1.0,
        "delta": 0.712,
        "percent_delta": 2.4722,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.28,
        "after": 1.0,
        "delta": 0.72,
        "percent_delta": 2.5714,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.38,
        "after": 0.3413,
        "delta": -0.0387,
        "percent_delta": -0.1018,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.686,
        "after": 1.0,
        "delta": 0.314,
        "percent_delta": 0.4577,
        "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.79,
        "after": 2.0,
        "delta": 1.21,
        "percent_delta": 1.5316,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_2B",
        "before": 0.169,
        "after": 0.0,
        "delta": -0.169,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.169-
predicted_3B0.008-
predicted_AB3.314-
predicted_AVG0.287-
predicted_BB0.119-
predicted_H0.790-
predicted_HR0.040-
predicted_OBP0.315-
predicted_R0.288-
predicted_RBI0.280-
predicted_SLG0.380-
predicted_SO0.686-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1750.006
predicted_3B0.007-0.001
predicted_AB3.3580.044
predicted_AVG0.280-0.007
predicted_BB0.1200.001
predicted_H0.8460.056
predicted_HBP0.138-
predicted_HR0.0430.003
predicted_OBP0.3170.002
predicted_R0.273-0.015
predicted_RBI0.2960.016
predicted_SLG0.375-0.005
predicted_SO0.639-0.047
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1750.000
predicted_3B0.0070.000
predicted_AB3.3580.000
predicted_AVG0.247-0.033
predicted_BB0.119-0.001
predicted_H0.829-0.017
predicted_HBP0.1380.000
predicted_HR0.043-0.000
predicted_OBP0.273-0.044
predicted_R0.263-0.010
predicted_RBI0.286-0.010
predicted_SLG0.341-0.033
predicted_SO0.6430.005
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.36), rates preserved: AVG=0.247 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. 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. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.175
predicted_3B0.000-0.007
predicted_AB3.000-0.358
predicted_AVG0.2470.000
predicted_BB0.000-0.119
predicted_H1.0000.171
predicted_HR0.000-0.043
predicted_OBP0.2790.006
predicted_R0.000-0.263
predicted_RBI0.000-0.286
predicted_SLG0.341-0.000
predicted_SO1.0000.357
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
H2.0001.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0001.000
RBI1.0001.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 118
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0006.0001.0000.0000.0001.0000.0000.0001.0000.33330.36840.38890.33330.00000.05560.00000.0556
last_100.2010-34.00010.0002.0000.0000.0001.0003.0002.0005.0000.29410.36840.35290.29410.00000.02940.05880.1471
season0.60118-391.00095.00020.0001.0008.00048.00034.00014.00081.0000.24300.28910.36060.24300.02050.12280.03580.2072
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1820
predicted_3B0.0060
predicted_AB3.4160
predicted_AVG0.2697
predicted_BB0.1220
predicted_H0.9210
predicted_HBP0.1380
predicted_HR0.0470
predicted_OBP0.3198
predicted_R0.2520
predicted_RBI0.3180
predicted_SLG0.3676
predicted_SO0.5760
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16900.18200.1746model_form_blend
predicted_3B0.00800.00600.0071model_form_blend
predicted_AB3.31403.41603.3579model_form_blend
predicted_AVG0.28700.26970.2796model_form_blend
predicted_BB0.11900.12200.1203model_form_blend
predicted_H0.79000.92100.8464model_form_blend
predicted_HBP-0.13800.1380form_only
predicted_HR0.04000.04700.0430model_form_blend
predicted_OBP0.31500.31980.3171model_form_blend
predicted_R0.28800.25200.2725model_form_blend
predicted_RBI0.28000.31800.2964model_form_blend
predicted_SLG0.38000.36760.3747model_form_blend
predicted_SO0.68600.57600.6386model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder9
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260826_KC@TOR
game_typefull
mlbID665926
playerID665926
playerNameAndrés Giménez
posSS
startedTrue
startingPositionSS
teamTOR
teamID29
game_date2026-08-26
sl_k_percent19.0
sl_bb_percent3.2
sl_woba0.282
sl_xwoba0.267
sl_xba0.229
sl_xslg0.323
sl_sweet_spot_percent29.4
sl_barrel_batted_rate3.4
sl_hard_hit_percent24.5
sl_exit_velocity_avg85.6
sl_launch_angle_avg12.8
sl_whiff_percent24.8
sl_swing_percent57.6
Spencer Arrighetti (681293) · PITCHER · Starter · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 1
All-history rows before 20260827: 1

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB2.0002.000-1.000-1.000
predicted_ER2.0002.0002.000Pitching_ER3.0003.000-1.000-1.000
predicted_H6.0006.0006.000Pitching_H3.0003.0003.0003.000
predicted_IP4.2004.2004.200Pitching_InningsPitched3.1003.1001.1001.100
predicted_SO3.0003.0003.000Pitching_SO4.0004.000-1.000-1.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER2.000-
predicted_H6.000-
predicted_HR1.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: 18
Reference playing time: 4.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45519.10016.00015.00015.00016.0004.0007.44831.55170.82760.77590.77590.82760.2069
last_100.351044.10041.00044.00026.00048.00011.0008.32331.57890.92480.99250.58651.08270.2481
season0.201891.10048.00071.00052.00091.00013.0004.72991.34670.52550.77740.56930.99630.1423
Weighted Prediction From Real Data
MetricValue
predicted_BB2.6490
predicted_ER3.2330
predicted_ERA6.6229
predicted_H3.8600
predicted_HR0.8570
predicted_IP4.1000
predicted_SO4.1710
predicted_WHIP1.4816
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00002.64901.9204model_form_blend
predicted_ER2.00003.23302.6882model_form_blend
predicted_ERA-6.62296.6229form_only
predicted_H6.00003.86004.8056model_form_blend
predicted_HR1.00000.85700.9202model_form_blend
predicted_IP4.20004.10004.1000model_form_blend
predicted_SO3.00004.17103.6536model_form_blend
predicted_WHIP-1.48161.4816form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP4.2
H6
R2
ER2
BB1
SO3
HR1
BF21
Pitches81

Latest Real Data Snapshot (before report date)

Latest 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 Faced15
Pitching_ER3
Pitching_ERA4.73
Pitching_Flyouts5
Pitching_Groundouts1
Pitching_H3
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored0
Pitching_InningsPitched3.1
Pitching_Pitches61
Pitching_R3
Pitching_SO4
Pitching_Strikes37
Pitching_Wild Pitch1
Pitching_decisionL
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260821_TOR@NYY
game_typefull
mlbID681293
playerID681293
playerNameSpencer Arrighetti
posP
startedFalse
startingPositionP
teamTOR
teamID29
game_date2026-08-21
sl_k_percent22.6
sl_bb_percent12.8
sl_woba0.324
sl_xwoba0.346
sl_sweet_spot_percent38.0
sl_barrel_batted_rate8.2
sl_hard_hit_percent31.0
sl_whiff_percent25.4
sl_swing_percent42.2
sl_avg_best_speed76.6133875
sl_avg_hyper_speed92.805021098
Spencer Miles (693686) · PITCHER · Middle Reliever (High Leverage) · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 41
All-history rows before 20260827: 41

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4880.000-0.4880.000
predicted_ER0.0000.0000.000Pitching_ER0.6590.000-0.6590.000
predicted_H1.0001.0001.000Pitching_H1.7072.000-0.707-1.000
predicted_IP1.1001.1001.100Pitching_InningsPitched1.8492.000-0.749-0.900
predicted_SO1.0001.0001.000Pitching_SO1.8051.000-0.8050.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": "693686",
  "player_name": "Spencer Miles",
  "position": "Middle Reliever (High Leverage)",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.3333,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 40
Reference playing time: 1.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.1000.0003.0000.0001.0000.0000.00000.69230.00000.69230.00000.23080.0000
last_100.351010.1002.00010.0001.0005.0000.0001.74191.06450.19350.96770.09680.48390.0000
season0.204080.10027.00068.00020.00073.0005.0003.02491.09540.33610.84650.24900.90870.0622
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1860
predicted_ER0.2730
predicted_ERA1.9938
predicted_H1.0550
predicted_HR0.0540
predicted_IP1.1000
predicted_SO0.7030
predicted_WHIP1.0072
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.18600.1023model_form_blend
predicted_ER0.00000.27300.1501model_form_blend
predicted_ERA-1.99381.9938form_only
predicted_H1.00001.05501.0302model_form_blend
predicted_HR0.00000.05400.0297model_form_blend
predicted_IP1.10001.10001.1000model_form_blend
predicted_SO1.00000.70300.8367model_form_blend
predicted_WHIP-1.00721.0072form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H1
R0
ER0
BB0
SO1
HR0
BF5
Pitches20

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced8
Pitching_ER0
Pitching_ERA2.95
Pitching_Flyouts2
Pitching_Groundouts0
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched2.0
Pitching_Pitches33
Pitching_R0
Pitching_SO1
Pitching_Strikes20
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260826_KC@TOR
game_typefull
mlbID693686
playerID693686
playerNameSpencer Miles
posP
startedTrue
startingPositionP
teamTOR
teamID29
game_date2026-08-26
sl_k_percent22.9
sl_bb_percent6.3
sl_woba0.26
sl_xwoba0.269
sl_sweet_spot_percent27.8
sl_barrel_batted_rate3.8
sl_hard_hit_percent35.0
sl_whiff_percent18.6
sl_swing_percent47.8
sl_avg_best_speed75.643782627
sl_avg_hyper_speed93.009603574
Louis Varland (686973) · PITCHER · Closer · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 61
All-history rows before 20260827: 61

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB3.0003.0003.000Pitching_BB0.2950.0002.7053.000
predicted_ER3.0003.0003.000Pitching_ER0.1480.0002.8523.000
predicted_H2.0002.0002.000Pitching_H0.8032.0001.1970.000
predicted_IP1.1001.1001.100Pitching_InningsPitched1.0331.1000.0670.000
predicted_SO0.0000.0000.000Pitching_SO1.3611.000-1.361-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics1
Boosted Metrics1
Deboosted Metrics0
Better Metrics1
Worse Metrics0
Biggest Boostpredicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final11010predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "686973",
  "player_name": "Louis Varland",
  "position": "Closer",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 3.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 3.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "predicted_R": 3.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.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": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 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.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_BB3.000-
predicted_ER3.000-
predicted_H2.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO0.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 60
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.2000.0002.0001.0006.0000.0000.00000.64290.00000.42860.21431.28570.0000
last_100.351010.1003.0008.0003.0009.0001.0002.61291.06450.29030.77420.29030.87100.0968
season0.206066.1009.00047.00018.00082.0002.0001.22110.97990.13570.70850.27141.23620.0301
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2840
predicted_ER0.2300
predicted_ERA2.0726
predicted_H0.7060
predicted_HR0.0690
predicted_IP1.0000
predicted_SO1.0800
predicted_WHIP0.9902
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB3.00000.28401.5479model_form_blend
predicted_ER3.00000.23001.5190model_form_blend
predicted_ERA-2.07262.0726form_only
predicted_H2.00000.70601.3082model_form_blend
predicted_HR0.00000.06900.0369model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.08000.5774model_form_blend
predicted_WHIP-0.99020.9902form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H2
R3
ER3
BB3
SO0
HR0
BF9
Pitches33

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced6
Pitching_ER0
Pitching_ERA1.20
Pitching_Flyouts0
Pitching_Groundouts2
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.1
Pitching_Pitches15
Pitching_R0
Pitching_SO1
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder7
allPositionsPlayedP
gameID20260826_KC@TOR
game_typefull
mlbID686973
playerID686973
playerNameLouis Varland
posP
startedFalse
startingPositionP
teamTOR
teamID29
game_date2026-08-26
sl_k_percent31.5
sl_bb_percent6.7
sl_woba0.229
sl_xwoba0.23
sl_sweet_spot_percent25.5
sl_barrel_batted_rate4.2
sl_hard_hit_percent37.0
sl_whiff_percent29.4
sl_swing_percent52.4
sl_avg_best_speed76.682021707
sl_avg_hyper_speed93.393762454
Tyler Rogers (643511) · PITCHER · Setup Man · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 63
All-history rows before 20260827: 63

Metric-by-Metric Comparison

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER1.000-
predicted_H2.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO0.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 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.1003.0007.0000.0004.0001.0005.06251.31250.56251.31250.00000.75000.1875
last_100.351010.1004.00011.0006.0005.0001.0003.48391.64520.38711.06450.58060.48390.0968
season0.206260.10013.00051.00020.00032.0001.0001.93921.17680.21550.84530.33150.53040.0166
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2980
predicted_ER0.4520
predicted_ERA4.0668
predicted_H1.0860
predicted_HR0.1290
predicted_IP1.0000
predicted_SO0.7100
predicted_WHIP1.3845
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.29800.6304model_form_blend
predicted_ER1.00000.45200.7115model_form_blend
predicted_ERA-4.06684.0668form_only
predicted_H2.00001.08601.5188model_form_blend
predicted_HR0.00000.12900.0679model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00000.71000.3738model_form_blend
predicted_WHIP-1.38451.3845form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H2
R1
ER1
BB1
SO0
HR0
BF6
Pitches23

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA1.92
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches18
Pitching_R0
Pitching_SO1
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder6
allPositionsPlayedP
gameID20260826_KC@TOR
game_typefull
mlbID643511
playerID643511
playerNameTyler Rogers
posP
startedFalse
startingPositionP
teamTOR
teamID29
game_date2026-08-26
sl_k_percent13.6
sl_bb_percent8.1
sl_woba0.253
sl_xwoba0.258
sl_sweet_spot_percent22.6
sl_barrel_batted_rate1.5
sl_hard_hit_percent27.6
sl_whiff_percent15.0
sl_swing_percent50.1
sl_avg_best_speed71.955932577
sl_avg_hyper_speed92.488699433
Mason Fluharty (689254) · PITCHER · Middle Reliever (High Leverage) · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 71
All-history rows before 20260827: 71

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3240.000-0.3240.000
predicted_ER0.0000.0000.000Pitching_ER0.2960.000-0.2960.000
predicted_H0.0000.0000.000Pitching_H0.6200.000-0.6200.000
predicted_IP0.2000.2000.200Pitching_InningsPitched0.5721.000-0.372-0.800
predicted_SO1.0001.0001.000Pitching_SO0.8031.0000.1970.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": "689254",
  "player_name": "Mason Fluharty",
  "position": "Middle Reliever (High Leverage)",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.6667,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.2,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "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_ER0.000-
predicted_H0.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: 68
Reference playing time: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4553.0000.0001.0003.0001.0000.0000.00001.33330.00000.33331.00000.33330.0000
last_100.35107.0000.0001.0003.0003.0000.0000.00000.57140.00000.14290.42860.42860.0000
season0.206852.20018.00040.00022.00056.0006.0003.07591.17720.34180.75950.41771.06330.1139
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3880
predicted_ER0.1380
predicted_ERA1.8646
predicted_H0.3680
predicted_HR0.0420
predicted_IP0.2000
predicted_SO0.4340
predicted_WHIP1.1340
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.38800.1996model_form_blend
predicted_ER0.00000.13800.0710model_form_blend
predicted_ERA-1.86461.8646form_only
predicted_H0.00000.36800.1893model_form_blend
predicted_HR0.00000.04200.0216model_form_blend
predicted_IP0.20000.20000.2000model_form_blend
predicted_SO1.00000.43400.7089model_form_blend
predicted_WHIP-1.13401.1340form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP0.2
H0
R0
ER0
BB0
SO1
HR0
BF2
Pitches8

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA3.52
Pitching_Flyouts2
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches10
Pitching_R0
Pitching_SO1
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260826_KC@TOR
game_typefull
mlbID689254
playerID689254
playerNameMason Fluharty
posP
startedFalse
startingPositionP
teamTOR
teamID29
game_date2026-08-26
sl_k_percent25.4
sl_bb_percent10.3
sl_woba0.286
sl_xwoba0.262
sl_sweet_spot_percent37.8
sl_barrel_batted_rate6.8
sl_hard_hit_percent31.1
sl_whiff_percent28.7
sl_swing_percent49.7
sl_avg_best_speed75.026746389
sl_avg_hyper_speed92.722553264

20260827_LAD@ATL

Prediction Method: enhanced_ml_savant_pitcher_quality_pitcher_opponent_strength
Team Recent Window (Home): 10 games
Team Recent Window (Away): 10 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 4, "home_runs": 3, "confidence": 0.53, "home_win_probability": 0.47, "away_win_probability": 0.53, "predicted_score_text": "LAD 4 - 3 ATL", "embedded_savant_score_adjustment": {"applied": true, "source": "all_players_stats.csv embedded temporal Savant features", "feature_contract": {"training_grain": "one player-game row after collapsing granular at-bat rows", "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game", "hitter_signals": ["xwoba", "xba", "xslg", "barrel_batted_rate", "hard_hit_percent", "bat_speed", "launch_quality", "walk_rate", "strikeout_rate"], "pitcher_signals": ["xwoba_allowed", "barrel_allowed", "hard_hit_allowed", "whiff_rate", "command_score", "movement_score", "faced_est_woba", "faced_strikeout_rate"]}, "away": {"team": "LAD", "original_runs": 4, "run_delta": -0.0966, "adjusted_runs": 4, "lineup": {"players_used": 9, "total_weight": 35.0, "quality": 0.42340464302052916, "contact": 0.48662184826300936, "power": 0.46980995739770404, "discipline": 0.14474602112692717, "xwoba": 0.33751428571428566, "recent_xwoba": 0.33751428571428566, "barrel": 9.014285714285716, "ab_hard_contact": 0.16524929420483436, "ab_bat_speed": 69.6477704795189, "ab_strikeout_rate": 0.20930189761237347, "available_players": 9, "top_players": [{"player_id": "660271", "player_name": "Shohei Ohtani", "position": "DH", "weight": 4.0, "quality": 1.5163371338135516, "contact": 1.5689464858761564, "power": 2.0, "discipline": 0.37566383867049147, "xwoba": 0.407, "recent_xwoba": 0.4069999999999999, "barrel": 16.6, "ab_hard_contact": 1.0290459225511872, "ab_bat_speed": 73.59649185823754, "ab_strikeout_rate": 0.22911877394636015, "available": 1.0}, {"player_id": "518692", "player_name": "Freddie Freeman", "position": "1B", "weight": 5.0, "quality": 0.8011658412814527, "contact": 1.086640836416259, "power": 0.6805612616589417, "discipline": 0.5015078272928859, "xwoba": 0.371, "recent_xwoba": 0.371, "barrel": 8.5, "ab_hard_contact": 0.43751094746456276, "ab_bat_speed": 69.27750881472808, "ab_strikeout_rate": 0.15827478532396566, "available": 1.0}, {"player_id": "571970", "player_name": "Max Muncy", "position": "3B", "weight": 3.0, "quality": 0.6373341306586049, "contact": 0.49759327700712114, "power": 1.1182799947335291, "discipline": 0.09844513849676889, "xwoba": 0.352, "recent_xwoba": 0.352, "barrel": 13.4, "ab_hard_contact": 0.48140941848012514, "ab_bat_speed": 70.16753647342995, "ab_strikeout_rate": 0.27790890269151136, "available": 1.0}, {"player_id": "605141", "player_name": "Mookie Betts", "position": "SS", "weight": 5.0, "quality": 0.4539042205423421, "contact": 0.5727562425189393, "power": 0.27140308452316625, "discipline": 0.6162393225735615, "xwoba": 0.325, "recent_xwoba": 0.325, "barrel": 7.4, "ab_hard_contact": 0.11358549998713736, "ab_bat_speed": 68.06833400974027, "ab_strikeout_rate": 0.11325757575757577, "available": 1.0}, {"player_id": "676439", "player_name": "Hunter Feduccia", "position": "C", "weight": 3.0, "quality": 0.16709417352816508, "contact": 0.2076673521870491, "power": 0.22607073607416175, "discipline": -0.019094732260493213, "xwoba": 0.321, "recent_xwoba": 0.321, "barrel": 8.4, "ab_hard_contact": -0.09382337375486241, "ab_bat_speed": 67.32499158249158, "ab_strikeout_rate": 0.25202020202020203, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "519242", "player_name": "Chris Sale", "quality": 0.6772681035970782, "contact": 0.9046061697364891, "command": 0.6743937728937729, "movement": 0.13440600025276256, "xwoba": 0.272, "whiff": 30.1, "faced_est_woba": 0.26552359851190477, "faced_launch_speed": 83.8105259224902, "faced_strikeout_rate": 0.23520697818487546, "faced_run_exp": 0.006591593388029562}}, "home": {"team": "ATL", "original_runs": 3, "run_delta": -0.08, "adjusted_runs": 3, "lineup": {"players_used": 9, "total_weight": 36.0, "quality": 0.34835984200057313, "contact": 0.19151117077966226, "power": 0.38815562018357297, "discipline": -0.1672060369013158, "xwoba": 0.3168888888888889, "recent_xwoba": 0.3168888888888889, "barrel": 9.15, "ab_hard_contact": 0.42295367351273416, "ab_bat_speed": 71.78434157432281, "ab_strikeout_rate": 0.23012952253404048, "available_players": 9, "top_players": [{"player_id": "621566", "player_name": "Matt Olson", "position": "1B", "weight": 4.0, "quality": 1.0258102813955954, "contact": 0.8566189616246899, "power": 1.6634406454802362, "discipline": 0.019154041188280277, "xwoba": 0.359, "recent_xwoba": 0.359, "barrel": 15.5, "ab_hard_contact": 1.5303367191285513, "ab_bat_speed": 73.48883533333334, "ab_strikeout_rate": 0.24862857142857142, "available": 1.0}, {"player_id": "686948", "player_name": "Drake Baldwin", "position": "DH", "weight": 4.0, "quality": 1.104295293427909, "contact": 1.2052164146388902, "power": 1.3258849107489081, "discipline": 0.2658575085946603, "xwoba": 0.369, "recent_xwoba": 0.369, "barrel": 12.8, "ab_hard_contact": 1.17407916735913, "ab_bat_speed": 74.01819367390969, "ab_strikeout_rate": 0.20606796116504855, "available": 1.0}, {"player_id": "660670", "player_name": "Ronald Acuña Jr.", "position": "RF", "weight": 5.0, "quality": 0.6986960508063939, "contact": 0.5948281095799604, "power": 0.9489937363280299, "discipline": 0.21273890746355734, "xwoba": 0.359, "recent_xwoba": 0.359, "barrel": 12.2, "ab_hard_contact": 0.614541393227267, "ab_bat_speed": 73.89358447488584, "ab_strikeout_rate": 0.23675799086757993, "available": 1.0}, {"player_id": "671739", "player_name": "Michael Harris II", "position": "CF", "weight": 5.0, "quality": 0.688666065817711, "contact": 0.9095481095854884, "power": 0.9498893704914871, "discipline": -0.5607262655106706, "xwoba": 0.342, "recent_xwoba": 0.342, "barrel": 10.7, "ab_hard_contact": 0.7661683622107041, "ab_bat_speed": 73.5432571125908, "ab_strikeout_rate": 0.1992231638418079, "available": 1.0}, {"player_id": "669221", "player_name": "Sean Murphy", "position": "C", "weight": 3.0, "quality": -0.27067809518236274, "contact": -2.0, "power": -1.8777759303600408, "discipline": -1.6755507207164815, "xwoba": 0.166, "recent_xwoba": 0.166, "barrel": 0.0, "ab_hard_contact": -1.0370424167246253, "ab_bat_speed": 69.49954166666666, "ab_strikeout_rate": 0.3933333333333333, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "808967", "player_name": "Yoshinobu Yamamoto", "quality": 0.580014718917765, "contact": 1.02010425862141, "command": 0.15653663003662988, "movement": 0.39244292676656495, "xwoba": 0.27, "whiff": 26.3, "faced_est_woba": 0.26552359851190477, "faced_launch_speed": 83.8105259224902, "faced_strikeout_rate": 0.23520697818487546, "faced_run_exp": 0.006591593388029562}}}, "fundamental_edge_target_review": {"applied": false, "method": "post_score_adjustment_fundamental_edge_review_v1", "previous_score": {"away_runs": 4, "home_runs": 3, "winner_side": "away"}, "adjusted_score": {"away_runs": 4, "home_runs": 3, "winner_side": "away"}, "signals": {"season_quality_edge_home_minus_away": -0.4298, "recent_form_edge_home_minus_away": -0.441, "pitcher_matchup_edge_home_minus_away": -0.0613, "composite_home_edge": -0.6615, "existing_home_win_probability": 0.4539, "refreshed_home_win_probability": 0.3, "winner_support_before_review": 0.6615}, "reasons": ["target direction already matched refreshed fundamentals or margin was not fragile"]}, "uncapped_home_win_probability": 0.453904, "uncapped_away_win_probability": 0.546096, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.546096, "discount_factor": 0.7225, "published_confidence": 0.53, "guardrail_confidence_cap": 0.53, "guardrail_cap_enforced": true, "applied_discounts": [{"reason": "projected_margin_is_one_run", "factor": 0.85}, {"reason": "matchup_recency_guardrail", "factor": 0.85}]}, "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.", "pre_simulation_target": {"away_runs": 4, "home_runs": 3, "predicted_score_text": "LAD 4 - 3 ATL", "confidence": 0.53, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "stable_final_prediction_policy", "simulation_usage": "organic_simulation_realized_target", "simulation_score_matches_prediction": true, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 4, "home_runs": 3, "score_text": "LAD 4 - 3 ATL", "winner": "LAD"}, "final_simulation_score": {"away_runs": 4, "home_runs": 3, "score_text": "LAD 4 - 3 ATL", "winner": "LAD"}, "winner_flipped_by_simulation": false, "simulation_would_flip_winner": false, "sim_flipped_pre_winner": false, "sim_flip_trusted": false, "sim_flip_policy": "diagnostic_only_unless_independently_supported", "independent_margin_support": false, "independent_margin_support_evidence": {"pitcher_matchup_edge_home_minus_away": -0.0613, "recent_form_edge_home_minus_away": -0.441, "winner_direction": "away", "thresholds": {"pitcher_matchup": 0.35, "recent_form": 0.75}}, "margin_widening_capped": false, "simulation_winner_agrees": true, "away_run_delta": 0, "home_run_delta": 0, "total_run_delta": 0, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "organic_simulation_realized_target", "final_prediction_source": "stable_final_prediction_policy", "final_decision_policy": {"policy_version": "model_target_authoritative_simulation_realizes_v3", "away_runs": 4, "home_runs": 3, "winner": "LAD", "model_winner": "LAD", "simulation_winner": "LAD", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 1, "published_winner": "LAD", "published_winner_draw_share": 1.0, "draw_majority_team": "LAD", "published_winner_is_draw_majority": true, "sampling": "target_conditioned_selection", "is_unbiased_probability_sample": false, "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."}, "simulation_score_enabled": true, "independent_margin_support": false, "margin_widening_capped": false, "model_margin": 1, "simulation_margin": 1, "simulation_usage": "organic_simulation_realized_target", "score_source": "enhanced_prediction.pre_simulation_target", "simulation_realized_target": true, "model_score": {"away_runs": 4, "home_runs": 3}, "simulation_score": {"away_runs": 4, "home_runs": 3}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 1, "final_margin": 1, "winner_quality_edge": 0.4298, "winner": "LAD", "score_reviewed": {"away_runs": 4, "home_runs": 3, "source": "enhanced_prediction.pre_simulation_target"}, "reason": "published margin is directionally supported or within review threshold"}}, "decision_profile": {"method": "priced_decision_profile_v2", "winner": "LAD", "display_confidence": 0.53, "internal_signal_score": 0.652, "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability", "model_pick_probability": 0.53, "confidence_compression_detected": true, "moneyline_fit": "unavailable_without_market_price", "betting_status": "price_required_before_betting_analysis", "market_context": null, "margin_fit": "moneyline_preferred_over_margin", "totals_fit": "neutral_totals", "winner_accuracy_and_margin_accuracy_decoupled": true, "signals": {"final_margin": 1, "winner_quality_edge": 0.4298, "winner_recent_form_edge": 0.616, "winner_pitcher_matchup_edge": 0.0613, "winner_simulation_draw_rate": 1.0, "blowout_draw_rate_margin_4_plus": 0.0, "high_total_draw_rate_11_plus": 0.0, "low_total_draw_rate_6_or_less": 0.0, "total_runs_spread": {"min": 7, "median": 7, "max": 7, "range": 0}}, "interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."}}
Factors Considered: Historical team performance, Season-to-date run differential, Recent form (latest 10 games), Head-to-head matchup history, Player-level statistics, Baseball Savant hitter xwOBA/xBA/xSLG/contact quality, Baseball Savant pitcher xwOBA/contact/whiff quality, Pitcher splits versus opponent batting strength, Recent-form versus season-quality arbitration, Recent 10-game performance trends, Pitcher recent form analysis, Team hitting/pitching streaks, Low-score probability modeling, Environmental factors, Home field advantage, Game timing factors, Seasonal adjustments, Machine learning models

Game-Level Prediction Audit

LayerScoreWinnerConfidenceSource or usageSynced or matches
Shipped predictionLAD 4 - 3 ATLLAD0.530enhanced_prediction.pre_simulation_targetTrue
Simulation drawLAD 4 - 3 ATLLAD-organic_simulation_realized_targetTrue

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

Full Prediction Process

Optimization Roadmap Runtime Status

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

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

Score Evolution Steps

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

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.6005298924928367,
  "base_low_score_probability": 0.4355300859598854,
  "low_score_signal_threshold": 0.5155300859598854,
  "low_score_signal_strength": 0.16499980653295132,
  "confidence": 0.78942412,
  "factors": {
    "environmental": 0.9496199999999999,
    "pitcher_form": 1.4520000000000002,
    "team_form": 1.0,
    "situational": 1.0,
    "combined": 1.37884824
  },
  "prediction": "low_scoring",
  "expected_total_runs": 7,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 6.7,
  "low_score_model_expected_total_runs": 6.7,
  "final_simulation_total_runs": 7,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "monotone_reliability_shrinkage",
  "policy": "shrink_toward_even_score_floor_v3",
  "sample_size": 58,
  "near_bucket_sample_size": 58,
  "medium_bucket_sample_size": 64,
  "wide_bucket_sample_size": 70,
  "global_sample_size": 73,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5,
  "bayesian_hit_rate": 0.5,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.5085,
  "raw_pick_probability_unclamped": 0.5085,
  "score_probability_conflict": false,
  "margin_implied_home_probability": 0.4915,
  "margin_implied_pick_probability": 0.5085,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.5085,
  "score_implied_floor_pick_probability": 0.5072,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.4915,
  "uncapped_away_win_probability": 0.5085,
  "calibrated_pick_probability": 0.5072,
  "predicted_side": "away",
  "reliability": 0.763158,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.846053
}
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": 58,
  "empirical_hit_rate": 0.5,
  "empirical_weight": 0.29,
  "blended_confidence": 0.507171,
  "published_confidence": 0.53,
  "published_after_governors": true,
  "governor_mode": "shrinkage_not_clamp"
}
H2H Base Feature
{
  "method": "h2h_net_margin_monotonic_v1",
  "available": true,
  "sample_size": 4,
  "sample_weight": 0.05,
  "home_net_margin": 9.0,
  "absolute_net_margin": 9.0,
  "home_average_margin": 2.25,
  "home_run_delta": 0.0562,
  "away_run_delta": -0.0562,
  "evidence": [
    {
      "game_id": null,
      "home_margin": 1.0
    },
    {
      "game_id": null,
      "home_margin": 5.0
    },
    {
      "game_id": null,
      "home_margin": 5.0
    },
    {
      "game_id": null,
      "home_margin": -2.0
    }
  ],
  "adaptive_parameters": {
    "h2h.history_limit": 5,
    "h2h.maximum_weight": 0.15,
    "h2h.prior_games": 8.0,
    "h2h.maximum_total_shift": 0.65
  }
}
Season Run Differential Adjustment
{
  "applied": false,
  "home": {
    "team": "ATL",
    "games": 132,
    "wins": 77,
    "losses": 55,
    "win_pct": 0.5833333333333334,
    "runs_scored": 618,
    "runs_allowed": 507,
    "run_differential": 111,
    "run_differential_per_game": 0.8409090909090909,
    "available": true
  },
  "away": {
    "team": "LAD",
    "games": 132,
    "wins": 80,
    "losses": 52,
    "win_pct": 0.6060606060606061,
    "runs_scored": 656,
    "runs_allowed": 506,
    "run_differential": 150,
    "run_differential_per_game": 1.1363636363636365,
    "available": true
  },
  "run_differential_edge_per_game": -0.2955,
  "win_pct_edge": -0.0227,
  "quality_edge": -0.4298,
  "season_quality_edge": -0.3295,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": -0.3295,
    "recent_quality_edge": -0.616,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "aligned",
    "blended_quality_edge": -0.4298
  },
  "margin_adjustment": 0.0,
  "reason": "season quality edge below action threshold"
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 3,
      "away_runs": 3,
      "probability": 0.03821082261164626
    },
    {
      "home_runs": 2,
      "away_runs": 3,
      "probability": 0.03584377104105086
    },
    {
      "home_runs": 3,
      "away_runs": 2,
      "probability": 0.035178792294958794
    },
    {
      "home_runs": 3,
      "away_runs": 4,
      "probability": 0.03366437243056538
    },
    {
      "home_runs": 2,
      "away_runs": 2,
      "probability": 0.032999566362040725
    }
  ],
  "home_distribution": {
    "0": 0.08487199654968981,
    "1": 0.13960018018733725,
    "2": 0.18485581015884409,
    "3": 0.197063321340328,
    "4": 0.16912353881816863,
    "5": 0.11684977569520674,
    "6": 0.06499459996499374,
    "7": 0.02910396995913976,
    "8": 0.01049186655508573,
    "9": 0.0030449407712063326
  },
  "away_distribution": {
    "0": 0.08074213447655552,
    "1": 0.13330558342238777,
    "2": 0.17851516992451927,
    "3": 0.19390124124446395,
    "4": 0.1708302296013121,
    "5": 0.12207522512149806,
    "6": 0.07075693577902278,
    "7": 0.03326512608719884,
    "8": 0.012684927948713669,
    "9": 0.003923426394327736
  },
  "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",
    "recent head-to-head margin does not support a strong repeat pick",
    "a prior same-side pick already missed against the actual result",
    "latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design"
  ],
  "signals": {
    "predicted_team": "LAD",
    "opponent_team": "ATL",
    "h2h_net_margin": -11,
    "opponent_breakout": false,
    "opponent_blowout_win": true,
    "split_recent_h2h": false,
    "recent_h2h": [
      {
        "date": "2026-08-25",
        "predicted_team_runs": 3,
        "opponent_runs": 4,
        "margin_for_predicted_team": -1,
        "winner": "ATL"
      },
      {
        "date": "2026-05-10",
        "predicted_team_runs": 2,
        "opponent_runs": 7,
        "margin_for_predicted_team": -5,
        "winner": "ATL"
      },
      {
        "date": "2026-05-09",
        "predicted_team_runs": 2,
        "opponent_runs": 7,
        "margin_for_predicted_team": -5,
        "winner": "ATL"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 1,
      "consecutive_same_pick_count": 1,
      "same_pick_actual_loss_count": 1,
      "same_pick_blowout_loss_count": 0,
      "prior_predictions": [
        {
          "date": "20260825",
          "away": "LAD",
          "home": "ATL",
          "game_number": 1,
          "predicted_team": "LAD",
          "actual_winner": "ATL",
          "actual_margin": 1,
          "raw_pick_probability": 0.550709,
          "artifact": "20260825_LAD@ATL.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "LAD",
    "guardrail_opponent_team": "ATL",
    "output_pre_simulation_winner": "LAD",
    "output_opponent_team": "ATL",
    "simulation_score_winner": "LAD",
    "final_score_winner": "LAD",
    "pre_simulation_winner": "LAD",
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false
  },
  "hard_flip_suppressed": true,
  "flip_authority": "caps_confidence_and_shifts_runs_only",
  "final_prediction_sync": {
    "pre_simulation_score": {
      "away_runs": 4,
      "home_runs": 3,
      "score_text": "LAD 4 - 3 ATL",
      "winner": "LAD"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 3,
      "score_text": "LAD 4 - 3 ATL",
      "winner": "LAD"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": -0.0613,
      "recent_form_edge_home_minus_away": -0.441,
      "winner_direction": "away",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 4,
      "home_runs": 3,
      "winner": "LAD",
      "model_winner": "LAD",
      "simulation_winner": "LAD",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 1,
        "published_winner": "LAD",
        "published_winner_draw_share": 1.0,
        "draw_majority_team": "LAD",
        "published_winner_is_draw_majority": true,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 1,
      "simulation_margin": 1,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 4,
        "home_runs": 3
      },
      "simulation_score": {
        "away_runs": 4,
        "home_runs": 3
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 1,
      "winner_quality_edge": 0.4298,
      "winner": "LAD",
      "score_reviewed": {
        "away_runs": 4,
        "home_runs": 3,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  }
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "hard_flip_suppressed": false,
  "policy": "recency_uncertainty_shrinkage_v2",
  "reasons": [],
  "signals": {
    "home": {
      "team": "ATL",
      "games": 132,
      "wins": 77,
      "losses": 55,
      "win_pct": 0.5833333333333334,
      "runs_scored": 618,
      "runs_allowed": 507,
      "run_differential": 111,
      "run_differential_per_game": 0.8409090909090909,
      "available": true
    },
    "away": {
      "team": "LAD",
      "games": 132,
      "wins": 80,
      "losses": 52,
      "win_pct": 0.6060606060606061,
      "runs_scored": 656,
      "runs_allowed": 506,
      "run_differential": 150,
      "run_differential_per_game": 1.1363636363636365,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": -0.1,
  "final_margin": -0.1,
  "margin_cap": 1.5,
  "season_quality_edge": 0.4298,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.507171,
  "final_confidence": 0.5072,
  "calibrated_pick_probability": 0.5072,
  "shrinkage_weight": 0.846053,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 0.1,
  "calibration_sample_size": 58,
  "calibration_empirical_hit_rate": 0.5,
  "calibration_bayesian_hit_rate": 0.5,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.4298,
  "reasons": [
    "confidence aligned to the calibrated pick probability"
  ],
  "score_coherence": {
    "policy": "probability_follows_published_score_v1",
    "published_score": {
      "away_runs": 4,
      "home_runs": 3
    },
    "margin": -1,
    "probability_before": 0.492809,
    "margin_implied_home_probability": 0.415,
    "shrinkage_weight": 0.846053,
    "side_flipped": false,
    "applied": true,
    "probability_after": 0.453904,
    "aligned_pick_probability": 0.546096
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 4,
    "home_runs": 3,
    "score_text": "LAD 4 - 3 ATL",
    "winner": "LAD"
  },
  "final_simulation_score": {
    "away_runs": 4,
    "home_runs": 3,
    "score_text": "LAD 4 - 3 ATL",
    "winner": "LAD"
  },
  "winner_flipped_by_simulation": false,
  "simulation_would_flip_winner": false,
  "sim_flipped_pre_winner": false,
  "sim_flip_trusted": false,
  "sim_flip_policy": "diagnostic_only_unless_independently_supported",
  "independent_margin_support": false,
  "independent_margin_support_evidence": {
    "pitcher_matchup_edge_home_minus_away": -0.0613,
    "recent_form_edge_home_minus_away": -0.441,
    "winner_direction": "away",
    "thresholds": {
      "pitcher_matchup": 0.35,
      "recent_form": 0.75
    }
  },
  "margin_widening_capped": false,
  "simulation_winner_agrees": true,
  "away_run_delta": 0,
  "home_run_delta": 0,
  "total_run_delta": 0,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "organic_simulation_realized_target",
  "final_prediction_source": "stable_final_prediction_policy",
  "final_decision_policy": {
    "policy_version": "model_target_authoritative_simulation_realizes_v3",
    "away_runs": 4,
    "home_runs": 3,
    "winner": "LAD",
    "model_winner": "LAD",
    "simulation_winner": "LAD",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 1,
      "published_winner": "LAD",
      "published_winner_draw_share": 1.0,
      "draw_majority_team": "LAD",
      "published_winner_is_draw_majority": true,
      "sampling": "target_conditioned_selection",
      "is_unbiased_probability_sample": false,
      "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
    },
    "simulation_score_enabled": true,
    "independent_margin_support": false,
    "margin_widening_capped": false,
    "model_margin": 1,
    "simulation_margin": 1,
    "simulation_usage": "organic_simulation_realized_target",
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_realized_target": true,
    "model_score": {
      "away_runs": 4,
      "home_runs": 3
    },
    "simulation_score": {
      "away_runs": 4,
      "home_runs": 3
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 1,
    "final_margin": 1,
    "winner_quality_edge": 0.4298,
    "winner": "LAD",
    "score_reviewed": {
      "away_runs": 4,
      "home_runs": 3,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 4,
  "home_runs": 3,
  "confidence": 0.53,
  "home_win_probability": 0.47,
  "away_win_probability": 0.53,
  "predicted_score_text": "LAD 4 - 3 ATL",
  "embedded_savant_score_adjustment": {
    "applied": true,
    "source": "all_players_stats.csv embedded temporal Savant features",
    "feature_contract": {
      "training_grain": "one player-game row after collapsing granular at-bat rows",
      "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
      "hitter_signals": [
        "xwoba",
        "xba",
        "xslg",
        "barrel_batted_rate",
        "hard_hit_percent",
        "bat_speed",
        "launch_quality",
        "walk_rate",
        "strikeout_rate"
      ],
      "pitcher_signals": [
        "xwoba_allowed",
        "barrel_allowed",
        "hard_hit_allowed",
        "whiff_rate",
        "command_score",
        "movement_score",
        "faced_est_woba",
        "faced_strikeout_rate"
      ]
    },
    "away": {
      "team": "LAD",
      "original_runs": 4,
      "run_delta": -0.0966,
      "adjusted_runs": 4,
      "lineup": {
        "players_used": 9,
        "total_weight": 35.0,
        "quality": 0.42340464302052916,
        "contact": 0.48662184826300936,
        "power": 0.46980995739770404,
        "discipline": 0.14474602112692717,
        "xwoba": 0.33751428571428566,
        "recent_xwoba": 0.33751428571428566,
        "barrel": 9.014285714285716,
        "ab_hard_contact": 0.16524929420483436,
        "ab_bat_speed": 69.6477704795189,
        "ab_strikeout_rate": 0.20930189761237347,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "660271",
            "player_name": "Shohei Ohtani",
            "position": "DH",
            "weight": 4.0,
            "quality": 1.5163371338135516,
            "contact": 1.5689464858761564,
            "power": 2.0,
            "discipline": 0.37566383867049147,
            "xwoba": 0.407,
            "recent_xwoba": 0.4069999999999999,
            "barrel": 16.6,
            "ab_hard_contact": 1.0290459225511872,
            "ab_bat_speed": 73.59649185823754,
            "ab_strikeout_rate": 0.22911877394636015,
            "available": 1.0
          },
          {
            "player_id": "518692",
            "player_name": "Freddie Freeman",
            "position": "1B",
            "weight": 5.0,
            "quality": 0.8011658412814527,
            "contact": 1.086640836416259,
            "power": 0.6805612616589417,
            "discipline": 0.5015078272928859,
            "xwoba": 0.371,
            "recent_xwoba": 0.371,
            "barrel": 8.5,
            "ab_hard_contact": 0.43751094746456276,
            "ab_bat_speed": 69.27750881472808,
            "ab_strikeout_rate": 0.15827478532396566,
            "available": 1.0
          },
          {
            "player_id": "571970",
            "player_name": "Max Muncy",
            "position": "3B",
            "weight": 3.0,
            "quality": 0.6373341306586049,
            "contact": 0.49759327700712114,
            "power": 1.1182799947335291,
            "discipline": 0.09844513849676889,
            "xwoba": 0.352,
            "recent_xwoba": 0.352,
            "barrel": 13.4,
            "ab_hard_contact": 0.48140941848012514,
            "ab_bat_speed": 70.16753647342995,
            "ab_strikeout_rate": 0.27790890269151136,
            "available": 1.0
          },
          {
            "player_id": "605141",
            "player_name": "Mookie Betts",
            "position": "SS",
            "weight": 5.0,
            "quality": 0.4539042205423421,
            "contact": 0.5727562425189393,
            "power": 0.27140308452316625,
            "discipline": 0.6162393225735615,
            "xwoba": 0.325,
            "recent_xwoba": 0.325,
            "barrel": 7.4,
            "ab_hard_contact": 0.11358549998713736,
            "ab_bat_speed": 68.06833400974027,
            "ab_strikeout_rate": 0.11325757575757577,
            "available": 1.0
          },
          {
            "player_id": "676439",
            "player_name": "Hunter Feduccia",
            "position": "C",
            "weight": 3.0,
            "quality": 0.16709417352816508,
            "contact": 0.2076673521870491,
            "power": 0.22607073607416175,
            "discipline": -0.019094732260493213,
            "xwoba": 0.321,
            "recent_xwoba": 0.321,
            "barrel": 8.4,
            "ab_hard_contact": -0.09382337375486241,
            "ab_bat_speed": 67.32499158249158,
            "ab_strikeout_rate": 0.25202020202020203,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "519242",
        "player_name": "Chris Sale",
        "quality": 0.6772681035970782,
        "contact": 0.9046061697364891,
        "command": 0.6743937728937729,
        "movement": 0.13440600025276256,
        "xwoba": 0.272,
        "whiff": 30.1,
        "faced_est_woba": 0.26552359851190477,
        "faced_launch_speed": 83.8105259224902,
        "faced_strikeout_rate": 0.23520697818487546,
        "faced_run_exp": 0.006591593388029562
      }
    },
    "home": {
      "team": "ATL",
      "original_runs": 3,
      "run_delta": -0.08,
      "adjusted_runs": 3,
      "lineup": {
        "players_used": 9,
        "total_weight": 36.0,
        "quality": 0.34835984200057313,
        "contact": 0.19151117077966226,
        "power": 0.38815562018357297,
        "discipline": -0.1672060369013158,
        "xwoba": 0.3168888888888889,
        "recent_xwoba": 0.3168888888888889,
        "barrel": 9.15,
        "ab_hard_contact": 0.42295367351273416,
        "ab_bat_speed": 71.78434157432281,
        "ab_strikeout_rate": 0.23012952253404048,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "621566",
            "player_name": "Matt Olson",
            "position": "1B",
            "weight": 4.0,
            "quality": 1.0258102813955954,
            "contact": 0.8566189616246899,
            "power": 1.6634406454802362,
            "discipline": 0.019154041188280277,
            "xwoba": 0.359,
            "recent_xwoba": 0.359,
            "barrel": 15.5,
            "ab_hard_contact": 1.5303367191285513,
            "ab_bat_speed": 73.48883533333334,
            "ab_strikeout_rate": 0.24862857142857142,
            "available": 1.0
          },
          {
            "player_id": "686948",
            "player_name": "Drake Baldwin",
            "position": "DH",
            "weight": 4.0,
            "quality": 1.104295293427909,
            "contact": 1.2052164146388902,
            "power": 1.3258849107489081,
            "discipline": 0.2658575085946603,
            "xwoba": 0.369,
            "recent_xwoba": 0.369,
            "barrel": 12.8,
            "ab_hard_contact": 1.17407916735913,
            "ab_bat_speed": 74.01819367390969,
            "ab_strikeout_rate": 0.20606796116504855,
            "available": 1.0
          },
          {
            "player_id": "660670",
            "player_name": "Ronald Acuña Jr.",
            "position": "RF",
            "weight": 5.0,
            "quality": 0.6986960508063939,
            "contact": 0.5948281095799604,
            "power": 0.9489937363280299,
            "discipline": 0.21273890746355734,
            "xwoba": 0.359,
            "recent_xwoba": 0.359,
            "barrel": 12.2,
            "ab_hard_contact": 0.614541393227267,
            "ab_bat_speed": 73.89358447488584,
            "ab_strikeout_rate": 0.23675799086757993,
            "available": 1.0
          },
          {
            "player_id": "671739",
            "player_name": "Michael Harris II",
            "position": "CF",
            "weight": 5.0,
            "quality": 0.688666065817711,
            "contact": 0.9095481095854884,
            "power": 0.9498893704914871,
            "discipline": -0.5607262655106706,
            "xwoba": 0.342,
            "recent_xwoba": 0.342,
            "barrel": 10.7,
            "ab_hard_contact": 0.7661683622107041,
            "ab_bat_speed": 73.5432571125908,
            "ab_strikeout_rate": 0.1992231638418079,
            "available": 1.0
          },
          {
            "player_id": "669221",
            "player_name": "Sean Murphy",
            "position": "C",
            "weight": 3.0,
            "quality": -0.27067809518236274,
            "contact": -2.0,
            "power": -1.8777759303600408,
            "discipline": -1.6755507207164815,
            "xwoba": 0.166,
            "recent_xwoba": 0.166,
            "barrel": 0.0,
            "ab_hard_contact": -1.0370424167246253,
            "ab_bat_speed": 69.49954166666666,
            "ab_strikeout_rate": 0.3933333333333333,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "808967",
        "player_name": "Yoshinobu Yamamoto",
        "quality": 0.580014718917765,
        "contact": 1.02010425862141,
        "command": 0.15653663003662988,
        "movement": 0.39244292676656495,
        "xwoba": 0.27,
        "whiff": 26.3,
        "faced_est_woba": 0.26552359851190477,
        "faced_launch_speed": 83.8105259224902,
        "faced_strikeout_rate": 0.23520697818487546,
        "faced_run_exp": 0.006591593388029562
      }
    }
  },
  "fundamental_edge_target_review": {
    "applied": false,
    "method": "post_score_adjustment_fundamental_edge_review_v1",
    "previous_score": {
      "away_runs": 4,
      "home_runs": 3,
      "winner_side": "away"
    },
    "adjusted_score": {
      "away_runs": 4,
      "home_runs": 3,
      "winner_side": "away"
    },
    "signals": {
      "season_quality_edge_home_minus_away": -0.4298,
      "recent_form_edge_home_minus_away": -0.441,
      "pitcher_matchup_edge_home_minus_away": -0.0613,
      "composite_home_edge": -0.6615,
      "existing_home_win_probability": 0.4539,
      "refreshed_home_win_probability": 0.3,
      "winner_support_before_review": 0.6615
    },
    "reasons": [
      "target direction already matched refreshed fundamentals or margin was not fragile"
    ]
  },
  "uncapped_home_win_probability": 0.453904,
  "uncapped_away_win_probability": 0.546096,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.546096,
    "discount_factor": 0.7225,
    "published_confidence": 0.53,
    "guardrail_confidence_cap": 0.53,
    "guardrail_cap_enforced": true,
    "applied_discounts": [
      {
        "reason": "projected_margin_is_one_run",
        "factor": 0.85
      },
      {
        "reason": "matchup_recency_guardrail",
        "factor": 0.85
      }
    ]
  },
  "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.",
  "pre_simulation_target": {
    "away_runs": 4,
    "home_runs": 3,
    "predicted_score_text": "LAD 4 - 3 ATL",
    "confidence": 0.53,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "stable_final_prediction_policy",
  "simulation_usage": "organic_simulation_realized_target",
  "simulation_score_matches_prediction": true,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 4,
      "home_runs": 3,
      "score_text": "LAD 4 - 3 ATL",
      "winner": "LAD"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 3,
      "score_text": "LAD 4 - 3 ATL",
      "winner": "LAD"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": -0.0613,
      "recent_form_edge_home_minus_away": -0.441,
      "winner_direction": "away",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 4,
      "home_runs": 3,
      "winner": "LAD",
      "model_winner": "LAD",
      "simulation_winner": "LAD",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 1,
        "published_winner": "LAD",
        "published_winner_draw_share": 1.0,
        "draw_majority_team": "LAD",
        "published_winner_is_draw_majority": true,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 1,
      "simulation_margin": 1,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 4,
        "home_runs": 3
      },
      "simulation_score": {
        "away_runs": 4,
        "home_runs": 3
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 1,
      "winner_quality_edge": 0.4298,
      "winner": "LAD",
      "score_reviewed": {
        "away_runs": 4,
        "home_runs": 3,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  },
  "decision_profile": {
    "method": "priced_decision_profile_v2",
    "winner": "LAD",
    "display_confidence": 0.53,
    "internal_signal_score": 0.652,
    "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
    "model_pick_probability": 0.53,
    "confidence_compression_detected": true,
    "moneyline_fit": "unavailable_without_market_price",
    "betting_status": "price_required_before_betting_analysis",
    "market_context": null,
    "margin_fit": "moneyline_preferred_over_margin",
    "totals_fit": "neutral_totals",
    "winner_accuracy_and_margin_accuracy_decoupled": true,
    "signals": {
      "final_margin": 1,
      "winner_quality_edge": 0.4298,
      "winner_recent_form_edge": 0.616,
      "winner_pitcher_matchup_edge": 0.0613,
      "winner_simulation_draw_rate": 1.0,
      "blowout_draw_rate_margin_4_plus": 0.0,
      "high_total_draw_rate_11_plus": 0.0,
      "low_total_draw_rate_6_or_less": 0.0,
      "total_runs_spread": {
        "min": 7,
        "median": 7,
        "max": 7,
        "range": 0
      }
    },
    "interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."
  }
}

Savant Batter Quality

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

TeamAppliedOffense FactorRaw Avg FactorCoverage WeightCoveredMissing
Away LADTrue1.04931.0493190
Home ATLTrue1.03261.0326190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
DHShohei Ohtani291.14121.8824neutral0.40700.29300.575016.6052.3093.5012.3030.7023.3013.600.4286
2BTommy Edman1231.00050.0073neutral0.31500.25800.36405.6035.4087.9013.6020.4020.206.70-0.4571
SSMookie Betts901.04960.6611neutral0.32500.27200.42407.4037.809018.201211.3070.6571
3BMax Muncy161.07060.9419neutral0.35200.24400.480013.4046.5090.6016.9029.3025.3011.80-0.4571
1BFreddie Freeman431.09091.2122neutral0.37100.29700.48208.5041.8089.6012.6021.8016.5010.200.2571
CFAlek Thomas3681.00840.1121positive_batter_regression0.29400.24000.39107.8041.8089.7012.6027.5023.403.601.2000
RFKyle Tucker3891.02690.3586neutral0.32500.25500.37905.7037.8088.901722.6018.40120.4857
CHunter Feduccia2661.03220.4293neutral0.32100.25400.39708.404090.4016.4023.2025.4090.6571
LFTeoscar Hernández4231.02310.3075neutral0.31100.24200.40608.9043.6089.7013.903227.807.800.1714

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
DHDrake Baldwin641.10641.4182neutral0.36900.27700.494012.805291.8010.7023.4020.70100.5429
SSMauricio Dubón760.9996-0.0055neutral0.30600.26800.37803.9030.2086.7015.7015.5012.306-0.1429
RFRonald Acuña Jr.2221.08441.1250positive_batter_regression0.35900.25200.469012.2045.2090.201629.9023.6012.200.8857
1BMatt Olson221.09261.2343neutral0.35900.24800.516015.5049.9092.6018.6025.1025.409.80-0.2857
2BOzzie Albies870.9647-0.4713negative_batter_regression0.28500.23200.35704.1027.8086.9018.5020.80146.90-0.8857
CFMichael Harris II281.06590.8785neutral0.34200.28900.477010.7048.6090.509.6025.2019.603.60-0.2000
CSean Murphy6040.9428-0.7626neutral0.16600.16200.1900029.6083.203.7033.3037.802.200.6857
3BAustin Riley2171.01900.2529neutral0.29900.21200.393012.1045.8091.4018.7032.8031.907.600.1714
LFMike Yastrzemski2251.01770.2358neutral0.31100.23500.36907.1044.3090.9016.6023.5024.2010.300.0286
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0326,
    "raw_average_factor": 1.0326,
    "team_espn_average_rank": 171.67,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "DH",
        "player_id": "686948",
        "player_name": "Drake Baldwin",
        "offense_factor": 1.1064,
        "quality_score": 1.4182,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "686948",
          "espn_id": 4810190,
          "player_name": "Drake Baldwin",
          "team": "ATL",
          "role": "batter",
          "espn_rank": 64,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 64,
            "gp_value": 109.0,
            "gp_rank": "147",
            "ab_value": 426.0,
            "ab_rank": "95",
            "r_value": 71.0,
            "r_rank": "43",
            "h_value": 115.0,
            "h_rank": "76",
            "avg_value": 0.269953,
            "avg_rank": 49.0,
            "2b_value": 11.0,
            "2b_rank": "239",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 21.0,
            "hr_rank": "37",
            "rbi_value": 63.0,
            "rbi_rank": "63",
            "tb_value": 189.0,
            "tb_rank": "988",
            "bb_value": 48.0,
            "bb_rank": "70",
            "so_value": 100.0,
            "so_rank": "91",
            "sb_value": 3.0,
            "sb_rank": "223",
            "obp_value": 0.352697,
            "obp_rank": "43",
            "slg_value": 0.4436619,
            "slg_rank": "55",
            "ops_value": 0.7963589,
            "ops_rank": 12.0,
            "war_value": 2.84,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 460.0,
          "k_percent": 20.7,
          "bb_percent": 10.0,
          "woba": 0.35,
          "xwoba": 0.369,
          "xba": 0.277,
          "xslg": 0.494,
          "sweet_spot_percent": 35.2,
          "barrel_batted_rate": 12.8,
          "hard_hit_percent": 52.0,
          "exit_velocity_avg": 91.8,
          "launch_angle_avg": 10.7,
          "whiff_percent": 23.4,
          "swing_percent": 50.1
        },
        "components": {
          "expected_quality": 1.5607,
          "regression_edge": 0.5429,
          "xwoba_edge": 1.9143,
          "xba_edge": 1.1714,
          "xslg_edge": 1.8143,
          "barrel_edge": 1.3556,
          "hard_hit_edge": 2.0286,
          "exit_velocity_edge": 1.28,
          "sweet_spot_edge": 0.3167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "643289",
        "player_name": "Mauricio Dubón",
        "offense_factor": 0.9996,
        "quality_score": -0.0055,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "643289",
          "espn_id": 35304,
          "player_name": "Mauricio Dubon",
          "team": "ATL",
          "role": "batter",
          "espn_rank": 76,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 76,
            "gp_value": 125.0,
            "gp_rank": "65",
            "ab_value": 466.0,
            "ab_rank": "65",
            "r_value": 57.0,
            "r_rank": "104",
            "h_value": 125.0,
            "h_rank": "42",
            "avg_value": 0.2682403,
            "avg_rank": 50.0,
            "2b_value": 24.0,
            "2b_rank": "46",
            "3b_value": 2.0,
            "3b_rank": "64",
            "hr_value": 10.0,
            "hr_rank": "163",
            "rbi_value": 63.0,
            "rbi_rank": "63",
            "tb_value": 183.0,
            "tb_rank": "705",
            "bb_value": 30.0,
            "bb_rank": "183",
            "so_value": 62.0,
            "so_rank": "235",
            "sb_value": 6.0,
            "sb_rank": "143",
            "obp_value": 0.314,
            "obp_rank": "107",
            "slg_value": 0.3927038,
            "slg_rank": "109",
            "ops_value": 0.7067038,
            "ops_rank": 216.0,
            "war_value": 2.46,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 478.0,
          "k_percent": 12.3,
          "bb_percent": 6.0,
          "woba": 0.311,
          "xwoba": 0.306,
          "xba": 0.268,
          "xslg": 0.378,
          "sweet_spot_percent": 37.3,
          "barrel_batted_rate": 3.9,
          "hard_hit_percent": 30.2,
          "exit_velocity_avg": 86.7,
          "launch_angle_avg": 15.7,
          "whiff_percent": 15.5,
          "swing_percent": 53.3
        },
        "components": {
          "expected_quality": 0.0168,
          "regression_edge": -0.1429,
          "xwoba_edge": 0.1143,
          "xba_edge": 0.9143,
          "xslg_edge": 0.1571,
          "barrel_edge": -0.6222,
          "hard_hit_edge": -1.0857,
          "exit_velocity_edge": -0.76,
          "sweet_spot_edge": 0.6667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "660670",
        "player_name": "Ronald Acuña Jr.",
        "offense_factor": 1.0844,
        "quality_score": 1.125,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "660670",
          "espn_id": 36185,
          "player_name": "Ronald Acuna Jr.",
          "team": "ATL",
          "role": "batter",
          "espn_rank": 222,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 222,
            "gp_value": 80.0,
            "gp_rank": "265",
            "ab_value": 302.0,
            "ab_rank": "199",
            "r_value": 44.0,
            "r_rank": "163",
            "h_value": 70.0,
            "h_rank": "203",
            "avg_value": 0.231788,
            "avg_rank": null,
            "2b_value": 12.0,
            "2b_rank": "218",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 13.0,
            "hr_rank": "123",
            "rbi_value": 35.0,
            "rbi_rank": "207",
            "tb_value": 123.0,
            "tb_rank": "1046",
            "bb_value": 43.0,
            "bb_rank": "91",
            "so_value": 83.0,
            "so_rank": "144",
            "sb_value": 18.0,
            "sb_rank": "31",
            "obp_value": 0.3352272,
            "obp_rank": "-",
            "slg_value": 0.4072847,
            "slg_rank": "-",
            "ops_value": 0.7425119,
            "ops_rank": null,
            "war_value": 0.81,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 324.0,
          "k_percent": 23.6,
          "bb_percent": 12.2,
          "woba": 0.328,
          "xwoba": 0.359,
          "xba": 0.252,
          "xslg": 0.469,
          "sweet_spot_percent": 32.1,
          "barrel_batted_rate": 12.2,
          "hard_hit_percent": 45.2,
          "exit_velocity_avg": 90.2,
          "launch_angle_avg": 16.0,
          "whiff_percent": 29.9,
          "swing_percent": 47.7
        },
        "components": {
          "expected_quality": 1.1639,
          "regression_edge": 0.8857,
          "xwoba_edge": 1.6286,
          "xba_edge": 0.4571,
          "xslg_edge": 1.4571,
          "barrel_edge": 1.2222,
          "hard_hit_edge": 1.0571,
          "exit_velocity_edge": 0.64,
          "sweet_spot_edge": -0.2,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "621566",
        "player_name": "Matt Olson",
        "offense_factor": 1.0926,
        "quality_score": 1.2343,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "621566",
          "espn_id": 32767,
          "player_name": "Matt Olson",
          "team": "ATL",
          "role": "batter",
          "espn_rank": 22,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 22,
            "gp_value": 132.0,
            "gp_rank": "7",
            "ab_value": 512.0,
            "ab_rank": "8",
            "r_value": 91.0,
            "r_rank": "3",
            "h_value": 133.0,
            "h_rank": "26",
            "avg_value": 0.2597656,
            "avg_rank": 65.0,
            "2b_value": 32.0,
            "2b_rank": "2",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 36.0,
            "hr_rank": "2",
            "rbi_value": 77.0,
            "rbi_rank": "20",
            "tb_value": 273.0,
            "tb_rank": "596",
            "bb_value": 56.0,
            "bb_rank": "41",
            "so_value": 146.0,
            "so_rank": "13",
            "sb_value": 4.0,
            "sb_rank": "192",
            "obp_value": 0.3344947,
            "obp_rank": "68",
            "slg_value": 0.5332031,
            "slg_rank": "7",
            "ops_value": 0.8676978,
            "ops_rank": 75.0,
            "war_value": 4.12,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 542.0,
          "k_percent": 25.4,
          "bb_percent": 9.8,
          "woba": 0.369,
          "xwoba": 0.359,
          "xba": 0.248,
          "xslg": 0.516,
          "sweet_spot_percent": 32.8,
          "barrel_batted_rate": 15.5,
          "hard_hit_percent": 49.9,
          "exit_velocity_avg": 92.6,
          "launch_angle_avg": 18.6,
          "whiff_percent": 25.1,
          "swing_percent": 45.8
        },
        "components": {
          "expected_quality": 1.4817,
          "regression_edge": -0.2857,
          "xwoba_edge": 1.6286,
          "xba_edge": 0.3429,
          "xslg_edge": 2.1286,
          "barrel_edge": 1.9556,
          "hard_hit_edge": 1.7286,
          "exit_velocity_edge": 1.6,
          "sweet_spot_edge": -0.0833,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "2B",
        "player_id": "645277",
        "player_name": "Ozzie Albies",
        "offense_factor": 0.9647,
        "quality_score": -0.4713,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "645277",
          "espn_id": 33783,
          "player_name": "Ozzie Albies",
          "team": "ATL",
          "role": "batter",
          "espn_rank": 87,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 87,
            "gp_value": 132.0,
            "gp_rank": "7",
            "ab_value": 505.0,
            "ab_rank": "13",
            "r_value": 73.0,
            "r_rank": "37",
            "h_value": 129.0,
            "h_rank": "32",
            "avg_value": 0.2554455,
            "avg_rank": 75.0,
            "2b_value": 23.0,
            "2b_rank": "57",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 20.0,
            "hr_rank": "52",
            "rbi_value": 67.0,
            "rbi_rank": "47",
            "tb_value": 212.0,
            "tb_rank": "807",
            "bb_value": 39.0,
            "bb_rank": "115",
            "so_value": 79.0,
            "so_rank": "160",
            "sb_value": 2.0,
            "sb_rank": "260",
            "obp_value": 0.3090586,
            "obp_rank": "114",
            "slg_value": 0.4198019,
            "slg_rank": "80",
            "ops_value": 0.7288605,
            "ops_rank": 34.0,
            "war_value": 2.19,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 531.0,
          "k_percent": 14.0,
          "bb_percent": 6.9,
          "woba": 0.316,
          "xwoba": 0.285,
          "xba": 0.232,
          "xslg": 0.357,
          "sweet_spot_percent": 33.7,
          "barrel_batted_rate": 4.1,
          "hard_hit_percent": 27.8,
          "exit_velocity_avg": 86.9,
          "launch_angle_avg": 18.5,
          "whiff_percent": 20.8,
          "swing_percent": 56.2
        },
        "components": {
          "expected_quality": -0.4038,
          "regression_edge": -0.8857,
          "xwoba_edge": -0.4857,
          "xba_edge": -0.1143,
          "xslg_edge": -0.1429,
          "barrel_edge": -0.5778,
          "hard_hit_edge": -1.4286,
          "exit_velocity_edge": -0.68,
          "sweet_spot_edge": 0.0667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "671739",
        "player_name": "Michael Harris II",
        "offense_factor": 1.0659,
        "quality_score": 0.8785,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "671739",
          "espn_id": 42470,
          "player_name": "Michael Harris II",
          "team": "ATL",
          "role": "batter",
          "espn_rank": 28,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 28,
            "gp_value": 126.0,
            "gp_rank": "59",
            "ab_value": 481.0,
            "ab_rank": "41",
            "r_value": 62.0,
            "r_rank": "77",
            "h_value": 141.0,
            "h_rank": "12",
            "avg_value": 0.2931392,
            "avg_rank": 9.0,
            "2b_value": 30.0,
            "2b_rank": "6",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 21.0,
            "hr_rank": "37",
            "rbi_value": 72.0,
            "rbi_rank": "32",
            "tb_value": 236.0,
            "tb_rank": "361",
            "bb_value": 18.0,
            "bb_rank": "285",
            "so_value": 99.0,
            "so_rank": "97",
            "sb_value": 8.0,
            "sb_rank": "107",
            "obp_value": 0.3194444,
            "obp_rank": "90",
            "slg_value": 0.4906444,
            "slg_rank": "22",
            "ops_value": 0.8100888,
            "ops_rank": 112.0,
            "war_value": 3.98,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 476.0,
          "k_percent": 19.6,
          "bb_percent": 3.6,
          "woba": 0.349,
          "xwoba": 0.342,
          "xba": 0.289,
          "xslg": 0.477,
          "sweet_spot_percent": 29.6,
          "barrel_batted_rate": 10.7,
          "hard_hit_percent": 48.6,
          "exit_velocity_avg": 90.5,
          "launch_angle_avg": 9.6,
          "whiff_percent": 25.2,
          "swing_percent": 56.4
        },
        "components": {
          "expected_quality": 1.054,
          "regression_edge": -0.2,
          "xwoba_edge": 1.1429,
          "xba_edge": 1.5143,
          "xslg_edge": 1.5714,
          "barrel_edge": 0.8889,
          "hard_hit_edge": 1.5429,
          "exit_velocity_edge": 0.76,
          "sweet_spot_edge": -0.6167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "669221",
        "player_name": "Sean Murphy",
        "offense_factor": 0.9428,
        "quality_score": -0.7626,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "669221",
          "espn_id": 33557,
          "player_name": "Sean Murphy",
          "team": "ATL",
          "role": "batter",
          "espn_rank": 604,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 604,
            "gp_value": 13.0,
            "gp_rank": "542",
            "ab_value": 44.0,
            "ab_rank": "508",
            "r_value": 1.0,
            "r_rank": "573",
            "h_value": 6.0,
            "h_rank": "526",
            "avg_value": 0.1363636,
            "avg_rank": null,
            "2b_value": 1.0,
            "2b_rank": "499",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 0.0,
            "hr_rank": "520",
            "rbi_value": 1.0,
            "rbi_rank": "570",
            "tb_value": 7.0,
            "tb_rank": "3147",
            "bb_value": 1.0,
            "bb_rank": "544",
            "so_value": 17.0,
            "so_rank": "478",
            "sb_value": 0.0,
            "sb_rank": "421",
            "obp_value": 0.1555555,
            "obp_rank": "-",
            "slg_value": 0.1590909,
            "slg_rank": "-",
            "ops_value": 0.3146464,
            "ops_rank": null,
            "war_value": -0.61,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 34.0,
          "k_percent": 37.8,
          "bb_percent": 2.2,
          "woba": 0.142,
          "xwoba": 0.166,
          "xba": 0.162,
          "xslg": 0.19,
          "sweet_spot_percent": 25.9,
          "barrel_batted_rate": 0.0,
          "hard_hit_percent": 29.6,
          "exit_velocity_avg": 83.2,
          "launch_angle_avg": 3.7,
          "whiff_percent": 33.3,
          "swing_percent": 52.1
        },
        "components": {
          "expected_quality": -2.0822,
          "regression_edge": 0.6857,
          "xwoba_edge": -2.5,
          "xba_edge": -2.1143,
          "xslg_edge": -2.5,
          "barrel_edge": -1.4889,
          "hard_hit_edge": -1.1714,
          "exit_velocity_edge": -2.16,
          "sweet_spot_edge": -1.2333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "663586",
        "player_name": "Austin Riley",
        "offense_factor": 1.019,
        "quality_score": 0.2529,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "663586",
          "espn_id": 34982,
          "player_name": "Austin Riley",
          "team": "ATL",
          "role": "batter",
          "espn_rank": 217,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 217,
            "gp_value": 131.0,
            "gp_rank": "15",
            "ab_value": 470.0,
            "ab_rank": "55",
            "r_value": 54.0,
            "r_rank": "109",
            "h_value": 104.0,
            "h_rank": "99",
            "avg_value": 0.2212765,
            "avg_rank": 130.0,
            "2b_value": 20.0,
            "2b_rank": "92",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 15.0,
            "hr_rank": "104",
            "rbi_value": 60.0,
            "rbi_rank": "71",
            "tb_value": 171.0,
            "tb_rank": "759",
            "bb_value": 40.0,
            "bb_rank": "107",
            "so_value": 167.0,
            "so_rank": "4",
            "sb_value": 8.0,
            "sb_rank": "107",
            "obp_value": 0.294455,
            "obp_rank": "135",
            "slg_value": 0.3638297,
            "slg_rank": "131",
            "ops_value": 0.6582847,
            "ops_rank": 4.0,
            "war_value": 0.86,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 500.0,
          "k_percent": 31.9,
          "bb_percent": 7.6,
          "woba": 0.293,
          "xwoba": 0.299,
          "xba": 0.212,
          "xslg": 0.393,
          "sweet_spot_percent": 32.7,
          "barrel_batted_rate": 12.1,
          "hard_hit_percent": 45.8,
          "exit_velocity_avg": 91.4,
          "launch_angle_avg": 18.7,
          "whiff_percent": 32.8,
          "swing_percent": 48.5
        },
        "components": {
          "expected_quality": 0.2662,
          "regression_edge": 0.1714,
          "xwoba_edge": -0.0857,
          "xba_edge": -0.6857,
          "xslg_edge": 0.3714,
          "barrel_edge": 1.2,
          "hard_hit_edge": 1.1429,
          "exit_velocity_edge": 1.12,
          "sweet_spot_edge": -0.1,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "LF",
        "player_id": "573262",
        "player_name": "Mike Yastrzemski",
        "offense_factor": 1.0177,
        "quality_score": 0.2358,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "573262",
          "espn_id": 33341,
          "player_name": "Mike Yastrzemski",
          "team": "ATL",
          "role": "batter",
          "espn_rank": 225,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 225,
            "gp_value": 113.0,
            "gp_rank": "134",
            "ab_value": 290.0,
            "ab_rank": "207",
            "r_value": 40.0,
            "r_rank": "185",
            "h_value": 66.0,
            "h_rank": "221",
            "avg_value": 0.2275862,
            "avg_rank": null,
            "2b_value": 16.0,
            "2b_rank": "155",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 9.0,
            "hr_rank": "187",
            "rbi_value": 34.0,
            "rbi_rank": "216",
            "tb_value": 111.0,
            "tb_rank": "1193",
            "bb_value": 34.0,
            "bb_rank": "155",
            "so_value": 80.0,
            "so_rank": "155",
            "sb_value": 1.0,
            "sb_rank": "315",
            "obp_value": 0.3151515,
            "obp_rank": "-",
            "slg_value": 0.3827586,
            "slg_rank": "-",
            "ops_value": 0.6979101,
            "ops_rank": null,
            "war_value": 0.79,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 310.0,
          "k_percent": 24.2,
          "bb_percent": 10.3,
          "woba": 0.31,
          "xwoba": 0.311,
          "xba": 0.235,
          "xslg": 0.369,
          "sweet_spot_percent": 34.0,
          "barrel_batted_rate": 7.1,
          "hard_hit_percent": 44.3,
          "exit_velocity_avg": 90.9,
          "launch_angle_avg": 16.6,
          "whiff_percent": 23.5,
          "swing_percent": 41.6
        },
        "components": {
          "expected_quality": 0.2696,
          "regression_edge": 0.0286,
          "xwoba_edge": 0.2571,
          "xba_edge": -0.0286,
          "xslg_edge": 0.0286,
          "barrel_edge": 0.0889,
          "hard_hit_edge": 0.9286,
          "exit_velocity_edge": 0.92,
          "sweet_spot_edge": 0.1167,
          "launch_angle_hr_bonus": 0.2
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0493,
    "raw_average_factor": 1.0493,
    "team_espn_average_rank": 194.11,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "DH",
        "player_id": "660271",
        "player_name": "Shohei Ohtani",
        "offense_factor": 1.1412,
        "quality_score": 1.8824,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "660271",
          "espn_id": 39832,
          "player_name": "Shohei Ohtani",
          "team": "LAD",
          "role": "batter",
          "espn_rank": 29,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 29,
            "gp_value": 122.0,
            "gp_rank": "88",
            "ab_value": 471.0,
            "ab_rank": "54",
            "r_value": 85.0,
            "r_rank": "9",
            "h_value": 135.0,
            "h_rank": "20",
            "avg_value": 0.2866242,
            "avg_rank": 14.0,
            "2b_value": 24.0,
            "2b_rank": "46",
            "3b_value": 4.0,
            "3b_rank": "17",
            "hr_value": 30.0,
            "hr_rank": "9",
            "rbi_value": 80.0,
            "rbi_rank": "12",
            "tb_value": 257.0,
            "tb_rank": "127",
            "bb_value": 76.0,
            "bb_rank": "12",
            "so_value": 130.0,
            "so_rank": "35",
            "sb_value": 9.0,
            "sb_rank": "90",
            "obp_value": 0.3877917,
            "obp_rank": "5",
            "slg_value": 0.5456475,
            "slg_rank": "4",
            "ops_value": 0.9334392,
            "ops_rank": 9.0,
            "war_value": 3.91,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 515.0,
          "k_percent": 23.3,
          "bb_percent": 13.6,
          "woba": 0.392,
          "xwoba": 0.407,
          "xba": 0.293,
          "xslg": 0.575,
          "sweet_spot_percent": 38.7,
          "barrel_batted_rate": 16.6,
          "hard_hit_percent": 52.3,
          "exit_velocity_avg": 93.5,
          "launch_angle_avg": 12.3,
          "whiff_percent": 30.7,
          "swing_percent": 46.6
        },
        "components": {
          "expected_quality": 2.119,
          "regression_edge": 0.4286,
          "xwoba_edge": 2.5,
          "xba_edge": 1.6286,
          "xslg_edge": 2.5,
          "barrel_edge": 2.2,
          "hard_hit_edge": 2.0714,
          "exit_velocity_edge": 1.96,
          "sweet_spot_edge": 0.9,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "2B",
        "player_id": "669242",
        "player_name": "Tommy Edman",
        "offense_factor": 1.0005,
        "quality_score": 0.0073,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "669242",
          "espn_id": 39907,
          "player_name": "Tommy Edman",
          "team": "LAD",
          "role": "batter",
          "espn_rank": 123,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 123,
            "gp_value": 55.0,
            "gp_rank": "365",
            "ab_value": 184.0,
            "ab_rank": "313",
            "r_value": 28.0,
            "r_rank": "260",
            "h_value": 49.0,
            "h_rank": "279",
            "avg_value": 0.2663043,
            "avg_rank": null,
            "2b_value": 8.0,
            "2b_rank": "298",
            "3b_value": 2.0,
            "3b_rank": "64",
            "hr_value": 4.0,
            "hr_rank": "315",
            "rbi_value": 24.0,
            "rbi_rank": "286",
            "tb_value": 73.0,
            "tb_rank": "1650",
            "bb_value": 14.0,
            "bb_rank": "332",
            "so_value": 42.0,
            "so_rank": "326",
            "sb_value": 5.0,
            "sb_rank": "166",
            "obp_value": 0.3446601,
            "obp_rank": "-",
            "slg_value": 0.3967391,
            "slg_rank": "-",
            "ops_value": 0.7413992,
            "ops_rank": null,
            "war_value": 1.72,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 187.0,
          "k_percent": 20.2,
          "bb_percent": 6.7,
          "woba": 0.331,
          "xwoba": 0.315,
          "xba": 0.258,
          "xslg": 0.364,
          "sweet_spot_percent": 29.2,
          "barrel_batted_rate": 5.6,
          "hard_hit_percent": 35.4,
          "exit_velocity_avg": 87.9,
          "launch_angle_avg": 13.6,
          "whiff_percent": 20.4,
          "swing_percent": 48.1
        },
        "components": {
          "expected_quality": 0.0844,
          "regression_edge": -0.4571,
          "xwoba_edge": 0.3714,
          "xba_edge": 0.6286,
          "xslg_edge": -0.0429,
          "barrel_edge": -0.2444,
          "hard_hit_edge": -0.3429,
          "exit_velocity_edge": -0.28,
          "sweet_spot_edge": -0.6833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "605141",
        "player_name": "Mookie Betts",
        "offense_factor": 1.0496,
        "quality_score": 0.6611,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "605141",
          "espn_id": 33039,
          "player_name": "Mookie Betts",
          "team": "LAD",
          "role": "batter",
          "espn_rank": 90,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 90,
            "gp_value": 95.0,
            "gp_rank": "196",
            "ab_value": 369.0,
            "ab_rank": "136",
            "r_value": 50.0,
            "r_rank": "129",
            "h_value": 87.0,
            "h_rank": "145",
            "avg_value": 0.2357723,
            "avg_rank": 113.0,
            "2b_value": 14.0,
            "2b_rank": "189",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 16.0,
            "hr_rank": "91",
            "rbi_value": 46.0,
            "rbi_rank": "139",
            "tb_value": 149.0,
            "tb_rank": "1169",
            "bb_value": 28.0,
            "bb_rank": "196",
            "so_value": 45.0,
            "so_rank": "310",
            "sb_value": 1.0,
            "sb_rank": "315",
            "obp_value": 0.2925,
            "obp_rank": "137",
            "slg_value": 0.403794,
            "slg_rank": "93",
            "ops_value": 0.696294,
            "ops_rank": 230.0,
            "war_value": 2.14,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 374.0,
          "k_percent": 11.3,
          "bb_percent": 7.0,
          "woba": 0.302,
          "xwoba": 0.325,
          "xba": 0.272,
          "xslg": 0.424,
          "sweet_spot_percent": 39.4,
          "barrel_batted_rate": 7.4,
          "hard_hit_percent": 37.8,
          "exit_velocity_avg": 90.0,
          "launch_angle_avg": 18.2,
          "whiff_percent": 12.0,
          "swing_percent": 42.5
        },
        "components": {
          "expected_quality": 0.6617,
          "regression_edge": 0.6571,
          "xwoba_edge": 0.6571,
          "xba_edge": 1.0286,
          "xslg_edge": 0.8143,
          "barrel_edge": 0.1556,
          "hard_hit_edge": 0.0,
          "exit_velocity_edge": 0.56,
          "sweet_spot_edge": 1.0167,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "3B",
        "player_id": "571970",
        "player_name": "Max Muncy",
        "offense_factor": 1.0706,
        "quality_score": 0.9419,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "571970",
          "espn_id": 33303,
          "player_name": "Max Muncy",
          "team": "LAD",
          "role": "batter",
          "espn_rank": 16,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 16,
            "gp_value": 122.0,
            "gp_rank": "88",
            "ab_value": 399.0,
            "ab_rank": "115",
            "r_value": 69.0,
            "r_rank": "46",
            "h_value": 102.0,
            "h_rank": "106",
            "avg_value": 0.255639,
            "avg_rank": 72.0,
            "2b_value": 20.0,
            "2b_rank": "92",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 26.0,
            "hr_rank": "20",
            "rbi_value": 67.0,
            "rbi_rank": "47",
            "tb_value": 202.0,
            "tb_rank": "514",
            "bb_value": 54.0,
            "bb_rank": "48",
            "so_value": 116.0,
            "so_rank": "57",
            "sb_value": 2.0,
            "sb_rank": "260",
            "obp_value": 0.3493449,
            "obp_rank": "47",
            "slg_value": 0.5062656,
            "slg_rank": "16",
            "ops_value": 0.8556105,
            "ops_rank": 63.0,
            "war_value": 4.31,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 433.0,
          "k_percent": 25.3,
          "bb_percent": 11.8,
          "woba": 0.368,
          "xwoba": 0.352,
          "xba": 0.244,
          "xslg": 0.48,
          "sweet_spot_percent": 34.5,
          "barrel_batted_rate": 13.4,
          "hard_hit_percent": 46.5,
          "exit_velocity_avg": 90.6,
          "launch_angle_avg": 16.9,
          "whiff_percent": 29.3,
          "swing_percent": 45.2
        },
        "components": {
          "expected_quality": 1.1696,
          "regression_edge": -0.4571,
          "xwoba_edge": 1.4286,
          "xba_edge": 0.2286,
          "xslg_edge": 1.6143,
          "barrel_edge": 1.4889,
          "hard_hit_edge": 1.2429,
          "exit_velocity_edge": 0.8,
          "sweet_spot_edge": 0.2,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "518692",
        "player_name": "Freddie Freeman",
        "offense_factor": 1.0909,
        "quality_score": 1.2122,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "518692",
          "espn_id": 30193,
          "player_name": "Freddie Freeman",
          "team": "LAD",
          "role": "batter",
          "espn_rank": 43,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 43,
            "gp_value": 128.0,
            "gp_rank": "37",
            "ab_value": 485.0,
            "ab_rank": "37",
            "r_value": 63.0,
            "r_rank": "71",
            "h_value": 145.0,
            "h_rank": "7",
            "avg_value": 0.298969,
            "avg_rank": 8.0,
            "2b_value": 30.0,
            "2b_rank": "6",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 15.0,
            "hr_rank": "104",
            "rbi_value": 61.0,
            "rbi_rank": "69",
            "tb_value": 222.0,
            "tb_rank": "581",
            "bb_value": 56.0,
            "bb_rank": "41",
            "so_value": 91.0,
            "so_rank": "122",
            "sb_value": 6.0,
            "sb_rank": "143",
            "obp_value": 0.370909,
            "obp_rank": "15",
            "slg_value": 0.4577319,
            "slg_rank": "44",
            "ops_value": 0.8286409,
            "ops_rank": 59.0,
            "war_value": 3.32,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 521.0,
          "k_percent": 16.5,
          "bb_percent": 10.2,
          "woba": 0.362,
          "xwoba": 0.371,
          "xba": 0.297,
          "xslg": 0.482,
          "sweet_spot_percent": 39.0,
          "barrel_batted_rate": 8.5,
          "hard_hit_percent": 41.8,
          "exit_velocity_avg": 89.6,
          "launch_angle_avg": 12.6,
          "whiff_percent": 21.8,
          "swing_percent": 50.4
        },
        "components": {
          "expected_quality": 1.3677,
          "regression_edge": 0.2571,
          "xwoba_edge": 1.9714,
          "xba_edge": 1.7429,
          "xslg_edge": 1.6429,
          "barrel_edge": 0.4,
          "hard_hit_edge": 0.5714,
          "exit_velocity_edge": 0.4,
          "sweet_spot_edge": 0.95,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "CF",
        "player_id": "677950",
        "player_name": "Alek Thomas",
        "offense_factor": 1.0084,
        "quality_score": 0.1121,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "677950",
          "espn_id": 41215,
          "player_name": "Alek Thomas",
          "team": "LAD",
          "role": "batter",
          "espn_rank": 368,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 368,
            "gp_value": 31.0,
            "gp_rank": "448",
            "ab_value": 104.0,
            "ab_rank": "418",
            "r_value": 12.0,
            "r_rank": "406",
            "h_value": 20.0,
            "h_rank": "426",
            "avg_value": 0.1923076,
            "avg_rank": null,
            "2b_value": 9.0,
            "2b_rank": "276",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 2.0,
            "hr_rank": "396",
            "rbi_value": 13.0,
            "rbi_rank": "376",
            "tb_value": 35.0,
            "tb_rank": "2452",
            "bb_value": 4.0,
            "bb_rank": "475",
            "so_value": 26.0,
            "so_rank": "422",
            "sb_value": 4.0,
            "sb_rank": "192",
            "obp_value": 0.2363636,
            "obp_rank": "-",
            "slg_value": 0.3365384,
            "slg_rank": "-",
            "ops_value": 0.572902,
            "ops_rank": null,
            "war_value": 0.09,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 97.0,
          "k_percent": 23.4,
          "bb_percent": 3.6,
          "woba": 0.252,
          "xwoba": 0.294,
          "xba": 0.24,
          "xslg": 0.391,
          "sweet_spot_percent": 35.4,
          "barrel_batted_rate": 7.8,
          "hard_hit_percent": 41.8,
          "exit_velocity_avg": 89.7,
          "launch_angle_avg": 12.6,
          "whiff_percent": 27.5,
          "swing_percent": 56.5
        },
        "components": {
          "expected_quality": 0.0944,
          "regression_edge": 1.2,
          "xwoba_edge": -0.2286,
          "xba_edge": 0.1143,
          "xslg_edge": 0.3429,
          "barrel_edge": 0.2444,
          "hard_hit_edge": 0.5714,
          "exit_velocity_edge": 0.44,
          "sweet_spot_edge": 0.35,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "RF",
        "player_id": "663656",
        "player_name": "Kyle Tucker",
        "offense_factor": 1.0269,
        "quality_score": 0.3586,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "663656",
          "espn_id": 34967,
          "player_name": "Kyle Tucker",
          "team": "LAD",
          "role": "batter",
          "espn_rank": 389,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 389,
            "gp_value": 124.0,
            "gp_rank": "74",
            "ab_value": 442.0,
            "ab_rank": "83",
            "r_value": 71.0,
            "r_rank": "43",
            "h_value": 102.0,
            "h_rank": "106",
            "avg_value": 0.2307692,
            "avg_rank": 121.0,
            "2b_value": 19.0,
            "2b_rank": "115",
            "3b_value": 3.0,
            "3b_rank": "32",
            "hr_value": 11.0,
            "hr_rank": "152",
            "rbi_value": 57.0,
            "rbi_rank": "86",
            "tb_value": 160.0,
            "tb_rank": "741",
            "bb_value": 61.0,
            "bb_rank": "32",
            "so_value": 94.0,
            "so_rank": "107",
            "sb_value": 8.0,
            "sb_rank": "107",
            "obp_value": 0.3254901,
            "obp_rank": "83",
            "slg_value": 0.3619909,
            "slg_rank": "134",
            "ops_value": 0.687481,
            "ops_rank": 217.0,
            "war_value": 0.04,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 480.0,
          "k_percent": 18.4,
          "bb_percent": 12.0,
          "woba": 0.308,
          "xwoba": 0.325,
          "xba": 0.255,
          "xslg": 0.379,
          "sweet_spot_percent": 33.2,
          "barrel_batted_rate": 5.7,
          "hard_hit_percent": 37.8,
          "exit_velocity_avg": 88.9,
          "launch_angle_avg": 17.0,
          "whiff_percent": 22.6,
          "swing_percent": 48.8
        },
        "components": {
          "expected_quality": 0.3379,
          "regression_edge": 0.4857,
          "xwoba_edge": 0.6571,
          "xba_edge": 0.5429,
          "xslg_edge": 0.1714,
          "barrel_edge": -0.2222,
          "hard_hit_edge": 0.0,
          "exit_velocity_edge": 0.12,
          "sweet_spot_edge": -0.0167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "676439",
        "player_name": "Hunter Feduccia",
        "offense_factor": 1.0322,
        "quality_score": 0.4293,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "676439",
          "espn_id": 41801,
          "player_name": "Hunter Feduccia",
          "team": "LAD",
          "role": "batter",
          "espn_rank": 266,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 266,
            "gp_value": 77.0,
            "gp_rank": "275",
            "ab_value": 178.0,
            "ab_rank": "321",
            "r_value": 20.0,
            "r_rank": "332",
            "h_value": 43.0,
            "h_rank": "312",
            "avg_value": 0.241573,
            "avg_rank": null,
            "2b_value": 9.0,
            "2b_rank": "276",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 3.0,
            "hr_rank": "353",
            "rbi_value": 15.0,
            "rbi_rank": "357",
            "tb_value": 63.0,
            "tb_rank": "1903",
            "bb_value": 18.0,
            "bb_rank": "285",
            "so_value": 51.0,
            "so_rank": "278",
            "sb_value": 0.0,
            "sb_rank": "421",
            "obp_value": 0.3131313,
            "obp_rank": "-",
            "slg_value": 0.3539325,
            "slg_rank": "-",
            "ops_value": 0.6670638,
            "ops_rank": null,
            "war_value": 0.57,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 183.0,
          "k_percent": 25.4,
          "bb_percent": 9.0,
          "woba": 0.298,
          "xwoba": 0.321,
          "xba": 0.254,
          "xslg": 0.397,
          "sweet_spot_percent": 38.2,
          "barrel_batted_rate": 8.4,
          "hard_hit_percent": 40.0,
          "exit_velocity_avg": 90.4,
          "launch_angle_avg": 16.4,
          "whiff_percent": 23.2,
          "swing_percent": 43.3
        },
        "components": {
          "expected_quality": 0.4931,
          "regression_edge": 0.6571,
          "xwoba_edge": 0.5429,
          "xba_edge": 0.5143,
          "xslg_edge": 0.4286,
          "barrel_edge": 0.3778,
          "hard_hit_edge": 0.3143,
          "exit_velocity_edge": 0.72,
          "sweet_spot_edge": 0.8167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "606192",
        "player_name": "Teoscar Hernández",
        "offense_factor": 1.0231,
        "quality_score": 0.3075,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "606192",
          "espn_id": 33377,
          "player_name": "Teoscar Hernandez",
          "team": "LAD",
          "role": "batter",
          "espn_rank": 423,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 423,
            "gp_value": 96.0,
            "gp_rank": "190",
            "ab_value": 336.0,
            "ab_rank": "170",
            "r_value": 50.0,
            "r_rank": "129",
            "h_value": 82.0,
            "h_rank": "160",
            "avg_value": 0.2440476,
            "avg_rank": null,
            "2b_value": 14.0,
            "2b_rank": "189",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 11.0,
            "hr_rank": "152",
            "rbi_value": 44.0,
            "rbi_rank": "153",
            "tb_value": 131.0,
            "tb_rank": "1061",
            "bb_value": 29.0,
            "bb_rank": "191",
            "so_value": 103.0,
            "so_rank": "85",
            "sb_value": 2.0,
            "sb_rank": "260",
            "obp_value": 0.3054054,
            "obp_rank": "-",
            "slg_value": 0.3898809,
            "slg_rank": "-",
            "ops_value": 0.6952863,
            "ops_rank": null,
            "war_value": -0.01,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 351.0,
          "k_percent": 27.8,
          "bb_percent": 7.8,
          "woba": 0.305,
          "xwoba": 0.311,
          "xba": 0.242,
          "xslg": 0.406,
          "sweet_spot_percent": 30.9,
          "barrel_batted_rate": 8.9,
          "hard_hit_percent": 43.6,
          "exit_velocity_avg": 89.7,
          "launch_angle_avg": 13.9,
          "whiff_percent": 32.0,
          "swing_percent": 47.5
        },
        "components": {
          "expected_quality": 0.3296,
          "regression_edge": 0.1714,
          "xwoba_edge": 0.2571,
          "xba_edge": 0.1714,
          "xslg_edge": 0.5571,
          "barrel_edge": 0.4889,
          "hard_hit_edge": 0.8286,
          "exit_velocity_edge": 0.44,
          "sweet_spot_edge": -0.4,
          "launch_angle_hr_bonus": 0.2
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}

Savant Pitcher Quality

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

TeamPitcherAvailableESPN RankQualitySample WtRun PrevK FactorBB FactorHR FactorRegressionxwOBAwOBAK%BB%Whiff%Barrel%HardHit%
Away LADTrue100.550710.95321.02290.93600.9403neutral0.27000.246024.90626.306.3036
Home ATLTrue90.670210.94301.07710.92000.9163neutral0.27200.262030.605.2030.105.3034.60

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away LADTrueNone10091.112175000000000.0709
Home ATLTrueNone9888.67234500000000-0.0657
Run FactorValue
away_runs_vs_home_pitcher0.9667
home_runs_vs_away_pitcher0.9730
home_pitcher_starter_only_factor0.9430
away_pitcher_starter_only_factor0.9532
home_pitcher_workload_share0.6667
away_pitcher_workload_share0.7037
home_pitcher_quality_edge0.0593
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "519242",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 491.0,
      "k_percent": 30.6,
      "bb_percent": 5.2,
      "woba": 0.262,
      "xwoba": 0.272,
      "sweet_spot_percent": 34.6,
      "barrel_batted_rate": 5.3,
      "hard_hit_percent": 34.6,
      "avg_best_speed": 76.8741,
      "avg_hyper_speed": 93.4634,
      "whiff_percent": 30.1,
      "swing_percent": 50.6
    },
    "league_medians": {
      "pa": 123.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.316,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.4,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.8,
      "avg_best_speed": 77.614,
      "avg_hyper_speed": 93.9187,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.7938,
      "command_and_miss": 0.9979,
      "regression_edge": -0.2857,
      "xwoba_edge": 1.1143,
      "barrel_edge": 0.4,
      "hard_hit_edge": 0.4571,
      "whiff_edge": 0.7,
      "bb_edge": 1.0,
      "pitch_design_score": -0.0657
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "519242",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 98,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 98,
        "pitch_usage": 0.0,
        "release_speed": 88.67399153905109,
        "release_spin_rate": 2344.7057974290524,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 98,
          "pitch_usage": 0.0,
          "release_speed": 88.67399153905109,
          "release_spin_rate": 2344.7057974290524,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        }
      ],
      "summary": {
        "release_speed": 88.674,
        "release_spin_rate": 2344.7058,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.0657,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.4695,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -0.0
      },
      "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
    },
    "quality_score": 0.6702,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.943,
    "strikeout_factor": 1.0771,
    "walk_factor": 0.92,
    "homer_factor": 0.9163,
    "woba_minus_xwoba": -0.01,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "519242",
      "espn_id": 30948,
      "player_name": "Chris Sale",
      "team": "ATL",
      "role": "pitcher",
      "espn_rank": 9,
      "espn_total_ranked": 831,
      "metrics": {
        "espn_rank": 9,
        "gp_value": 23.0,
        "gp_rank": 316,
        "gs_value": 23.0,
        "gs_rank": 62,
        "qs_value": 16.0,
        "qs_rank": 5,
        "era_value": 2.2,
        "era_rank": 3.0,
        "w_value": 12.0,
        "w_rank": 12,
        "l_value": 9.0,
        "l_rank": 19,
        "sv_value": 0.0,
        "sv_rank": 241,
        "hld_value": 0.0,
        "hld_rank": 331,
        "ip_value": 135.0,
        "ip_rank": 47,
        "h_value": 111.0,
        "h_rank": 81,
        "er_value": 33.0,
        "er_rank": 162,
        "hr_value": 8.0,
        "hr_rank": 191,
        "bb_value": 28.0,
        "bb_rank": 161,
        "k_value": 166.0,
        "k_rank": 12,
        "k_per_9_value": 11.066667,
        "k_per_9_rank": 6.0,
        "whip_value": 1.0296,
        "whip_rank": 8.0,
        "war_value": 4.45,
        "war_rank": 1.0
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "808967",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 555.0,
      "k_percent": 24.9,
      "bb_percent": 6.0,
      "woba": 0.246,
      "xwoba": 0.27,
      "sweet_spot_percent": 30.2,
      "barrel_batted_rate": 6.3,
      "hard_hit_percent": 36.0,
      "avg_best_speed": 76.1384,
      "avg_hyper_speed": 93.7868,
      "whiff_percent": 26.3,
      "swing_percent": 48.8
    },
    "league_medians": {
      "pa": 123.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.316,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.4,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.8,
      "avg_best_speed": 77.614,
      "avg_hyper_speed": 93.9187,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.9093,
      "command_and_miss": 0.4014,
      "regression_edge": -0.6857,
      "xwoba_edge": 1.1714,
      "barrel_edge": 0.1778,
      "hard_hit_edge": 0.2571,
      "whiff_edge": 0.1571,
      "bb_edge": 0.8,
      "pitch_design_score": 0.0709
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "808967",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 100,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 100,
        "pitch_usage": 0.0,
        "release_speed": 91.11478597119859,
        "release_spin_rate": 2175.449780817317,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 100,
          "pitch_usage": 0.0,
          "release_speed": 91.11478597119859,
          "release_spin_rate": 2175.449780817317,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.1148,
        "release_spin_rate": 2175.4498,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.0709,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 0.5068,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -0.0
      },
      "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
    },
    "quality_score": 0.5507,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9532,
    "strikeout_factor": 1.0229,
    "walk_factor": 0.936,
    "homer_factor": 0.9403,
    "woba_minus_xwoba": -0.024,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "808967",
      "espn_id": 4872587,
      "player_name": "Yoshinobu Yamamoto",
      "team": "LAD",
      "role": "pitcher",
      "espn_rank": 10,
      "espn_total_ranked": 831,
      "metrics": {
        "espn_rank": 10,
        "gp_value": 23.0,
        "gp_rank": 316,
        "gs_value": 23.0,
        "gs_rank": 62,
        "qs_value": 18.0,
        "qs_rank": 2,
        "era_value": 2.6109,
        "era_rank": 6.0,
        "w_value": 12.0,
        "w_rank": 12,
        "l_value": 7.0,
        "l_rank": 69,
        "sv_value": 0.0,
        "sv_rank": 241,
        "hld_value": 0.0,
        "hld_rank": 331,
        "ip_value": 151.2,
        "ip_rank": 13,
        "h_value": 101.0,
        "h_rank": 96,
        "er_value": 44.0,
        "er_rank": 115,
        "hr_value": 15.0,
        "hr_rank": 70,
        "bb_value": 35.0,
        "bb_rank": 103,
        "k_value": 145.0,
        "k_rank": 24,
        "k_per_9_value": 8.604395,
        "k_per_9_rank": 49.0,
        "whip_value": 0.8967,
        "whip_rank": 2.0,
        "war_value": 4.33,
        "war_rank": 1.0
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.9667,
    "home_runs_vs_away_pitcher": 0.973,
    "home_pitcher_starter_only_factor": 0.943,
    "away_pitcher_starter_only_factor": 0.9532,
    "home_pitcher_workload_share": 0.6667,
    "away_pitcher_workload_share": 0.7037,
    "home_pitcher_quality_edge": 0.0593
  },
  "score_before": {
    "away_runs": 4.0,
    "home_runs": 2.0
  },
  "score_after": {
    "away_runs": 3.8667,
    "home_runs": 1.9459,
    "home_win_probability": 0.3378
  },
  "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 LAD7-30.7004.603.7091Laverageaverage
Home ATL4-60.4002.703.80-112Wcoldaverage

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away LAD80-520.6061501.136True
Home ATL77-550.5831110.841True
Signal---0.295-0.430applied=False

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-08-25LAD @ ATL3 - 4ATL1close
2026-05-10ATL @ LAD7 - 2ATL5blowout
2026-05-09ATL @ LAD7 - 2ATL5blowout
2026-05-08ATL @ LAD1 - 3LAD2close

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target LAD--4----
Game target ATL--3----
Player finalized LAD35851438
Player finalized ATL36851438
Player model fractional LAD33.238.054.651.104.293.277.51
Player model fractional ATL33.957.823.861.073.722.688.25
Simulation box LAD41841436
Simulation box ATL363333210

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 LADStarterYoshinobu Yamamoto6.1026222.751.02True
Away LADSetup ManEdgardo Henriquez100003.280.89True
Away LADCloserTanner Scott1.2011103.291.14True
Away LADMiddle Reliever (High Leverage)Brock Stewart000003.520.93True
Away LADRelieverEvan Phillips003004.071.43-
Home ATLStarterChris Sale626612.761.04True
Home ATLMiddle Reliever (High Leverage)Didier Fuentes100013.251.12True
Home ATLSetup ManDylan Lee100003.461.23True
Home ATLCloserRaisel Iglesias100004.171.53True
Home ATLMiddle RelieverBrent Suter020202.541.25True
Market-line comparison is not rendered because no local odds or sportsbook line CSV was found in data/. Add a real odds source before using market deltas as a model feature.

Player Boost/Deboost Impact Summary

SideTeamRolePosPlayerDominantChangedBoostedDeboostedBetterWorseLargest MetricLargest DeltaDirectionEffect
awayLADpitcherRelieverEvan Phillipsbetter22020predicted_SO3.0000boostbetter
homeATLpitcherStarterChris Salebetter31230predicted_SO3.0000boostbetter
awayLADbatter3BMax Muncybetter106464predicted_2B1.8420boostbetter
homeATLbatterCFMichael Harris IIboosted106455predicted_HR1.7600boostbetter
awayLADbatterCFAlek Thomasworse102837predicted_AB1.5700boostbetter
awayLADbatter1BFreddie Freemanbetter117483predicted_RBI1.5500boostbetter
homeATLbatterSSMauricio Dubónworse104637predicted_SO1.5000boostworse
awayLADbatterCHunter Feducciaworse114738predicted_AB1.4570boostbetter
homeATLbatterLFMike Yastrzemskiworse1129110predicted_AB1.3610boostbetter
awayLADbatterLFTeoscar Hernándezworse103746predicted_AB1.3200boostbetter
homeATLbatter1BMatt Olsonworse102837predicted_AB-1.1700deboostworse
awayLADbatterDHShohei Ohtaniworse1239210predicted_AB1.1490boostbetter
homeATLbatterDHDrake Baldwinworse1129110predicted_AB1.1300boostbetter
homeATLbatter2BOzzie Albiesworse92718predicted_H-1.1000deboostworse
homeATLpitcherCloserRaisel Iglesiasneutral21111predicted_IP1.1000boostbetter
homeATLbatterRFRonald Acuña Jr.deboosted104655predicted_SO-1.0380deboostbetter
homeATLpitcherMiddle Reliever (High Leverage)Didier Fuentesworse10101predicted_SO-1.0000deboostworse
homeATLpitcherSetup ManDylan Leebetter10110predicted_H-1.0000deboostbetter
homeATLpitcherMiddle RelieverBrent Suterworse44013predicted_ER1.0000boostworse
awayLADbatter2BTommy Edmandeboosted104655predicted_SO-0.8040deboostbetter
awayLADbatterRFKyle Tuckerworse105546predicted_H-0.7600deboostworse
homeATLbatterCSean Murphyworse1129110predicted_SO0.6920boostworse
homeATLbatter3BAustin Rileyworse91827predicted_H-0.6600deboostworse
awayLADbatterSSMookie Bettsworse112938predicted_RBI-0.6300deboostworse
awayLADpitcherMiddle Reliever (High Leverage)Brock Stewartbetter11010predicted_IP0.3333boostbetter
awayLADpitcherStarterYoshinobu Yamamotoworse10101predicted_IP-0.2333deboostworse
awayLADpitcherCloserTanner Scottbetter11010predicted_IP0.2000boostbetter

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

Away Team: LAD

Away Pitcher Deep Analysis

FieldValue
PitcherYoshinobu Yamamoto
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5507
ESPN Rank10
Movement AvailableTrue
Primary Pitch-
Movement Score0.0709
Avg Velo91.1148
Avg Spin2175.4498
HB Inches0
IVB Inches0
Release Extension0
Pre IP6.1000
Pre ER2
Pre H2
Pre BB2
Pre SO6
Season ERA2.6110
Season WHIP0.8967
Role Avg IP6.5940
Recent Avg IP6.4000
Last Start IP6.1000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "LAD",
    "games": 132,
    "wins": 80,
    "losses": 52,
    "win_pct": 0.6061,
    "runs_scored": 656.0,
    "runs_allowed": 506.0,
    "run_differential": 150.0,
    "run_differential_per_game": 1.1364,
    "avg_runs_scored": 4.9697,
    "avg_runs_allowed": 3.8333,
    "offense_index": 1.1094,
    "defense_index": 1.1686,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 3.7,
      "run_differential": 9.0
    },
    "available": true,
    "quality_score": 0.2997
  },
  "opponent": {
    "team": "ATL",
    "games": 132,
    "wins": 77,
    "losses": 55,
    "win_pct": 0.5833,
    "runs_scored": 618.0,
    "runs_allowed": 507.0,
    "run_differential": 111.0,
    "run_differential_per_game": 0.8409,
    "avg_runs_scored": 4.6818,
    "avg_runs_allowed": 3.8409,
    "offense_index": 1.0452,
    "defense_index": 1.1663,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 2.7,
      "avg_runs_allowed": 3.8,
      "run_differential": -11.0
    },
    "available": true,
    "quality_score": 0.1391
  },
  "edges": {
    "quality_edge": 0.1606,
    "offense_edge": 0.1094,
    "opponent_offense_edge": 0.0452,
    "defense_strength": 0.1686,
    "opponent_defense_weakness": -0.1663,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0097,
    "run_prevention": 0.9823,
    "strikeout": 1.0012
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "808967",
    "profile": {
      "available": true,
      "pitcher_id": "808967",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 555.0,
        "k_percent": 24.9,
        "bb_percent": 6.0,
        "woba": 0.246,
        "xwoba": 0.27,
        "sweet_spot_percent": 30.2,
        "barrel_batted_rate": 6.3,
        "hard_hit_percent": 36.0,
        "avg_best_speed": 76.1384,
        "avg_hyper_speed": 93.7868,
        "whiff_percent": 26.3,
        "swing_percent": 48.8
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.9093,
        "command_and_miss": 0.4014,
        "regression_edge": -0.6857,
        "xwoba_edge": 1.1714,
        "barrel_edge": 0.1778,
        "hard_hit_edge": 0.2571,
        "whiff_edge": 0.1571,
        "bb_edge": 0.8,
        "pitch_design_score": 0.0709
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "808967",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 100,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 100,
          "pitch_usage": 0.0,
          "release_speed": 91.11478597119859,
          "release_spin_rate": 2175.449780817317,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 100,
            "pitch_usage": 0.0,
            "release_speed": 91.11478597119859,
            "release_spin_rate": 2175.449780817317,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.1148,
          "release_spin_rate": 2175.4498,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0709,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.5068,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.5507,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9532,
      "strikeout_factor": 1.0229,
      "walk_factor": 0.936,
      "homer_factor": 0.9403,
      "woba_minus_xwoba": -0.024,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "808967",
        "espn_id": 4872587,
        "player_name": "Yoshinobu Yamamoto",
        "team": "LAD",
        "role": "pitcher",
        "espn_rank": 10,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 10,
          "gp_value": 23.0,
          "gp_rank": 316,
          "gs_value": 23.0,
          "gs_rank": 62,
          "qs_value": 18.0,
          "qs_rank": 2,
          "era_value": 2.6109,
          "era_rank": 6.0,
          "w_value": 12.0,
          "w_rank": 12,
          "l_value": 7.0,
          "l_rank": 69,
          "sv_value": 0.0,
          "sv_rank": 241,
          "hld_value": 0.0,
          "hld_rank": 331,
          "ip_value": 151.2,
          "ip_rank": 13,
          "h_value": 101.0,
          "h_rank": 96,
          "er_value": 44.0,
          "er_rank": 115,
          "hr_value": 15.0,
          "hr_rank": 70,
          "bb_value": 35.0,
          "bb_rank": 103,
          "k_value": 145.0,
          "k_rank": 24,
          "k_per_9_value": 8.604395,
          "k_per_9_rank": 49.0,
          "whip_value": 0.8967,
          "whip_rank": 2.0,
          "war_value": 4.33,
          "war_rank": 1.0
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 0.9532,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 4.0,
        "factor": 0.9532,
        "adjusted": 4
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.936,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9403,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 6.0,
        "factor": 1.0229,
        "adjusted": 6
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 66.0,
    "ER": 20,
    "H": 44,
    "BB": 20,
    "SO": 65,
    "HR": 5,
    "ERA": 2.727272727272727,
    "WHIP": 0.9696969696969697,
    "K9": 8.863636363636363,
    "HR9": 0.6818181818181818,
    "games_pitched": 10,
    "quality_starts": 8,
    "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-21T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "808967",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 100,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 100,
    "pitch_usage": 0.0,
    "release_speed": 91.11478597119859,
    "release_spin_rate": 2175.449780817317,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 100,
      "pitch_usage": 0.0,
      "release_speed": 91.11478597119859,
      "release_spin_rate": 2175.449780817317,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.1148,
    "release_spin_rate": 2175.4498,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0709,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.5068,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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",
  "pitcher_usage_role": "starter",
  "player_id": "808967",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 23,
  "reference_playing_time": 6.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 32.0,
        "ER": 7.0,
        "R": 7.0,
        "H": 21.0,
        "BB": 10.0,
        "SO": 32.0,
        "HR": 2.0,
        "BF": 128.0,
        "Pitches": 507.0
      },
      "per_game": {
        "IP": 6.1,
        "ER": 1.4,
        "R": 1.4,
        "H": 4.2,
        "BB": 2.0,
        "SO": 6.4,
        "HR": 0.4,
        "BF": 25.6,
        "Pitches": 101.4
      },
      "rates": {
        "ERA": 1.9688,
        "WHIP": 0.9688,
        "ER_per_IP": 0.21875,
        "H_per_IP": 0.65625,
        "BB_per_IP": 0.3125,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.0625
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 66.0,
        "ER": 20.0,
        "R": 20.0,
        "H": 44.0,
        "BB": 20.0,
        "SO": 65.0,
        "HR": 5.0,
        "BF": 260.0,
        "Pitches": 1003.0
      },
      "per_game": {
        "IP": 6.2,
        "ER": 2.0,
        "R": 2.0,
        "H": 4.4,
        "BB": 2.0,
        "SO": 6.5,
        "HR": 0.5,
        "BF": 26.0,
        "Pitches": 100.3
      },
      "rates": {
        "ERA": 2.7273,
        "WHIP": 0.9697,
        "ER_per_IP": 0.30303,
        "H_per_IP": 0.66667,
        "BB_per_IP": 0.30303,
        "SO_per_IP": 0.98485,
        "HR_per_IP": 0.07576
      }
    },
    "season": {
      "games": 23,
      "totals": {
        "IP": 151.2,
        "ER": 44.0,
        "R": 45.0,
        "H": 101.0,
        "BB": 35.0,
        "SO": 145.0,
        "HR": 15.0,
        "BF": 583.0,
        "Pitches": 2267.0
      },
      "per_game": {
        "IP": 6.2,
        "ER": 1.913,
        "R": 1.9565,
        "H": 4.3913,
        "BB": 1.5217,
        "SO": 6.3043,
        "HR": 0.6522,
        "BF": 25.3478,
        "Pitches": 98.5652
      },
      "rates": {
        "ERA": 2.611,
        "WHIP": 0.8967,
        "ER_per_IP": 0.29011,
        "H_per_IP": 0.66593,
        "BB_per_IP": 0.23077,
        "SO_per_IP": 0.95604,
        "HR_per_IP": 0.0989
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 6.1,
    "predicted_ER": 1.978,
    "predicted_H": 4.654,
    "predicted_BB": 1.986,
    "predicted_SO": 6.346,
    "predicted_HR": 0.566,
    "predicted_ERA": 2.7456,
    "predicted_WHIP": 1.024
  }
}
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,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "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": 6.1,
      "form": 6.1,
      "final": 6.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 1.978,
      "final": 1.9874,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 4.654,
      "final": 3.5248,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 1.986,
      "final": 1.992,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 6.0,
      "form": 6.346,
      "final": 6.1988,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 2.0,
      "form": 0.566,
      "final": 1.1761,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.7456,
      "final": 2.7456,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.024,
      "final": 1.024,
      "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
PitcherEdgardo Henriquez
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.8142
ESPN Rank260
Movement AvailableTrue
Primary Pitch-
Movement Score0.2800
Avg Velo96.3303
Avg Spin2583.2350
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA2.9051
Season WHIP1.0063
Role Avg IP1.0130
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "LAD",
    "games": 132,
    "wins": 80,
    "losses": 52,
    "win_pct": 0.6061,
    "runs_scored": 656.0,
    "runs_allowed": 506.0,
    "run_differential": 150.0,
    "run_differential_per_game": 1.1364,
    "avg_runs_scored": 4.9697,
    "avg_runs_allowed": 3.8333,
    "offense_index": 1.1094,
    "defense_index": 1.1686,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 3.7,
      "run_differential": 9.0
    },
    "available": true,
    "quality_score": 0.2997
  },
  "opponent": {
    "team": "ATL",
    "games": 132,
    "wins": 77,
    "losses": 55,
    "win_pct": 0.5833,
    "runs_scored": 618.0,
    "runs_allowed": 507.0,
    "run_differential": 111.0,
    "run_differential_per_game": 0.8409,
    "avg_runs_scored": 4.6818,
    "avg_runs_allowed": 3.8409,
    "offense_index": 1.0452,
    "defense_index": 1.1663,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 2.7,
      "avg_runs_allowed": 3.8,
      "run_differential": -11.0
    },
    "available": true,
    "quality_score": 0.1391
  },
  "edges": {
    "quality_edge": 0.1606,
    "offense_edge": 0.1094,
    "opponent_offense_edge": 0.0452,
    "defense_strength": 0.1686,
    "opponent_defense_weakness": -0.1663,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0097,
    "run_prevention": 0.9823,
    "strikeout": 1.0012
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "683618",
    "profile": {
      "available": true,
      "pitcher_id": "683618",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 197.0,
        "k_percent": 27.6,
        "bb_percent": 11.0,
        "woba": 0.243,
        "xwoba": 0.247,
        "sweet_spot_percent": 24.2,
        "barrel_batted_rate": 2.4,
        "hard_hit_percent": 25.8,
        "avg_best_speed": 70.9946,
        "avg_hyper_speed": 92.0486,
        "whiff_percent": 29.8,
        "swing_percent": 48.6
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.5934,
        "command_and_miss": 0.5,
        "regression_edge": -0.1143,
        "xwoba_edge": 1.8286,
        "barrel_edge": 1.0444,
        "hard_hit_edge": 1.7143,
        "whiff_edge": 0.6571,
        "bb_edge": -0.45,
        "pitch_design_score": 0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "683618",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 10,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 10,
          "pitch_usage": 0.0,
          "release_speed": 96.33031735716177,
          "release_spin_rate": 2583.2350024597267,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 10,
            "pitch_usage": 0.0,
            "release_speed": 96.33031735716177,
            "release_spin_rate": 2583.2350024597267,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 96.3303,
          "release_spin_rate": 2583.235,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.8142,
      "sample_weight": 0.788,
      "run_prevention_factor": 0.9308,
      "strikeout_factor": 1.0459,
      "walk_factor": 1.0284,
      "homer_factor": 0.8369,
      "woba_minus_xwoba": -0.004,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "683618",
        "espn_id": 5194684,
        "player_name": "Edgardo Henriquez",
        "team": "LAD",
        "role": "pitcher",
        "espn_rank": 260,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 260,
          "gp_value": 52.0,
          "gp_rank": 65,
          "gs_value": 1.0,
          "gs_rank": 290,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 2.905,
          "era_rank": null,
          "w_value": 4.0,
          "w_rank": 175,
          "l_value": 1.0,
          "l_rank": 403,
          "sv_value": 1.0,
          "sv_rank": 128,
          "hld_value": 9.0,
          "hld_rank": 89,
          "ip_value": 52.2,
          "ip_rank": 253,
          "h_value": 30.0,
          "h_rank": 383,
          "er_value": 17.0,
          "er_rank": 341,
          "hr_value": 1.0,
          "hr_rank": 584,
          "bb_value": 23.0,
          "bb_rank": 221,
          "k_value": 58.0,
          "k_rank": 209,
          "k_per_9_value": 9.911392,
          "k_per_9_rank": 22.0,
          "whip_value": 1.0063,
          "whip_rank": null,
          "war_value": 0.44,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9455,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9455,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0224,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.8715,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0362,
        "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": 4,
    "BB": 4,
    "SO": 15,
    "HR": 0,
    "ERA": 3.724137931034482,
    "WHIP": 0.8275862068965516,
    "K9": 13.965517241379308,
    "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-23T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "683618",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 10,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 10,
    "pitch_usage": 0.0,
    "release_speed": 96.33031735716177,
    "release_spin_rate": 2583.2350024597267,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 10,
      "pitch_usage": 0.0,
      "release_speed": 96.33031735716177,
      "release_spin_rate": 2583.2350024597267,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 96.3303,
    "release_spin_rate": 2583.235,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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": 10.57,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6789,
    "prior_weight": 0.3211
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "683618",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 52,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 1.0,
        "BB": 1.0,
        "SO": 7.0,
        "HR": 0.0,
        "BF": 17.0,
        "Pitches": 68.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.2,
        "BB": 0.2,
        "SO": 1.4,
        "HR": 0.0,
        "BF": 3.4,
        "Pitches": 13.6
      },
      "rates": {
        "ERA": 1.8,
        "WHIP": 0.4,
        "ER_per_IP": 0.2,
        "H_per_IP": 0.2,
        "BB_per_IP": 0.2,
        "SO_per_IP": 1.4,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.2,
        "ER": 4.0,
        "R": 4.0,
        "H": 4.0,
        "BB": 4.0,
        "SO": 15.0,
        "HR": 0.0,
        "BF": 37.0,
        "Pitches": 149.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.4,
        "BB": 0.4,
        "SO": 1.5,
        "HR": 0.0,
        "BF": 3.7,
        "Pitches": 14.9
      },
      "rates": {
        "ERA": 3.7241,
        "WHIP": 0.8276,
        "ER_per_IP": 0.41379,
        "H_per_IP": 0.41379,
        "BB_per_IP": 0.41379,
        "SO_per_IP": 1.55172,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 52,
      "totals": {
        "IP": 52.2,
        "ER": 17.0,
        "R": 23.0,
        "H": 30.0,
        "BB": 23.0,
        "SO": 58.0,
        "HR": 1.0,
        "BF": 210.0,
        "Pitches": 835.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3269,
        "R": 0.4423,
        "H": 0.5769,
        "BB": 0.4423,
        "SO": 1.1154,
        "HR": 0.0192,
        "BF": 4.0385,
        "Pitches": 16.0577
      },
      "rates": {
        "ERA": 2.9051,
        "WHIP": 1.0063,
        "ER_per_IP": 0.32278,
        "H_per_IP": 0.56962,
        "BB_per_IP": 0.43671,
        "SO_per_IP": 1.10127,
        "HR_per_IP": 0.01899
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.364,
    "predicted_H": 0.55,
    "predicted_BB": 0.337,
    "predicted_SO": 1.25,
    "predicted_HR": 0.05,
    "predicted_ERA": 3.2762,
    "predicted_WHIP": 0.8866
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4857,
  "form_weight": 0.5143,
  "form_reliability": 0.6789,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.57,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6789,
    "prior_weight": 0.3211
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.364,
      "final": 0.1872,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.55,
      "final": 0.2829,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.337,
      "final": 0.1733,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.25,
      "final": 0.6429,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.05,
      "final": 0.0257,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.2762,
      "final": 3.2762,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.8866,
      "final": 0.8866,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherTanner Scott
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5500
ESPN Rank85
Movement AvailableTrue
Primary Pitch-
Movement Score0.1789
Avg Velo93.0416
Avg Spin2601.5373
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.2000
Pre ER1
Pre H1
Pre BB0
Pre SO1
Season ERA2.3625
Season WHIP0.9187
Role Avg IP0.9360
Recent Avg IP1.0670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "LAD",
    "games": 132,
    "wins": 80,
    "losses": 52,
    "win_pct": 0.6061,
    "runs_scored": 656.0,
    "runs_allowed": 506.0,
    "run_differential": 150.0,
    "run_differential_per_game": 1.1364,
    "avg_runs_scored": 4.9697,
    "avg_runs_allowed": 3.8333,
    "offense_index": 1.1094,
    "defense_index": 1.1686,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 3.7,
      "run_differential": 9.0
    },
    "available": true,
    "quality_score": 0.2997
  },
  "opponent": {
    "team": "ATL",
    "games": 132,
    "wins": 77,
    "losses": 55,
    "win_pct": 0.5833,
    "runs_scored": 618.0,
    "runs_allowed": 507.0,
    "run_differential": 111.0,
    "run_differential_per_game": 0.8409,
    "avg_runs_scored": 4.6818,
    "avg_runs_allowed": 3.8409,
    "offense_index": 1.0452,
    "defense_index": 1.1663,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 2.7,
      "avg_runs_allowed": 3.8,
      "run_differential": -11.0
    },
    "available": true,
    "quality_score": 0.1391
  },
  "edges": {
    "quality_edge": 0.1606,
    "offense_edge": 0.1094,
    "opponent_offense_edge": 0.0452,
    "defense_strength": 0.1686,
    "opponent_defense_weakness": -0.1663,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0097,
    "run_prevention": 0.9823,
    "strikeout": 1.0012
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "656945",
    "profile": {
      "available": true,
      "pitcher_id": "656945",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 192.0,
        "k_percent": 31.2,
        "bb_percent": 5.4,
        "woba": 0.242,
        "xwoba": 0.272,
        "sweet_spot_percent": 36.4,
        "barrel_batted_rate": 7.0,
        "hard_hit_percent": 32.6,
        "avg_best_speed": 77.1973,
        "avg_hyper_speed": 93.2364,
        "whiff_percent": 34.9,
        "swing_percent": 55.9
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.8183,
        "command_and_miss": 1.2664,
        "regression_edge": -0.8571,
        "xwoba_edge": 1.1143,
        "barrel_edge": 0.0222,
        "hard_hit_edge": 0.7429,
        "whiff_edge": 1.3857,
        "bb_edge": 0.95,
        "pitch_design_score": 0.1789
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "656945",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 14,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 14,
          "pitch_usage": 0.0,
          "release_speed": 93.04164005269782,
          "release_spin_rate": 2601.5372963297136,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 14,
            "pitch_usage": 0.0,
            "release_speed": 93.04164005269782,
            "release_spin_rate": 2601.5372963297136,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0416,
          "release_spin_rate": 2601.5373,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1789,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.2775,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.55,
      "sample_weight": 0.768,
      "run_prevention_factor": 0.9533,
      "strikeout_factor": 1.0829,
      "walk_factor": 0.9416,
      "homer_factor": 0.9501,
      "woba_minus_xwoba": -0.03,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "656945",
        "espn_id": 35135,
        "player_name": "Tanner Scott",
        "team": "LAD",
        "role": "pitcher",
        "espn_rank": 85,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 85,
          "gp_value": 57.0,
          "gp_rank": 28,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 2.3625,
          "era_rank": null,
          "w_value": 1.0,
          "w_rank": 387,
          "l_value": 4.0,
          "l_rank": 162,
          "sv_value": 19.0,
          "sv_rank": 15,
          "hld_value": 12.0,
          "hld_rank": 50,
          "ip_value": 53.1,
          "ip_rank": 245,
          "h_value": 38.0,
          "h_rank": 315,
          "er_value": 14.0,
          "er_rank": 403,
          "hr_value": 4.0,
          "hr_rank": 347,
          "bb_value": 11.0,
          "bb_rank": 431,
          "k_value": 64.0,
          "k_rank": 179,
          "k_per_9_value": 10.8,
          "k_per_9_rank": 19.0,
          "whip_value": 0.9187,
          "whip_rank": null,
          "war_value": 1.76,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9641,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9641,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9551,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9617,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0637,
        "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": 2,
    "H": 7,
    "BB": 4,
    "SO": 7,
    "HR": 0,
    "ERA": 2.076923076923077,
    "WHIP": 1.2692307692307694,
    "K9": 7.26923076923077,
    "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-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "656945",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 14,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 14,
    "pitch_usage": 0.0,
    "release_speed": 93.04164005269782,
    "release_spin_rate": 2601.5372963297136,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 14,
      "pitch_usage": 0.0,
      "release_speed": 93.04164005269782,
      "release_spin_rate": 2601.5372963297136,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0416,
    "release_spin_rate": 2601.5373,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1789,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.2775,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.704,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6816,
    "prior_weight": 0.3184
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "656945",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 57,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 5.0,
        "BB": 0.0,
        "SO": 4.0,
        "HR": 0.0,
        "BF": 21.0,
        "Pitches": 75.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.0,
        "BB": 0.0,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 4.2,
        "Pitches": 15.0
      },
      "rates": {
        "ERA": 3.375,
        "WHIP": 0.9375,
        "ER_per_IP": 0.375,
        "H_per_IP": 0.9375,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.75,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.2,
        "ER": 2.0,
        "R": 2.0,
        "H": 7.0,
        "BB": 4.0,
        "SO": 7.0,
        "HR": 0.0,
        "BF": 36.0,
        "Pitches": 137.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.7,
        "BB": 0.4,
        "SO": 0.7,
        "HR": 0.0,
        "BF": 3.6,
        "Pitches": 13.7
      },
      "rates": {
        "ERA": 2.0769,
        "WHIP": 1.2692,
        "ER_per_IP": 0.23077,
        "H_per_IP": 0.80769,
        "BB_per_IP": 0.46154,
        "SO_per_IP": 0.80769,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 57,
      "totals": {
        "IP": 53.1,
        "ER": 14.0,
        "R": 14.0,
        "H": 38.0,
        "BB": 11.0,
        "SO": 64.0,
        "HR": 4.0,
        "BF": 205.0,
        "Pitches": 784.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2456,
        "R": 0.2456,
        "H": 0.6667,
        "BB": 0.193,
        "SO": 1.1228,
        "HR": 0.0702,
        "BF": 3.5965,
        "Pitches": 13.7544
      },
      "rates": {
        "ERA": 2.3625,
        "WHIP": 0.9187,
        "ER_per_IP": 0.2625,
        "H_per_IP": 0.7125,
        "BB_per_IP": 0.20625,
        "SO_per_IP": 1.2,
        "HR_per_IP": 0.075
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.365,
    "predicted_H": 0.888,
    "predicted_BB": 0.255,
    "predicted_SO": 0.887,
    "predicted_HR": 0.057,
    "predicted_ERA": 3.2875,
    "predicted_WHIP": 1.143
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4845,
  "form_weight": 0.5155,
  "form_reliability": 0.6816,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.704,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6816,
    "prior_weight": 0.3184
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.365,
      "final": 0.6727,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.888,
      "final": 0.9423,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.255,
      "final": 0.1314,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.887,
      "final": 0.9418,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.057,
      "final": 0.5139,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.2875,
      "final": 3.2875,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.143,
      "final": 1.143,
      "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
PitcherBrock Stewart
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5957
ESPN Rank268
Movement AvailableTrue
Primary Pitch-
Movement Score0.0762
Avg Velo91.2086
Avg Spin2358.8542
HB Inches0
IVB Inches0
Release Extension0
Pre IP0
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA2.0769
Season WHIP0.6346
Role Avg IP1.0200
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "LAD",
    "games": 132,
    "wins": 80,
    "losses": 52,
    "win_pct": 0.6061,
    "runs_scored": 656.0,
    "runs_allowed": 506.0,
    "run_differential": 150.0,
    "run_differential_per_game": 1.1364,
    "avg_runs_scored": 4.9697,
    "avg_runs_allowed": 3.8333,
    "offense_index": 1.1094,
    "defense_index": 1.1686,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 3.7,
      "run_differential": 9.0
    },
    "available": true,
    "quality_score": 0.2997
  },
  "opponent": {
    "team": "ATL",
    "games": 132,
    "wins": 77,
    "losses": 55,
    "win_pct": 0.5833,
    "runs_scored": 618.0,
    "runs_allowed": 507.0,
    "run_differential": 111.0,
    "run_differential_per_game": 0.8409,
    "avg_runs_scored": 4.6818,
    "avg_runs_allowed": 3.8409,
    "offense_index": 1.0452,
    "defense_index": 1.1663,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 2.7,
      "avg_runs_allowed": 3.8,
      "run_differential": -11.0
    },
    "available": true,
    "quality_score": 0.1391
  },
  "edges": {
    "quality_edge": 0.1606,
    "offense_edge": 0.1094,
    "opponent_offense_edge": 0.0452,
    "defense_strength": 0.1686,
    "opponent_defense_weakness": -0.1663,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0097,
    "run_prevention": 0.9823,
    "strikeout": 1.0012
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "592779",
    "profile": {
      "available": true,
      "pitcher_id": "592779",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 58.0,
        "k_percent": 28.6,
        "bb_percent": 7.9,
        "woba": 0.183,
        "xwoba": 0.199,
        "sweet_spot_percent": 20.0,
        "barrel_batted_rate": 2.5,
        "hard_hit_percent": 20.0,
        "avg_best_speed": 66.9134,
        "avg_hyper_speed": 91.5908,
        "whiff_percent": 29.9,
        "swing_percent": 48.3
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 2.0983,
        "command_and_miss": 0.7243,
        "regression_edge": -0.4571,
        "xwoba_edge": 2.5,
        "barrel_edge": 1.0222,
        "hard_hit_edge": 2.5,
        "whiff_edge": 0.6714,
        "bb_edge": 0.325,
        "pitch_design_score": 0.0762
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "592779",
        "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.20855439802854,
          "release_spin_rate": 2358.8541913259155,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.20855439802854,
            "release_spin_rate": 2358.8541913259155,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.2086,
          "release_spin_rate": 2358.8542,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0762,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.5443,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.5957,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9494,
      "strikeout_factor": 1.0291,
      "walk_factor": 0.9883,
      "homer_factor": 0.8844,
      "woba_minus_xwoba": -0.016,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "592779",
        "espn_id": 35997,
        "player_name": "Brock Stewart",
        "team": "LAD",
        "role": "pitcher",
        "espn_rank": 268,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 268,
          "gp_value": 17.0,
          "gp_rank": 405,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 2.0769,
          "era_rank": null,
          "w_value": 0.0,
          "w_rank": 507,
          "l_value": 1.0,
          "l_rank": 403,
          "sv_value": 1.0,
          "sv_rank": 128,
          "hld_value": 6.0,
          "hld_rank": 136,
          "ip_value": 17.1,
          "ip_rank": 513,
          "h_value": 6.0,
          "h_rank": 670,
          "er_value": 4.0,
          "er_rank": 654,
          "hr_value": 2.0,
          "hr_rank": 486,
          "bb_value": 5.0,
          "bb_rank": 597,
          "k_value": 18.0,
          "k_rank": 482,
          "k_per_9_value": 9.346153,
          "k_per_9_rank": 25.0,
          "whip_value": 0.6346,
          "whip_rank": null,
          "war_value": 0.4,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9772,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9772,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9947,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.948,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0131,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 10.2,
    "ER": 3,
    "H": 2,
    "BB": 2,
    "SO": 13,
    "HR": 1,
    "ERA": 2.53125,
    "WHIP": 0.375,
    "K9": 10.96875,
    "HR9": 0.84375,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-23T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "592779",
  "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.20855439802854,
    "release_spin_rate": 2358.8541913259155,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.20855439802854,
      "release_spin_rate": 2358.8541913259155,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.2086,
    "release_spin_rate": 2358.8542,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0762,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.5443,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": 3.479,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4103,
    "prior_weight": 0.5897
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "592779",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 17,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 1.0,
        "BB": 0.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 16.0,
        "Pitches": 58.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.2,
        "BB": 0.0,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 3.2,
        "Pitches": 11.6
      },
      "rates": {
        "ERA": 1.8,
        "WHIP": 0.2,
        "ER_per_IP": 0.2,
        "H_per_IP": 0.2,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.2,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.2,
        "ER": 3.0,
        "R": 4.0,
        "H": 2.0,
        "BB": 2.0,
        "SO": 13.0,
        "HR": 1.0,
        "BF": 37.0,
        "Pitches": 145.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3,
        "R": 0.4,
        "H": 0.2,
        "BB": 0.2,
        "SO": 1.3,
        "HR": 0.1,
        "BF": 3.7,
        "Pitches": 14.5
      },
      "rates": {
        "ERA": 2.5312,
        "WHIP": 0.375,
        "ER_per_IP": 0.28125,
        "H_per_IP": 0.1875,
        "BB_per_IP": 0.1875,
        "SO_per_IP": 1.21875,
        "HR_per_IP": 0.09375
      }
    },
    "season": {
      "games": 17,
      "totals": {
        "IP": 17.1,
        "ER": 4.0,
        "R": 5.0,
        "H": 6.0,
        "BB": 5.0,
        "SO": 18.0,
        "HR": 2.0,
        "BF": 63.0,
        "Pitches": 242.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2353,
        "R": 0.2941,
        "H": 0.3529,
        "BB": 0.2941,
        "SO": 1.0588,
        "HR": 0.1176,
        "BF": 3.7059,
        "Pitches": 14.2353
      },
      "rates": {
        "ERA": 2.0769,
        "WHIP": 0.6346,
        "ER_per_IP": 0.23077,
        "H_per_IP": 0.34615,
        "BB_per_IP": 0.28846,
        "SO_per_IP": 1.03846,
        "HR_per_IP": 0.11538
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.315,
    "predicted_H": 0.536,
    "predicted_BB": 0.215,
    "predicted_SO": 0.835,
    "predicted_HR": 0.088,
    "predicted_ERA": 3.5236,
    "predicted_WHIP": 0.9345
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5991,
  "form_weight": 0.4009,
  "form_reliability": 0.4103,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.479,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4103,
    "prior_weight": 0.5897
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.315,
      "final": 0.1263,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.536,
      "final": 0.2149,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.215,
      "final": 0.0862,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.835,
      "final": 0.3347,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.088,
      "final": 0.0353,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.5236,
      "final": 3.5236,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9345,
      "final": 0.9345,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherEvan Phillips
RoleReliever
Projection Source-
Savant Quality Score-0.1791
ESPN Rank584
Movement AvailableTrue
Primary Pitch-
Movement Score0.1331
Avg Velo92.2250
Avg Spin2476.6598
HB Inches0
IVB Inches0
Release Extension0
Pre IP0
Pre ER0
Pre H0
Pre BB0
Pre SO3
Season ERA-
Season WHIP-
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "available": false,
  "reason": "No team-form snapshot was stored for this pitcher row.",
  "display_fallback": "Use the game-level Team Form Snapshot section for team context."
}
Recent Form Pitching
{
  "available": false,
  "reason": "No pitcher-specific recent-form block was stored for this row.",
  "display_fallback": "Use Player Form Blend windows for last-5, last-10, and season pitcher form."
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "623465",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 13,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 13,
    "pitch_usage": 0.0,
    "release_speed": 92.22496682499596,
    "release_spin_rate": 2476.659787535357,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 13,
      "pitch_usage": 0.0,
      "release_speed": 92.22496682499596,
      "release_spin_rate": 2476.659787535357,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.225,
    "release_spin_rate": 2476.6598,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1331,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.9508,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": 3.144,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.3861,
    "prior_weight": 0.6139
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "623465",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 20,
  "reference_playing_time": 0.1,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 3.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 4.0,
        "BB": 2.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 16.0,
        "Pitches": 64.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.8,
        "BB": 0.4,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 3.2,
        "Pitches": 12.8
      },
      "rates": {
        "ERA": 2.4545,
        "WHIP": 1.6364,
        "ER_per_IP": 0.27273,
        "H_per_IP": 1.09091,
        "BB_per_IP": 0.54545,
        "SO_per_IP": 1.36364,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 7.0,
        "ER": 3.0,
        "R": 4.0,
        "H": 8.0,
        "BB": 3.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 31.0,
        "Pitches": 130.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.3,
        "R": 0.4,
        "H": 0.8,
        "BB": 0.3,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 3.1,
        "Pitches": 13.0
      },
      "rates": {
        "ERA": 3.8571,
        "WHIP": 1.5714,
        "ER_per_IP": 0.42857,
        "H_per_IP": 1.14286,
        "BB_per_IP": 0.42857,
        "SO_per_IP": 1.14286,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 20,
      "totals": {
        "IP": 15.2,
        "ER": 8.0,
        "R": 9.0,
        "H": 17.0,
        "BB": 5.0,
        "SO": 17.0,
        "HR": 4.0,
        "BF": 68.0,
        "Pitches": 276.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.4,
        "R": 0.45,
        "H": 0.85,
        "BB": 0.25,
        "SO": 0.85,
        "HR": 0.2,
        "BF": 3.4,
        "Pitches": 13.8
      },
      "rates": {
        "ERA": 4.5957,
        "WHIP": 1.4043,
        "ER_per_IP": 0.51064,
        "H_per_IP": 1.08511,
        "BB_per_IP": 0.31915,
        "SO_per_IP": 1.08511,
        "HR_per_IP": 0.25532
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.1,
    "predicted_ER": 0.209,
    "predicted_H": 0.474,
    "predicted_BB": 0.186,
    "predicted_SO": 0.488,
    "predicted_HR": 0.051,
    "predicted_ERA": 4.069,
    "predicted_WHIP": 1.4293
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.6094,
  "form_weight": 0.3906,
  "form_reliability": 0.3861,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.144,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.3861,
    "prior_weight": 0.6139
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.1,
      "form": 0.1,
      "final": 0.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.209,
      "final": 0.0816,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.474,
      "final": 0.1852,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.186,
      "final": 0.0727,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.488,
      "final": 0.1906,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.051,
      "final": 0.0199,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.069,
      "final": 4.069,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4293,
      "final": 1.4293,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
Shohei Ohtani (660271) · BATTER · DH · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 546
All-history rows before 20260827: 546
System season_avg: 0.2850
Data season_avg (2026 season-to-date): 0.2933
Diff (system - data): -0.0083
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.1900.0000.000Hitting_2B0.1961.000-0.196-1.000
predicted_3B0.0331.0000.000Hitting_3B0.0290.0000.9711.000
predicted_AB3.8515.0004.000Hitting_AB3.9085.0001.0920.000
predicted_AVG0.2850.2000.250Hitting_AVG0.2930.400-0.093-0.200
predicted_BB0.6280.0001.000Hitting_BB0.6340.000-0.6340.000
predicted_CS-0.0000.000BaseRunning_CS0.0240.000-0.0240.000
predicted_H1.0991.0001.000Hitting_H1.1472.000-0.147-1.000
predicted_HR0.2480.0001.000Hitting_HR0.2550.000-0.2550.000
predicted_OBP0.3860.2000.400Hitting_OBP0.3930.400-0.193-0.200
predicted_R0.6940.0001.000Hitting_R0.7091.000-0.709-1.000
predicted_RBI0.6450.0001.000Hitting_RBI0.6960.000-0.6960.000
predicted_SLG0.5450.6001.000Hitting_SLG0.5540.6000.0460.000
predicted_SO1.0662.0001.000Hitting_SO1.0791.0000.9211.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics3
Deboosted Metrics9
Better Metrics2
Worse Metrics10
Biggest Boostpredicted_AB: 3.8510 -> 5.0000 (boost 1.1490, better)
Biggest Deboostpredicted_R: 0.6940 -> 0.0000 (deboost -0.6940, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend50505-predicted_H: 1.0990 -> 1.0190 (deboost -0.0800, worse)Final model input calibrated 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_scaling73443predicted_RBI: 0.5963 -> 1.0000 (boost 0.4037, better)predicted_HR: 0.2290 -> 0.0000 (deboost -0.2290, worse)AB rounded to 4 (raw=3.85), rates preserved: AVG=0.268 HR/AB=0.059
5bvp_blend00000--Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.273)
6consistency_constraints11010predicted_R: 0.7076 -> 1.0000 (boost 0.2924, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation11010predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context20202-predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference63324predicted_3B: 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
10current_json_final11010predicted_SLG: 0.5000 -> 0.5215 (boost 0.0215, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "660271",
  "player_name": "Shohei Ohtani",
  "position": "DH",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.19,
        "predicted_3B": 0.033,
        "predicted_AB": 3.851,
        "predicted_AVG": 0.285,
        "predicted_BB": 0.628,
        "predicted_H": 1.099,
        "predicted_HR": 0.248,
        "predicted_OBP": 0.386,
        "predicted_R": 0.694,
        "predicted_RBI": 0.645,
        "predicted_SLG": 0.545,
        "predicted_SO": 1.066
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1578,
        "predicted_3B": 0.0608,
        "predicted_AB": 3.8332,
        "predicted_AVG": 0.2654,
        "predicted_BB": 0.6758,
        "predicted_H": 1.019,
        "predicted_HBP": 0.025,
        "predicted_HR": 0.228,
        "predicted_OBP": 0.3771,
        "predicted_R": 0.6901,
        "predicted_RBI": 0.5815,
        "predicted_SLG": 0.5169,
        "predicted_SO": 1.1017
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.19,
          "after": 0.1578,
          "delta": -0.0322,
          "percent_delta": -0.1695,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.033,
          "after": 0.0608,
          "delta": 0.0278,
          "percent_delta": 0.8424,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.851,
          "after": 3.8332,
          "delta": -0.0178,
          "percent_delta": -0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.285,
          "after": 0.2654,
          "delta": -0.0196,
          "percent_delta": -0.0688,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.628,
          "after": 0.6758,
          "delta": 0.0478,
          "percent_delta": 0.0761,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.099,
          "after": 1.019,
          "delta": -0.08,
          "percent_delta": -0.0728,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.248,
          "after": 0.228,
          "delta": -0.02,
          "percent_delta": -0.0806,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.386,
          "after": 0.3771,
          "delta": -0.0089,
          "percent_delta": -0.0231,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.694,
          "after": 0.6901,
          "delta": -0.0039,
          "percent_delta": -0.0056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.645,
          "after": 0.5815,
          "delta": -0.0635,
          "percent_delta": -0.0984,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.545,
          "after": 0.5169,
          "delta": -0.0281,
          "percent_delta": -0.0516,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.066,
          "after": 1.1017,
          "delta": 0.0357,
          "percent_delta": 0.0335,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.099,
          "after": 1.019,
          "delta": -0.08,
          "percent_delta": -0.0728,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 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.1578,
        "predicted_3B": 0.0608,
        "predicted_AB": 3.8332,
        "predicted_AVG": 0.2693,
        "predicted_BB": 0.682,
        "predicted_H": 1.0323,
        "predicted_HBP": 0.025,
        "predicted_HR": 0.229,
        "predicted_OBP": 0.3797,
        "predicted_R": 0.7076,
        "predicted_RBI": 0.5963,
        "predicted_SLG": 0.5215,
        "predicted_SO": 1.0916
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1578,
          "after": 0.1578,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0608,
          "after": 0.0608,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8332,
          "after": 3.8332,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2654,
          "after": 0.2693,
          "delta": 0.0039,
          "percent_delta": 0.0147,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6758,
          "after": 0.682,
          "delta": 0.0062,
          "percent_delta": 0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.019,
          "after": 1.0323,
          "delta": 0.0133,
          "percent_delta": 0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.025,
          "after": 0.025,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.228,
          "after": 0.229,
          "delta": 0.001,
          "percent_delta": 0.0044,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3771,
          "after": 0.3797,
          "delta": 0.0026,
          "percent_delta": 0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6901,
          "after": 0.7076,
          "delta": 0.0175,
          "percent_delta": 0.0254,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5815,
          "after": 0.5963,
          "delta": 0.0148,
          "percent_delta": 0.0255,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5169,
          "after": 0.5215,
          "delta": 0.0046,
          "percent_delta": 0.0089,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.1017,
          "after": 1.0916,
          "delta": -0.0101,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.268 HR/AB=0.059",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1578,
          "after": 0.0,
          "delta": -0.1578,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0608,
          "after": 0.0,
          "delta": -0.0608,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.8332,
          "after": 4.0,
          "delta": 0.1668,
          "percent_delta": 0.0435,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.682,
          "after": 1.0,
          "delta": 0.318,
          "percent_delta": 0.4663,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0323,
          "after": 1.0,
          "delta": -0.0323,
          "percent_delta": -0.0313,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.025,
          "after": 0.0,
          "delta": -0.025,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.229,
          "after": 0.0,
          "delta": -0.229,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5963,
          "after": 1.0,
          "delta": 0.4037,
          "percent_delta": 0.677,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0916,
          "after": 1.0,
          "delta": -0.0916,
          "percent_delta": -0.0839,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 4,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5963,
          "after": 1.0,
          "delta": 0.4037,
          "percent_delta": 0.677,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.229,
          "after": 0.0,
          "delta": -0.229,
          "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": 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.8927,
        "bvp": 0.1073
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 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.7076,
          "after": 1.0,
          "delta": 0.2924,
          "percent_delta": 0.4132,
          "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.7076,
          "after": 1.0,
          "delta": 0.2924,
          "percent_delta": 0.4132,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "embedded_savant_player_context",
      "description": "Player 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.269,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.378,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.5,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2693,
          "after": 0.269,
          "delta": -0.0003,
          "percent_delta": -0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3797,
          "after": 0.378,
          "delta": -0.0017,
          "percent_delta": -0.0045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5215,
          "after": 0.5,
          "delta": -0.0215,
          "percent_delta": -0.0412,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 1.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2693,
        "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.3797,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5215,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.269,
          "after": 0.2693,
          "delta": 0.0003,
          "percent_delta": 0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.378,
          "after": 0.3797,
          "delta": 0.0017,
          "percent_delta": 0.0045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5,
          "after": 0.5215,
          "delta": 0.0215,
          "percent_delta": 0.0429,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.5,
          "after": 0.5215,
          "delta": 0.0215,
          "percent_delta": 0.0429,
          "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.19,
        "after": 0.0,
        "delta": -0.19,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.033,
        "after": 1.0,
        "delta": 0.967,
        "percent_delta": 29.303,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.851,
        "after": 5.0,
        "delta": 1.149,
        "percent_delta": 0.2984,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.285,
        "after": 0.2693,
        "delta": -0.0157,
        "percent_delta": -0.0551,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.628,
        "after": 0.0,
        "delta": -0.628,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.099,
        "after": 1.0,
        "delta": -0.099,
        "percent_delta": -0.0901,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.248,
        "after": 0.0,
        "delta": -0.248,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.386,
        "after": 0.3797,
        "delta": -0.0063,
        "percent_delta": -0.0163,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.694,
        "after": 0.0,
        "delta": -0.694,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.645,
        "after": 0.0,
        "delta": -0.645,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.545,
        "after": 0.5215,
        "delta": -0.0235,
        "percent_delta": -0.0431,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.066,
        "after": 2.0,
        "delta": 0.934,
        "percent_delta": 0.8762,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 3,
      "deboosted_metrics": 9,
      "better_metrics": 2,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.851,
        "after": 5.0,
        "delta": 1.149,
        "percent_delta": 0.2984,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.694,
        "after": 0.0,
        "delta": -0.694,
        "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.190-
predicted_3B0.033-
predicted_AB3.851-
predicted_AVG0.285-
predicted_BB0.628-
predicted_H1.099-
predicted_HR0.248-
predicted_OBP0.386-
predicted_R0.694-
predicted_RBI0.645-
predicted_SLG0.545-
predicted_SO1.066-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.158-0.032
predicted_3B0.0610.028
predicted_AB3.833-0.018
predicted_AVG0.265-0.020
predicted_BB0.6760.048
predicted_H1.019-0.080
predicted_HBP0.025-
predicted_HR0.228-0.020
predicted_OBP0.377-0.009
predicted_R0.690-0.004
predicted_RBI0.582-0.064
predicted_SLG0.517-0.028
predicted_SO1.1020.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.1580.000
predicted_3B0.0610.000
predicted_AB3.8330.000
predicted_AVG0.2690.004
predicted_BB0.6820.006
predicted_H1.0320.013
predicted_HBP0.0250.000
predicted_HR0.2290.001
predicted_OBP0.3800.003
predicted_R0.7080.017
predicted_RBI0.5960.015
predicted_SLG0.5210.005
predicted_SO1.092-0.010
4. ab_floor_and_scaling

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

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
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
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. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
H1.0000.000
HR1.0001.000
R1.0000.000
RBI1.0000.000
SO1.0000.000
8. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.158
predicted_3B0.000-0.061
predicted_AB4.0000.167
predicted_AVG0.269-0.000
predicted_BB1.0000.318
predicted_H1.000-0.032
predicted_HR0.000-0.229
predicted_OBP0.378-0.002
predicted_R1.0000.292
predicted_RBI1.0000.404
predicted_SLG0.500-0.021
predicted_SO1.000-0.092
9. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 121
Reference playing time: 3.851
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.0001.0000.0000.0003.0006.0007.0000.11110.33330.22220.11110.00000.00000.33330.3889
last_100.2010-39.0009.0000.0002.0003.0006.0008.0007.00012.0000.23080.34780.56410.23080.07690.15380.17950.3077
season0.60121-466.000133.00023.0004.00030.00078.00084.00076.000129.0000.28540.38770.54510.28540.06440.16740.16310.2768
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1160
predicted_3B0.0970
predicted_AB3.8100
predicted_AVG0.2400
predicted_BB0.7380
predicted_H0.9150
predicted_HBP0.0250
predicted_HR0.2020
predicted_OBP0.3656
predicted_R0.6850
predicted_RBI0.4990
predicted_SLG0.4804
predicted_SO1.1480
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19000.11600.1578model_form_blend
predicted_3B0.03300.09700.0608model_form_blend
predicted_AB3.85103.81003.8332model_form_blend
predicted_AVG0.28500.24000.2654model_form_blend
predicted_BB0.62800.73800.6758model_form_blend
predicted_H1.09900.91501.0190model_form_blend
predicted_HBP-0.02500.0250form_only
predicted_HR0.24800.20200.2280model_form_blend
predicted_OBP0.38600.36560.3771model_form_blend
predicted_R0.69400.68500.6901model_form_blend
predicted_RBI0.64500.49900.5815model_form_blend
predicted_SLG0.54500.48040.5169model_form_blend
predicted_SO1.06601.14801.1017model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB5
Hitting_AVG0.4
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB3
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260826_LAD@ATL
game_typefull
mlbID660271
playerID660271
playerNameShohei Ohtani
posTWP
startedTrue
startingPositionDH
teamLAD
teamID14
game_date2026-08-26
sl_k_percent23.7
sl_bb_percent13.2
sl_woba0.383
sl_xwoba0.402
sl_xba0.292
sl_xslg0.563
sl_sweet_spot_percent38.3
sl_barrel_batted_rate15.9
sl_hard_hit_percent51.9
sl_exit_velocity_avg93.4
sl_launch_angle_avg12.3
sl_whiff_percent30.9
sl_swing_percent46.7
Tommy Edman (669242) · BATTER · 2B · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 196
All-history rows before 20260827: 196
System season_avg: 0.2610
Data season_avg (2026 season-to-date): 0.2793
Diff (system - data): -0.0183
System opponent_avg: 0.2520
System season_avg diverges from 2026 season-to-date by -0.0183. 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.1570.0001.000Hitting_2B0.1731.000-0.173-1.000
predicted_3B0.0390.0000.000Hitting_3B0.0460.000-0.0460.000
predicted_AB3.9104.0004.000Hitting_AB3.6174.0000.3830.000
predicted_AVG0.2490.2500.250Hitting_AVG0.2790.500-0.029-0.250
predicted_BB0.2551.0000.000Hitting_BB0.2651.0000.7350.000
predicted_CS-0.0000.000BaseRunning_CS0.0260.000-0.0260.000
predicted_H0.9701.0001.000Hitting_H1.0102.000-0.010-1.000
predicted_HR0.1100.0000.000Hitting_HR0.1071.000-0.107-1.000
predicted_OBP0.3510.4000.250Hitting_OBP0.3500.6000.050-0.200
predicted_R0.4901.0001.000Hitting_R0.5152.0000.485-1.000
predicted_RBI0.4200.0000.000Hitting_RBI0.5153.000-0.515-3.000
predicted_SB-0.0000.000BaseRunning_SB0.0920.000-0.0920.000
predicted_SLG0.4180.2500.500Hitting_SLG0.4411.500-0.191-1.250
predicted_SO0.8040.0001.000Hitting_SO0.8012.000-0.801-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectdeboosted
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_BB: 0.2550 -> 1.0000 (boost 0.7450, better)
Biggest Deboostpredicted_SO: 0.8040 -> 0.0000 (deboost -0.8040, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend20202-predicted_AB: 3.9100 -> 3.7708 (deboost -0.1392, worse)Final model input calibrated 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.3497 -> 0.3061 (deboost -0.0436, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_AB: 3.7708 -> 4.0000 (boost 0.2292, better)predicted_RBI: 0.4041 -> 0.0000 (deboost -0.4041, worse)AB rounded to 4 (raw=3.91), rates preserved: AVG=0.246 HR/AB=0.025
5bvp_blend00000--Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)
6consistency_constraints11010predicted_R: 0.5413 -> 1.0000 (boost 0.4587, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation11010predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context30303-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference21120predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
10current_json_final22020predicted_SLG: 0.3760 -> 0.3956 (boost 0.0196, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669242",
  "player_name": "Tommy Edman",
  "position": "2B",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.157,
        "predicted_3B": 0.039,
        "predicted_AB": 3.91,
        "predicted_AVG": 0.249,
        "predicted_BB": 0.255,
        "predicted_H": 0.97,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.351,
        "predicted_R": 0.49,
        "predicted_RBI": 0.42,
        "predicted_SLG": 0.418,
        "predicted_SO": 0.804
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1784,
        "predicted_3B": 0.0324,
        "predicted_AB": 3.7708,
        "predicted_AVG": 0.2521,
        "predicted_BB": 0.2764,
        "predicted_H": 0.9482,
        "predicted_HBP": 0.199,
        "predicted_HR": 0.0956,
        "predicted_OBP": 0.3497,
        "predicted_R": 0.5279,
        "predicted_RBI": 0.3941,
        "predicted_SLG": 0.4069,
        "predicted_SO": 0.8131
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.157,
          "after": 0.1784,
          "delta": 0.0214,
          "percent_delta": 0.1363,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.039,
          "after": 0.0324,
          "delta": -0.0066,
          "percent_delta": -0.1692,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.91,
          "after": 3.7708,
          "delta": -0.1392,
          "percent_delta": -0.0356,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.249,
          "after": 0.2521,
          "delta": 0.0031,
          "percent_delta": 0.0124,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.255,
          "after": 0.2764,
          "delta": 0.0214,
          "percent_delta": 0.0839,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.97,
          "after": 0.9482,
          "delta": -0.0218,
          "percent_delta": -0.0225,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.0956,
          "delta": -0.0144,
          "percent_delta": -0.1309,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.351,
          "after": 0.3497,
          "delta": -0.0013,
          "percent_delta": -0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.49,
          "after": 0.5279,
          "delta": 0.0379,
          "percent_delta": 0.0773,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.42,
          "after": 0.3941,
          "delta": -0.0259,
          "percent_delta": -0.0617,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.418,
          "after": 0.4069,
          "delta": -0.0111,
          "percent_delta": -0.0266,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.804,
          "after": 0.8131,
          "delta": 0.0091,
          "percent_delta": 0.0113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.91,
          "after": 3.7708,
          "delta": -0.1392,
          "percent_delta": -0.0356,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 51
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1784,
        "predicted_3B": 0.0324,
        "predicted_AB": 3.7708,
        "predicted_AVG": 0.2548,
        "predicted_BB": 0.2789,
        "predicted_H": 0.9606,
        "predicted_HBP": 0.199,
        "predicted_HR": 0.096,
        "predicted_OBP": 0.3061,
        "predicted_R": 0.5413,
        "predicted_RBI": 0.4041,
        "predicted_SLG": 0.3956,
        "predicted_SO": 0.8056
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1784,
          "after": 0.1784,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0324,
          "after": 0.0324,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7708,
          "after": 3.7708,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2521,
          "after": 0.2548,
          "delta": 0.0027,
          "percent_delta": 0.0107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2764,
          "after": 0.2789,
          "delta": 0.0025,
          "percent_delta": 0.009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9482,
          "after": 0.9606,
          "delta": 0.0124,
          "percent_delta": 0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.199,
          "after": 0.199,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0956,
          "after": 0.096,
          "delta": 0.0004,
          "percent_delta": 0.0042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3497,
          "after": 0.3061,
          "delta": -0.0436,
          "percent_delta": -0.1247,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5279,
          "after": 0.5413,
          "delta": 0.0134,
          "percent_delta": 0.0254,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3941,
          "after": 0.4041,
          "delta": 0.01,
          "percent_delta": 0.0254,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4069,
          "after": 0.3956,
          "delta": -0.0113,
          "percent_delta": -0.0278,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8131,
          "after": 0.8056,
          "delta": -0.0075,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3497,
          "after": 0.3061,
          "delta": -0.0436,
          "percent_delta": -0.1247,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.91), rates preserved: AVG=0.246 HR/AB=0.025",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1784,
          "after": 0.0,
          "delta": -0.1784,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0324,
          "after": 0.0,
          "delta": -0.0324,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7708,
          "after": 4.0,
          "delta": 0.2292,
          "percent_delta": 0.0608,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2789,
          "after": 0.0,
          "delta": -0.2789,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9606,
          "after": 1.0,
          "delta": 0.0394,
          "percent_delta": 0.041,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.199,
          "after": 0.0,
          "delta": -0.199,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "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.4041,
          "after": 0.0,
          "delta": -0.4041,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8056,
          "after": 1.0,
          "delta": 0.1944,
          "percent_delta": 0.2413,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.7708,
          "after": 4.0,
          "delta": 0.2292,
          "percent_delta": 0.0608,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4041,
          "after": 0.0,
          "delta": -0.4041,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9158,
        "bvp": 0.0842
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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.5413,
          "after": 1.0,
          "delta": 0.4587,
          "percent_delta": 0.8474,
          "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.5413,
          "after": 1.0,
          "delta": 0.4587,
          "percent_delta": 0.8474,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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_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": "embedded_savant_player_context",
      "description": "Player 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.246,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.305,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.376,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2548,
          "after": 0.246,
          "delta": -0.0088,
          "percent_delta": -0.0345,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3061,
          "after": 0.305,
          "delta": -0.0011,
          "percent_delta": -0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3956,
          "after": 0.376,
          "delta": -0.0196,
          "percent_delta": -0.0495,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "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_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "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.2548,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3061,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3956,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.2548,
          "delta": 0.0088,
          "percent_delta": 0.0356,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.305,
          "after": 0.3061,
          "delta": 0.0011,
          "percent_delta": 0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.376,
          "after": 0.3956,
          "delta": 0.0196,
          "percent_delta": 0.0523,
          "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.376,
          "after": 0.3956,
          "delta": 0.0196,
          "percent_delta": 0.0523,
          "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.157,
        "after": 0.0,
        "delta": -0.157,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.039,
        "after": 0.0,
        "delta": -0.039,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.91,
        "after": 4.0,
        "delta": 0.09,
        "percent_delta": 0.023,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.249,
        "after": 0.2548,
        "delta": 0.0058,
        "percent_delta": 0.0233,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.255,
        "after": 1.0,
        "delta": 0.745,
        "percent_delta": 2.9216,
        "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.11,
        "after": 0.0,
        "delta": -0.11,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.351,
        "after": 0.3061,
        "delta": -0.0449,
        "percent_delta": -0.1279,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.49,
        "after": 1.0,
        "delta": 0.51,
        "percent_delta": 1.0408,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.42,
        "after": 0.0,
        "delta": -0.42,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.418,
        "after": 0.3956,
        "delta": -0.0224,
        "percent_delta": -0.0536,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.804,
        "after": 0.0,
        "delta": -0.804,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.255,
        "after": 1.0,
        "delta": 0.745,
        "percent_delta": 2.9216,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.804,
        "after": 0.0,
        "delta": -0.804,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "deboosted"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.157-
predicted_3B0.039-
predicted_AB3.910-
predicted_AVG0.249-
predicted_BB0.255-
predicted_H0.970-
predicted_HR0.110-
predicted_OBP0.351-
predicted_R0.490-
predicted_RBI0.420-
predicted_SLG0.418-
predicted_SO0.804-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1780.021
predicted_3B0.032-0.007
predicted_AB3.771-0.139
predicted_AVG0.2520.003
predicted_BB0.2760.021
predicted_H0.948-0.022
predicted_HBP0.199-
predicted_HR0.096-0.014
predicted_OBP0.350-0.001
predicted_R0.5280.038
predicted_RBI0.394-0.026
predicted_SLG0.407-0.011
predicted_SO0.8130.009
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1780.000
predicted_3B0.0320.000
predicted_AB3.7710.000
predicted_AVG0.2550.003
predicted_BB0.2790.003
predicted_H0.9610.012
predicted_HBP0.1990.000
predicted_HR0.0960.000
predicted_OBP0.306-0.044
predicted_R0.5410.013
predicted_RBI0.4040.010
predicted_SLG0.396-0.011
predicted_SO0.806-0.008
4. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
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
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI0.0000.000
SO1.0000.000
8. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.178
predicted_3B0.000-0.032
predicted_AB4.0000.229
predicted_AVG0.246-0.009
predicted_BB0.000-0.279
predicted_H1.0000.039
predicted_HR0.000-0.096
predicted_OBP0.305-0.001
predicted_R1.0000.459
predicted_RBI0.000-0.404
predicted_SLG0.376-0.020
predicted_SO1.0000.194
9. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0000.000
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: 51
Reference playing time: 3.910
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0005.0002.0000.0000.0001.0004.0002.0004.0000.27780.40910.38890.27780.00000.05560.11110.2222
last_100.2010-35.0008.0002.0000.0001.0002.0007.0004.0009.0000.22860.35710.37140.22860.02860.05710.11430.2571
season0.6051-180.00047.0008.0002.0004.00022.00025.00013.00041.0000.26110.33500.39440.26110.02220.12220.07220.2278
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2090
predicted_3B0.0230
predicted_AB3.5720
predicted_AVG0.2566
predicted_BB0.3070
predicted_H0.9170
predicted_HBP0.1990
predicted_HR0.0750
predicted_OBP0.3479
predicted_R0.5820
predicted_RBI0.3570
predicted_SLG0.3911
predicted_SO0.8260
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15700.20900.1784model_form_blend
predicted_3B0.03900.02300.0324model_form_blend
predicted_AB3.91003.57203.7708model_form_blend
predicted_AVG0.24900.25660.2521model_form_blend
predicted_BB0.25500.30700.2764model_form_blend
predicted_H0.97000.91700.9482model_form_blend
predicted_HBP-0.19900.1990form_only
predicted_HR0.11000.07500.0956model_form_blend
predicted_OBP0.35100.34790.3497model_form_blend
predicted_R0.49000.58200.5279model_form_blend
predicted_RBI0.42000.35700.3941model_form_blend
predicted_SLG0.41800.39110.4069model_form_blend
predicted_SO0.80400.82600.8131model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R2
Hitting_RBI3
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB6
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260826_LAD@ATL
game_typefull
mlbID669242
playerID669242
playerNameTommy Edman
pos2B
startedTrue
startingPosition2B
teamLAD
teamID14
game_date2026-08-26
sl_k_percent20.8
sl_bb_percent6.5
sl_woba0.33
sl_xwoba0.314
sl_xba0.254
sl_xslg0.362
sl_sweet_spot_percent29.1
sl_barrel_batted_rate5.7
sl_hard_hit_percent34.8
sl_exit_velocity_avg87.9
sl_launch_angle_avg13.6
sl_whiff_percent21.3
sl_swing_percent47.6
Mookie Betts (605141) · BATTER · SS · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 383
All-history rows before 20260827: 383
System season_avg: 0.2380
Data season_avg (2026 season-to-date): 0.2436
Diff (system - data): -0.0056
System opponent_avg: 0.3570

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1510.0000.000Hitting_2B0.1540.000-0.1540.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.7705.0005.000Hitting_AB4.0943.0000.9062.000
predicted_AVG0.2340.2000.200Hitting_AVG0.2440.333-0.044-0.133
predicted_BB0.2690.0000.000Hitting_BB0.2612.000-0.261-2.000
predicted_CS-0.0000.000BaseRunning_CS0.0130.000-0.0130.000
predicted_H1.1201.0001.000Hitting_H0.9971.0000.0030.000
predicted_HR0.1800.0000.000Hitting_HR0.1930.000-0.1930.000
predicted_OBP0.3000.2000.200Hitting_OBP0.2910.600-0.091-0.400
predicted_R0.5270.0001.000Hitting_R0.5980.000-0.5980.000
predicted_RBI0.6300.0001.000Hitting_RBI0.5351.000-0.535-1.000
predicted_SLG0.4140.2000.200Hitting_SLG0.4230.333-0.223-0.133
predicted_SO0.4620.0000.000Hitting_SO0.4990.000-0.4990.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_AB: 4.7700 -> 5.0000 (boost 0.2300, better)
Biggest Deboostpredicted_RBI: 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_blend30303-predicted_AB: 4.7700 -> 4.4339 (deboost -0.3361, worse)Final model input calibrated 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.4067 -> 0.3900 (deboost -0.0167, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling82635predicted_AB: 4.4339 -> 5.0000 (boost 0.5661, better)predicted_SO: 0.4450 -> 0.0000 (deboost -0.4450, better)AB rounded to 5 (raw=4.77), rates preserved: AVG=0.225 HR/AB=0.036
5bvp_blend00000--Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.357)
6consistency_constraints11010predicted_R: 0.5281 -> 1.0000 (boost 0.4719, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context11010predicted_SLG: 0.3900 -> 0.4010 (boost 0.0110, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference20202-predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
10current_json_final10101-predicted_SLG: 0.4010 -> 0.3900 (deboost -0.0110, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "605141",
  "player_name": "Mookie Betts",
  "position": "SS",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.151,
        "predicted_3B": 0.0,
        "predicted_AB": 4.77,
        "predicted_AVG": 0.234,
        "predicted_BB": 0.269,
        "predicted_H": 1.12,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.3,
        "predicted_R": 0.527,
        "predicted_RBI": 0.63,
        "predicted_SLG": 0.414,
        "predicted_SO": 0.462
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.136,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.4339,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.2742,
        "predicted_H": 1.0595,
        "predicted_HBP": 0.069,
        "predicted_HR": 0.1723,
        "predicted_OBP": 0.3022,
        "predicted_R": 0.515,
        "predicted_RBI": 0.6115,
        "predicted_SLG": 0.4067,
        "predicted_SO": 0.4491
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.151,
          "after": 0.136,
          "delta": -0.015,
          "percent_delta": -0.0993,
          "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.77,
          "after": 4.4339,
          "delta": -0.3361,
          "percent_delta": -0.0705,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.234,
          "after": 0.239,
          "delta": 0.005,
          "percent_delta": 0.0214,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.269,
          "after": 0.2742,
          "delta": 0.0052,
          "percent_delta": 0.0193,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.12,
          "after": 1.0595,
          "delta": -0.0605,
          "percent_delta": -0.054,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.1723,
          "delta": -0.0077,
          "percent_delta": -0.0428,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.3022,
          "delta": 0.0022,
          "percent_delta": 0.0073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.527,
          "after": 0.515,
          "delta": -0.012,
          "percent_delta": -0.0228,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.63,
          "after": 0.6115,
          "delta": -0.0185,
          "percent_delta": -0.0294,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.414,
          "after": 0.4067,
          "delta": -0.0073,
          "percent_delta": -0.0176,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.462,
          "after": 0.4491,
          "delta": -0.0129,
          "percent_delta": -0.0279,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.77,
          "after": 4.4339,
          "delta": -0.3361,
          "percent_delta": -0.0705,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 93
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.136,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.4339,
        "predicted_AVG": 0.2421,
        "predicted_BB": 0.2767,
        "predicted_H": 1.0734,
        "predicted_HBP": 0.069,
        "predicted_HR": 0.1731,
        "predicted_OBP": 0.2866,
        "predicted_R": 0.5281,
        "predicted_RBI": 0.627,
        "predicted_SLG": 0.39,
        "predicted_SO": 0.445
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.136,
          "after": 0.136,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.4339,
          "after": 4.4339,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.239,
          "after": 0.2421,
          "delta": 0.0031,
          "percent_delta": 0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2742,
          "after": 0.2767,
          "delta": 0.0025,
          "percent_delta": 0.0091,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0595,
          "after": 1.0734,
          "delta": 0.0139,
          "percent_delta": 0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.069,
          "after": 0.069,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1723,
          "after": 0.1731,
          "delta": 0.0008,
          "percent_delta": 0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3022,
          "after": 0.2866,
          "delta": -0.0156,
          "percent_delta": -0.0516,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.515,
          "after": 0.5281,
          "delta": 0.0131,
          "percent_delta": 0.0254,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6115,
          "after": 0.627,
          "delta": 0.0155,
          "percent_delta": 0.0253,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4067,
          "after": 0.39,
          "delta": -0.0167,
          "percent_delta": -0.0411,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4491,
          "after": 0.445,
          "delta": -0.0041,
          "percent_delta": -0.0091,
          "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.4067,
          "after": 0.39,
          "delta": -0.0167,
          "percent_delta": -0.0411,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=4.77), rates preserved: AVG=0.225 HR/AB=0.036",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.136,
          "after": 0.0,
          "delta": -0.136,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.4339,
          "after": 5.0,
          "delta": 0.5661,
          "percent_delta": 0.1277,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2767,
          "after": 0.0,
          "delta": -0.2767,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0734,
          "after": 1.0,
          "delta": -0.0734,
          "percent_delta": -0.0684,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.069,
          "after": 0.0,
          "delta": -0.069,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1731,
          "after": 0.0,
          "delta": -0.1731,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.627,
          "after": 1.0,
          "delta": 0.373,
          "percent_delta": 0.5949,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.445,
          "after": 0.0,
          "delta": -0.445,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 3,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.4339,
          "after": 5.0,
          "delta": 0.5661,
          "percent_delta": 0.1277,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.445,
          "after": 0.0,
          "delta": -0.445,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.357)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8727,
        "bvp": 0.1273
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5281,
          "after": 1.0,
          "delta": 0.4719,
          "percent_delta": 0.8936,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.5281,
          "after": 1.0,
          "delta": 0.4719,
          "percent_delta": 0.8936,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 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": {}
    },
    {
      "index": 8,
      "step": "embedded_savant_player_context",
      "description": "Player 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.242,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.284,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.401,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.2421,
          "after": 0.242,
          "delta": -0.0001,
          "percent_delta": -0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2866,
          "after": 0.284,
          "delta": -0.0026,
          "percent_delta": -0.0091,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.39,
          "after": 0.401,
          "delta": 0.011,
          "percent_delta": 0.0282,
          "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_SLG",
          "before": 0.39,
          "after": 0.401,
          "delta": 0.011,
          "percent_delta": 0.0282,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "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.2421,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2866,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.39,
        "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": 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.242,
          "after": 0.2421,
          "delta": 0.0001,
          "percent_delta": 0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.284,
          "after": 0.2866,
          "delta": 0.0026,
          "percent_delta": 0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.401,
          "after": 0.39,
          "delta": -0.011,
          "percent_delta": -0.0273,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.401,
          "after": 0.39,
          "delta": -0.011,
          "percent_delta": -0.0273,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.151,
        "after": 0.0,
        "delta": -0.151,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.77,
        "after": 5.0,
        "delta": 0.23,
        "percent_delta": 0.0482,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.234,
        "after": 0.2421,
        "delta": 0.0081,
        "percent_delta": 0.0346,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.269,
        "after": 0.0,
        "delta": -0.269,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.12,
        "after": 1.0,
        "delta": -0.12,
        "percent_delta": -0.1071,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.18,
        "after": 0.0,
        "delta": -0.18,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.3,
        "after": 0.2866,
        "delta": -0.0134,
        "percent_delta": -0.0447,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.527,
        "after": 0.0,
        "delta": -0.527,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.63,
        "after": 0.0,
        "delta": -0.63,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.414,
        "after": 0.39,
        "delta": -0.024,
        "percent_delta": -0.058,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.462,
        "after": 0.0,
        "delta": -0.462,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 4.77,
        "after": 5.0,
        "delta": 0.23,
        "percent_delta": 0.0482,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "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.151-
predicted_3B0.000-
predicted_AB4.770-
predicted_AVG0.234-
predicted_BB0.269-
predicted_H1.120-
predicted_HR0.180-
predicted_OBP0.300-
predicted_R0.527-
predicted_RBI0.630-
predicted_SLG0.414-
predicted_SO0.462-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.015
predicted_3B0.0000.000
predicted_AB4.434-0.336
predicted_AVG0.2390.005
predicted_BB0.2740.005
predicted_H1.060-0.060
predicted_HBP0.069-
predicted_HR0.172-0.008
predicted_OBP0.3020.002
predicted_R0.515-0.012
predicted_RBI0.612-0.018
predicted_SLG0.407-0.007
predicted_SO0.449-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.1360.000
predicted_3B0.0000.000
predicted_AB4.4340.000
predicted_AVG0.2420.003
predicted_BB0.2770.003
predicted_H1.0730.014
predicted_HBP0.0690.000
predicted_HR0.1730.001
predicted_OBP0.287-0.016
predicted_R0.5280.013
predicted_RBI0.6270.015
predicted_SLG0.390-0.017
predicted_SO0.445-0.004
4. ab_floor_and_scaling

AB rounded to 5 (raw=4.77), rates preserved: AVG=0.225 HR/AB=0.036

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

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

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
SO0.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO0.0000.000
7. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI1.0000.000
SO0.0000.000
8. embedded_savant_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.000
predicted_AB5.0000.566
predicted_AVG0.242-0.000
predicted_BB0.000-0.277
predicted_H1.000-0.073
predicted_HR0.000-0.173
predicted_OBP0.284-0.003
predicted_R1.0000.472
predicted_RBI1.0000.373
predicted_SLG0.4010.011
predicted_SO0.000-0.445
9. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 93
Reference playing time: 4.770
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0006.0000.0000.0001.0004.0003.0002.0001.0000.30000.39130.45000.30000.05000.20000.10000.0500
last_100.2010-42.0009.0001.0000.0001.0007.0003.0002.0004.0000.21430.26670.30950.21430.02380.16670.04760.0952
season0.6093-366.00087.00014.0000.00016.00046.00049.00025.00043.0000.23770.28930.40710.23770.04370.12570.06830.1175
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1160
predicted_3B0.0010
predicted_AB3.9870
predicted_AVG0.2456
predicted_BB0.2810
predicted_H0.9790
predicted_HBP0.0690
predicted_HR0.1620
predicted_OBP0.3052
predicted_R0.4990
predicted_RBI0.5870
predicted_SLG0.3970
predicted_SO0.4320
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15100.11600.1360model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.77003.98704.4339model_form_blend
predicted_AVG0.23400.24560.2390model_form_blend
predicted_BB0.26900.28100.2742model_form_blend
predicted_H1.12000.97901.0595model_form_blend
predicted_HBP-0.06900.0690form_only
predicted_HR0.18000.16200.1723model_form_blend
predicted_OBP0.30000.30520.3022model_form_blend
predicted_R0.52700.49900.5150model_form_blend
predicted_RBI0.63000.58700.6115model_form_blend
predicted_SLG0.41400.39700.4067model_form_blend
predicted_SO0.46200.43200.4491model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB2
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
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
allPositionsPlayedSS
gameID20260826_LAD@ATL
game_typefull
mlbID605141
playerID605141
playerNameMookie Betts
posSS
startedTrue
startingPositionSS
teamLAD
teamID14
game_date2026-08-26
sl_k_percent11.1
sl_bb_percent7.3
sl_woba0.306
sl_xwoba0.325
sl_xba0.272
sl_xslg0.42
sl_sweet_spot_percent39.9
sl_barrel_batted_rate7.0
sl_hard_hit_percent37.0
sl_exit_velocity_avg89.9
sl_launch_angle_avg18.2
sl_whiff_percent11.8
sl_swing_percent41.9
Max Muncy (571970) · BATTER · 3B · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 444
All-history rows before 20260827: 444
System season_avg: 0.2530
Data season_avg (2026 season-to-date): 0.2602
Diff (system - data): -0.0072
System opponent_avg: 0.1760

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1582.0000.000Hitting_2B0.1530.0001.8472.000
predicted_3B0.0080.0000.000Hitting_3B0.0110.000-0.0110.000
predicted_AB3.4505.0003.000Hitting_AB3.5324.0001.4681.000
predicted_AVG0.2390.4000.333Hitting_AVG0.2600.0000.1400.400
predicted_BB0.4420.0001.000Hitting_BB0.4731.000-0.473-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8302.0001.000Hitting_H0.9190.0001.0812.000
predicted_HR0.1800.0000.000Hitting_HR0.2410.000-0.2410.000
predicted_OBP0.3630.4000.500Hitting_OBP0.3530.2000.0470.200
predicted_R0.5671.0001.000Hitting_R0.6350.0000.3651.000
predicted_RBI0.5701.0001.000Hitting_RBI0.6240.0000.3761.000
predicted_SLG0.5320.8000.333Hitting_SLG0.5150.0000.2850.800
predicted_SO0.9671.0001.000Hitting_SO1.0161.000-0.0160.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics6
Deboosted Metrics4
Better Metrics6
Worse Metrics4
Biggest Boostpredicted_2B: 0.1580 -> 2.0000 (boost 1.8420, better)
Biggest Deboostpredicted_BB: 0.4420 -> 0.0000 (deboost -0.4420, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43131predicted_AVG: 0.2390 -> 0.2590 (boost 0.0200, better)predicted_AB: 3.4500 -> 3.3399 (deboost -0.1101, worse)Final model input calibrated 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.5510 -> 0.5047 (deboost -0.0463, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_RBI: 0.6036 -> 1.0000 (boost 0.3964, better)predicted_BB: 0.4897 -> 0.0000 (deboost -0.4897, worse)AB rounded to 3 (raw=3.45), rates preserved: AVG=0.254 HR/AB=0.058
5bvp_blend00000--Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)
6consistency_constraints11010predicted_R: 0.5871 -> 1.0000 (boost 0.4129, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation11010predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context40404-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference33030predicted_2B: 0.0000 -> 2.0000 (boost 2.0000, better)-Attached simulation box score without overwriting model prediction
10current_json_final33030predicted_SLG: 0.4670 -> 0.5047 (boost 0.0377, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "571970",
  "player_name": "Max Muncy",
  "position": "3B",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.158,
        "predicted_3B": 0.008,
        "predicted_AB": 3.45,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.442,
        "predicted_H": 0.83,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.363,
        "predicted_R": 0.567,
        "predicted_RBI": 0.57,
        "predicted_SLG": 0.532,
        "predicted_SO": 0.967
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.193,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.3399,
        "predicted_AVG": 0.259,
        "predicted_BB": 0.4852,
        "predicted_H": 0.8654,
        "predicted_HBP": 0.02,
        "predicted_HR": 0.1999,
        "predicted_OBP": 0.3733,
        "predicted_R": 0.5726,
        "predicted_RBI": 0.5886,
        "predicted_SLG": 0.551,
        "predicted_SO": 0.9458
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.158,
          "after": 0.193,
          "delta": 0.035,
          "percent_delta": 0.2215,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.008,
          "after": 0.0067,
          "delta": -0.0013,
          "percent_delta": -0.1625,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.45,
          "after": 3.3399,
          "delta": -0.1101,
          "percent_delta": -0.0319,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.239,
          "after": 0.259,
          "delta": 0.02,
          "percent_delta": 0.0837,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.442,
          "after": 0.4852,
          "delta": 0.0432,
          "percent_delta": 0.0977,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.83,
          "after": 0.8654,
          "delta": 0.0354,
          "percent_delta": 0.0427,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.1999,
          "delta": 0.0199,
          "percent_delta": 0.1106,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.363,
          "after": 0.3733,
          "delta": 0.0103,
          "percent_delta": 0.0284,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.567,
          "after": 0.5726,
          "delta": 0.0056,
          "percent_delta": 0.0099,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.57,
          "after": 0.5886,
          "delta": 0.0186,
          "percent_delta": 0.0326,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.532,
          "after": 0.551,
          "delta": 0.019,
          "percent_delta": 0.0357,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.967,
          "after": 0.9458,
          "delta": -0.0212,
          "percent_delta": -0.0219,
          "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.239,
          "after": 0.259,
          "delta": 0.02,
          "percent_delta": 0.0837,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.45,
          "after": 3.3399,
          "delta": -0.1101,
          "percent_delta": -0.0319,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.193,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.3399,
        "predicted_AVG": 0.2625,
        "predicted_BB": 0.4897,
        "predicted_H": 0.8767,
        "predicted_HBP": 0.02,
        "predicted_HR": 0.2008,
        "predicted_OBP": 0.3568,
        "predicted_R": 0.5871,
        "predicted_RBI": 0.6036,
        "predicted_SLG": 0.5047,
        "predicted_SO": 0.9371
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.193,
          "after": 0.193,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0067,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3399,
          "after": 3.3399,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.259,
          "after": 0.2625,
          "delta": 0.0035,
          "percent_delta": 0.0135,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4852,
          "after": 0.4897,
          "delta": 0.0045,
          "percent_delta": 0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8654,
          "after": 0.8767,
          "delta": 0.0113,
          "percent_delta": 0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.02,
          "after": 0.02,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1999,
          "after": 0.2008,
          "delta": 0.0009,
          "percent_delta": 0.0045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3733,
          "after": 0.3568,
          "delta": -0.0165,
          "percent_delta": -0.0442,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5726,
          "after": 0.5871,
          "delta": 0.0145,
          "percent_delta": 0.0253,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5886,
          "after": 0.6036,
          "delta": 0.015,
          "percent_delta": 0.0255,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.551,
          "after": 0.5047,
          "delta": -0.0463,
          "percent_delta": -0.084,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9458,
          "after": 0.9371,
          "delta": -0.0087,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.551,
          "after": 0.5047,
          "delta": -0.0463,
          "percent_delta": -0.084,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.45), rates preserved: AVG=0.254 HR/AB=0.058",
      "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.193,
          "after": 0.0,
          "delta": -0.193,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0,
          "delta": -0.0067,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3399,
          "after": 3.0,
          "delta": -0.3399,
          "percent_delta": -0.1018,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4897,
          "after": 0.0,
          "delta": -0.4897,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8767,
          "after": 1.0,
          "delta": 0.1233,
          "percent_delta": 0.1406,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.02,
          "after": 0.0,
          "delta": -0.02,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2008,
          "after": 0.0,
          "delta": -0.2008,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6036,
          "after": 1.0,
          "delta": 0.3964,
          "percent_delta": 0.6567,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9371,
          "after": 1.0,
          "delta": 0.0629,
          "percent_delta": 0.0671,
          "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.6036,
          "after": 1.0,
          "delta": 0.3964,
          "percent_delta": 0.6567,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4897,
          "after": 0.0,
          "delta": -0.4897,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9243,
        "bvp": 0.0757
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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.5871,
          "after": 1.0,
          "delta": 0.4129,
          "percent_delta": 0.7033,
          "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.5871,
          "after": 1.0,
          "delta": 0.4129,
          "percent_delta": 0.7033,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "embedded_savant_player_context",
      "description": "Player 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.246,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.338,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.467,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2625,
          "after": 0.246,
          "delta": -0.0165,
          "percent_delta": -0.0629,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3568,
          "after": 0.338,
          "delta": -0.0188,
          "percent_delta": -0.0527,
          "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.5047,
          "after": 0.467,
          "delta": -0.0377,
          "percent_delta": -0.0747,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 2.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 5.0,
          "delta": 2.0,
          "percent_delta": 0.6667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 2.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2625,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3568,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5047,
        "predicted_SO": 1.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.2625,
          "delta": 0.0165,
          "percent_delta": 0.0671,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.338,
          "after": 0.3568,
          "delta": 0.0188,
          "percent_delta": 0.0556,
          "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.467,
          "after": 0.5047,
          "delta": 0.0377,
          "percent_delta": 0.0807,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.467,
          "after": 0.5047,
          "delta": 0.0377,
          "percent_delta": 0.0807,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.158,
        "after": 2.0,
        "delta": 1.842,
        "percent_delta": 11.6582,
        "direction": "boost",
        "projection_effect": "better",
        "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.45,
        "after": 5.0,
        "delta": 1.55,
        "percent_delta": 0.4493,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.239,
        "after": 0.2625,
        "delta": 0.0235,
        "percent_delta": 0.0983,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.442,
        "after": 0.0,
        "delta": -0.442,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.83,
        "after": 2.0,
        "delta": 1.17,
        "percent_delta": 1.4096,
        "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.363,
        "after": 0.3568,
        "delta": -0.0062,
        "percent_delta": -0.0171,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.567,
        "after": 1.0,
        "delta": 0.433,
        "percent_delta": 0.7637,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.57,
        "after": 1.0,
        "delta": 0.43,
        "percent_delta": 0.7544,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.532,
        "after": 0.5047,
        "delta": -0.0273,
        "percent_delta": -0.0513,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.967,
        "after": 1.0,
        "delta": 0.033,
        "percent_delta": 0.0341,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 6,
      "deboosted_metrics": 4,
      "better_metrics": 6,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_2B",
        "before": 0.158,
        "after": 2.0,
        "delta": 1.842,
        "percent_delta": 11.6582,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.442,
        "after": 0.0,
        "delta": -0.442,
        "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.158-
predicted_3B0.008-
predicted_AB3.450-
predicted_AVG0.239-
predicted_BB0.442-
predicted_H0.830-
predicted_HR0.180-
predicted_OBP0.363-
predicted_R0.567-
predicted_RBI0.570-
predicted_SLG0.532-
predicted_SO0.967-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1930.035
predicted_3B0.007-0.001
predicted_AB3.340-0.110
predicted_AVG0.2590.020
predicted_BB0.4850.043
predicted_H0.8650.035
predicted_HBP0.020-
predicted_HR0.2000.020
predicted_OBP0.3730.010
predicted_R0.5730.006
predicted_RBI0.5890.019
predicted_SLG0.5510.019
predicted_SO0.946-0.021
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1930.000
predicted_3B0.0070.000
predicted_AB3.3400.000
predicted_AVG0.2630.004
predicted_BB0.4900.005
predicted_H0.8770.011
predicted_HBP0.0200.000
predicted_HR0.2010.001
predicted_OBP0.357-0.017
predicted_R0.5870.014
predicted_RBI0.6040.015
predicted_SLG0.505-0.046
predicted_SO0.937-0.009
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.45), rates preserved: AVG=0.254 HR/AB=0.058

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
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
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0001.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI1.0000.000
SO1.0000.000
8. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.193
predicted_3B0.000-0.007
predicted_AB3.000-0.340
predicted_AVG0.246-0.017
predicted_BB0.000-0.490
predicted_H1.0000.123
predicted_HR0.000-0.201
predicted_OBP0.338-0.019
predicted_R1.0000.413
predicted_RBI1.0000.396
predicted_SLG0.467-0.038
predicted_SO1.0000.063
9. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 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-14.0005.0002.0000.0001.0003.0003.0004.0004.0000.35710.50000.71430.35710.07140.21430.28570.2857
last_100.2010-31.00010.0003.0000.0003.0008.0006.0006.0009.0000.32260.42110.70970.32260.09680.25810.19350.2903
season0.60120-395.000100.00019.0001.00026.00067.00068.00053.000116.0000.25320.34660.50380.25320.06580.16960.13420.2937
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2390
predicted_3B0.0050
predicted_AB3.1950
predicted_AVG0.2854
predicted_BB0.5420
predicted_H0.9120
predicted_HBP0.0200
predicted_HR0.2260
predicted_OBP0.3868
predicted_R0.5800
predicted_RBI0.6130
predicted_SLG0.5759
predicted_SO0.9180
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15800.23900.1930model_form_blend
predicted_3B0.00800.00500.0067model_form_blend
predicted_AB3.45003.19503.3399model_form_blend
predicted_AVG0.23900.28540.2590model_form_blend
predicted_BB0.44200.54200.4852model_form_blend
predicted_H0.83000.91200.8654model_form_blend
predicted_HBP-0.02000.0200form_only
predicted_HR0.18000.22600.1999model_form_blend
predicted_OBP0.36300.38680.3733model_form_blend
predicted_R0.56700.58000.5726model_form_blend
predicted_RBI0.57000.61300.5886model_form_blend
predicted_SLG0.53200.57590.5510model_form_blend
predicted_SO0.96700.91800.9458model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260826_LAD@ATL
game_typefull
mlbID571970
playerID571970
playerNameMax Muncy
pos3B
startedTrue
startingPosition3B
teamLAD
teamID14
game_date2026-08-26
sl_k_percent24.9
sl_bb_percent12.1
sl_woba0.362
sl_xwoba0.349
sl_xba0.242
sl_xslg0.471
sl_sweet_spot_percent34.0
sl_barrel_batted_rate12.9
sl_hard_hit_percent45.6
sl_exit_velocity_avg90.4
sl_launch_angle_avg17.5
sl_whiff_percent29.2
sl_swing_percent45.0
Freddie Freeman (518692) · BATTER · 1B · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 533
All-history rows before 20260827: 533
System season_avg: 0.2990
Data season_avg (2026 season-to-date): 0.3035
Diff (system - data): -0.0045
System opponent_avg: 0.3330

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2360.0001.000Hitting_2B0.2531.000-0.253-1.000
predicted_3B0.0080.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB4.5104.0005.000Hitting_AB3.8204.0000.1800.000
predicted_AVG0.2400.5000.200Hitting_AVG0.3040.5000.1960.000
predicted_BB0.4411.0001.000Hitting_BB0.4881.0000.5120.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.0802.0001.000Hitting_H1.1592.0000.8410.000
predicted_HR0.1201.0000.000Hitting_HR0.1200.0000.8801.000
predicted_OBP0.3090.6000.333Hitting_OBP0.3830.6000.2170.000
predicted_R0.4961.0000.000Hitting_R0.5382.0000.462-1.000
predicted_RBI0.4502.0001.000Hitting_RBI0.5140.0001.4862.000
predicted_SLG0.4061.2500.400Hitting_SLG0.4680.7500.7820.500
predicted_SO0.7010.0001.000Hitting_SO0.7150.000-0.7150.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics7
Deboosted Metrics4
Better Metrics8
Worse Metrics3
Biggest Boostpredicted_RBI: 0.4500 -> 2.0000 (boost 1.5500, better)
Biggest Deboostpredicted_SO: 0.7010 -> 0.0000 (deboost -0.7010, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42213predicted_SO: 0.7010 -> 0.7745 (boost 0.0735, worse)predicted_AB: 4.5100 -> 4.2479 (deboost -0.2621, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot10101-predicted_SLG: 0.3967 -> 0.3823 (deboost -0.0144, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_AB: 4.2479 -> 5.0000 (boost 0.7521, better)predicted_RBI: 0.4427 -> 0.0000 (deboost -0.4427, worse)AB rounded to 5 (raw=4.51), rates preserved: AVG=0.237 HR/AB=0.022
5bvp_blend00000--Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.333)
6consistency_constraints10101-predicted_R: 0.4863 -> 0.0000 (deboost -0.4863, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation33030predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context51414predicted_SLG: 0.3823 -> 0.4200 (boost 0.0377, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference75261predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
10current_json_final21111predicted_OBP: 0.3100 -> 0.3177 (boost 0.0077, better)predicted_SLG: 0.4200 -> 0.3823 (deboost -0.0377, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "518692",
  "player_name": "Freddie Freeman",
  "position": "1B",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.236,
        "predicted_3B": 0.008,
        "predicted_AB": 4.51,
        "predicted_AVG": 0.24,
        "predicted_BB": 0.441,
        "predicted_H": 1.08,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.309,
        "predicted_R": 0.496,
        "predicted_RBI": 0.45,
        "predicted_SLG": 0.406,
        "predicted_SO": 0.701
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2373,
        "predicted_3B": 0.0067,
        "predicted_AB": 4.2479,
        "predicted_AVG": 0.2496,
        "predicted_BB": 0.4075,
        "predicted_H": 1.0552,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.1009,
        "predicted_OBP": 0.3136,
        "predicted_R": 0.4743,
        "predicted_RBI": 0.4317,
        "predicted_SLG": 0.3967,
        "predicted_SO": 0.7745
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.236,
          "after": 0.2373,
          "delta": 0.0013,
          "percent_delta": 0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.008,
          "after": 0.0067,
          "delta": -0.0013,
          "percent_delta": -0.1625,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.51,
          "after": 4.2479,
          "delta": -0.2621,
          "percent_delta": -0.0581,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.24,
          "after": 0.2496,
          "delta": 0.0096,
          "percent_delta": 0.04,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.441,
          "after": 0.4075,
          "delta": -0.0335,
          "percent_delta": -0.076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.08,
          "after": 1.0552,
          "delta": -0.0248,
          "percent_delta": -0.023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1009,
          "delta": -0.0191,
          "percent_delta": -0.1592,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.309,
          "after": 0.3136,
          "delta": 0.0046,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.496,
          "after": 0.4743,
          "delta": -0.0217,
          "percent_delta": -0.0437,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.45,
          "after": 0.4317,
          "delta": -0.0183,
          "percent_delta": -0.0407,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.406,
          "after": 0.3967,
          "delta": -0.0093,
          "percent_delta": -0.0229,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.701,
          "after": 0.7745,
          "delta": 0.0735,
          "percent_delta": 0.1049,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.701,
          "after": 0.7745,
          "delta": 0.0735,
          "percent_delta": 0.1049,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.51,
          "after": 4.2479,
          "delta": -0.2621,
          "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": 127
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2373,
        "predicted_3B": 0.0067,
        "predicted_AB": 4.2479,
        "predicted_AVG": 0.2517,
        "predicted_BB": 0.4112,
        "predicted_H": 1.069,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.1014,
        "predicted_OBP": 0.3177,
        "predicted_R": 0.4863,
        "predicted_RBI": 0.4427,
        "predicted_SLG": 0.3823,
        "predicted_SO": 0.7674
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2373,
          "after": 0.2373,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0067,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2479,
          "after": 4.2479,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2496,
          "after": 0.2517,
          "delta": 0.0021,
          "percent_delta": 0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4075,
          "after": 0.4112,
          "delta": 0.0037,
          "percent_delta": 0.0091,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0552,
          "after": 1.069,
          "delta": 0.0138,
          "percent_delta": 0.0131,
          "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.1009,
          "after": 0.1014,
          "delta": 0.0005,
          "percent_delta": 0.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3136,
          "after": 0.3177,
          "delta": 0.0041,
          "percent_delta": 0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4743,
          "after": 0.4863,
          "delta": 0.012,
          "percent_delta": 0.0253,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4317,
          "after": 0.4427,
          "delta": 0.011,
          "percent_delta": 0.0255,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3967,
          "after": 0.3823,
          "delta": -0.0144,
          "percent_delta": -0.0363,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7745,
          "after": 0.7674,
          "delta": -0.0071,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3967,
          "after": 0.3823,
          "delta": -0.0144,
          "percent_delta": -0.0363,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=4.51), rates preserved: AVG=0.237 HR/AB=0.022",
      "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.2373,
          "after": 0.0,
          "delta": -0.2373,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0,
          "delta": -0.0067,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2479,
          "after": 5.0,
          "delta": 0.7521,
          "percent_delta": 0.1771,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4112,
          "after": 0.0,
          "delta": -0.4112,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.069,
          "after": 1.0,
          "delta": -0.069,
          "percent_delta": -0.0645,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.016,
          "after": 0.0,
          "delta": -0.016,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1014,
          "after": 0.0,
          "delta": -0.1014,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4427,
          "after": 0.0,
          "delta": -0.4427,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7674,
          "after": 1.0,
          "delta": 0.2326,
          "percent_delta": 0.3031,
          "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.2479,
          "after": 5.0,
          "delta": 0.7521,
          "percent_delta": 0.1771,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4427,
          "after": 0.0,
          "delta": -0.4427,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.333)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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.8857,
        "bvp": 0.1143
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.4863,
          "after": 0.0,
          "delta": -0.4863,
          "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.4863,
          "after": 0.0,
          "delta": -0.4863,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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": "embedded_savant_player_context",
      "description": "Player 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.248,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.31,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.42,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2517,
          "after": 0.248,
          "delta": -0.0037,
          "percent_delta": -0.0147,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3177,
          "after": 0.31,
          "delta": -0.0077,
          "percent_delta": -0.0242,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3823,
          "after": 0.42,
          "delta": 0.0377,
          "percent_delta": 0.0986,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3823,
          "after": 0.42,
          "delta": 0.0377,
          "percent_delta": 0.0986,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 5,
        "deboosted_metrics": 2,
        "better_metrics": 6,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "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.2517,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3177,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3823,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.248,
          "after": 0.2517,
          "delta": 0.0037,
          "percent_delta": 0.0148,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.31,
          "after": 0.3177,
          "delta": 0.0077,
          "percent_delta": 0.0249,
          "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.42,
          "after": 0.3823,
          "delta": -0.0377,
          "percent_delta": -0.0899,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.31,
          "after": 0.3177,
          "delta": 0.0077,
          "percent_delta": 0.0249,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.42,
          "after": 0.3823,
          "delta": -0.0377,
          "percent_delta": -0.0899,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.236,
        "after": 0.0,
        "delta": -0.236,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.008,
        "after": 0.0,
        "delta": -0.008,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.51,
        "after": 4.0,
        "delta": -0.51,
        "percent_delta": -0.1131,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.24,
        "after": 0.2517,
        "delta": 0.0117,
        "percent_delta": 0.0487,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.441,
        "after": 1.0,
        "delta": 0.559,
        "percent_delta": 1.2676,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.08,
        "after": 2.0,
        "delta": 0.92,
        "percent_delta": 0.8519,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.12,
        "after": 1.0,
        "delta": 0.88,
        "percent_delta": 7.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.309,
        "after": 0.3177,
        "delta": 0.0087,
        "percent_delta": 0.0282,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.496,
        "after": 1.0,
        "delta": 0.504,
        "percent_delta": 1.0161,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.45,
        "after": 2.0,
        "delta": 1.55,
        "percent_delta": 3.4444,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.406,
        "after": 0.3823,
        "delta": -0.0237,
        "percent_delta": -0.0584,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.701,
        "after": 0.0,
        "delta": -0.701,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 7,
      "deboosted_metrics": 4,
      "better_metrics": 8,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.45,
        "after": 2.0,
        "delta": 1.55,
        "percent_delta": 3.4444,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.701,
        "after": 0.0,
        "delta": -0.701,
        "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.236-
predicted_3B0.008-
predicted_AB4.510-
predicted_AVG0.240-
predicted_BB0.441-
predicted_H1.080-
predicted_HR0.120-
predicted_OBP0.309-
predicted_R0.496-
predicted_RBI0.450-
predicted_SLG0.406-
predicted_SO0.701-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.001
predicted_3B0.007-0.001
predicted_AB4.248-0.262
predicted_AVG0.2500.010
predicted_BB0.407-0.034
predicted_H1.055-0.025
predicted_HBP0.016-
predicted_HR0.101-0.019
predicted_OBP0.3140.005
predicted_R0.474-0.022
predicted_RBI0.432-0.018
predicted_SLG0.397-0.009
predicted_SO0.7740.074
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2370.000
predicted_3B0.0070.000
predicted_AB4.2480.000
predicted_AVG0.2520.002
predicted_BB0.4110.004
predicted_H1.0690.014
predicted_HBP0.0160.000
predicted_HR0.1010.001
predicted_OBP0.3180.004
predicted_R0.4860.012
predicted_RBI0.4430.011
predicted_SLG0.382-0.014
predicted_SO0.767-0.007
4. ab_floor_and_scaling

AB rounded to 5 (raw=4.51), rates preserved: AVG=0.237 HR/AB=0.022

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=12.0, weight=0.114, BvP AVG=0.333)

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
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB5.0000.000
BB1.0001.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI1.0001.000
SO1.0000.000
8. embedded_savant_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.007
predicted_AB5.0000.752
predicted_AVG0.248-0.004
predicted_BB0.000-0.411
predicted_H1.000-0.069
predicted_HR0.000-0.101
predicted_OBP0.310-0.008
predicted_R0.000-0.486
predicted_RBI0.000-0.443
predicted_SLG0.4200.038
predicted_SO1.0000.233
9. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 127
Reference playing time: 4.510
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-21.0004.0001.0000.0000.0001.0001.0001.0007.0000.19050.21740.23810.19050.00000.04760.04760.3333
last_100.2010-40.0009.0003.0000.0000.0004.0005.0003.0009.0000.22500.26670.30000.22500.00000.10000.07500.2250
season0.60127-481.000144.00030.0001.00015.00059.00063.00056.00089.0000.29940.37250.45950.29940.03120.12270.11640.1850
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2390
predicted_3B0.0050
predicted_AB3.9070
predicted_AVG0.2620
predicted_BB0.3640
predicted_H1.0230
predicted_HBP0.0160
predicted_HR0.0760
predicted_OBP0.3195
predicted_R0.4460
predicted_RBI0.4080
predicted_SLG0.3846
predicted_SO0.8700
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.23600.23900.2373model_form_blend
predicted_3B0.00800.00500.0067model_form_blend
predicted_AB4.51003.90704.2479model_form_blend
predicted_AVG0.24000.26200.2496model_form_blend
predicted_BB0.44100.36400.4075model_form_blend
predicted_H1.08001.02301.0552model_form_blend
predicted_HBP-0.01600.0160form_only
predicted_HR0.12000.07600.1009model_form_blend
predicted_OBP0.30900.31950.3136model_form_blend
predicted_R0.49600.44600.4743model_form_blend
predicted_RBI0.45000.40800.4317model_form_blend
predicted_SLG0.40600.38460.3967model_form_blend
predicted_SO0.70100.87000.7745model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB1
Hitting_R2
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB3
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260826_LAD@ATL
game_typefull
mlbID518692
playerID518692
playerNameFreddie Freeman
pos1B
startedTrue
startingPosition1B
teamLAD
teamID14
game_date2026-08-26
sl_k_percent16.3
sl_bb_percent10.5
sl_woba0.366
sl_xwoba0.373
sl_xba0.3
sl_xslg0.483
sl_sweet_spot_percent39.4
sl_barrel_batted_rate8.2
sl_hard_hit_percent42.1
sl_exit_velocity_avg89.7
sl_launch_angle_avg12.7
sl_whiff_percent21.7
sl_swing_percent50.6
Alek Thomas (677950) · BATTER · CF · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 4
All-history rows before 20260827: 4
System season_avg: 0.1920
Data season_avg (2026 season-to-date): 0.2000
Diff (system - data): -0.0080
System opponent_avg: 0.1540

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2900.0000.000Hitting_2B0.0000.0000.0000.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.4305.0003.000Hitting_AB3.7505.0001.2500.000
predicted_AVG0.2110.0000.000Hitting_AVG0.2000.000-0.2000.000
predicted_BB0.1290.0000.000Hitting_BB0.2500.000-0.2500.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7200.0000.000Hitting_H0.7500.000-0.7500.000
predicted_HR0.0900.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.2660.0000.000Hitting_OBP0.2500.000-0.2500.000
predicted_R0.3870.0000.000Hitting_R0.0000.0000.0000.000
predicted_RBI0.4500.0000.000Hitting_RBI0.7500.000-0.7500.000
predicted_SLG0.3200.0000.000Hitting_SLG0.2000.000-0.2000.000
predicted_SO0.8390.0001.000Hitting_SO1.0001.000-1.000-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: 3.4300 -> 5.0000 (boost 1.5700, better)
Biggest Deboostpredicted_SO: 0.8390 -> 0.0000 (deboost -0.8390, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend30303-predicted_AB: 3.4300 -> 3.3766 (deboost -0.0534, worse)Final model input calibrated 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.3148 -> 0.3510 (boost 0.0362, better)predicted_OBP: 0.2595 -> 0.2409 (deboost -0.0186, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling82617predicted_H: 0.7043 -> 1.0000 (boost 0.2957, better)predicted_RBI: 0.4606 -> 0.0000 (deboost -0.4606, worse)AB rounded to 3 (raw=3.43), rates preserved: AVG=0.205 HR/AB=0.022
5consistency_constraints10101-predicted_R: 0.3650 -> 0.0000 (deboost -0.3650, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation10101-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context11010predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference31221predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "677950",
  "player_name": "Alek Thomas",
  "position": "CF",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.29,
        "predicted_3B": 0.0,
        "predicted_AB": 3.43,
        "predicted_AVG": 0.211,
        "predicted_BB": 0.129,
        "predicted_H": 0.72,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.266,
        "predicted_R": 0.387,
        "predicted_RBI": 0.45,
        "predicted_SLG": 0.32,
        "predicted_SO": 0.839
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2493,
        "predicted_3B": 0.0012,
        "predicted_AB": 3.3766,
        "predicted_AVG": 0.2064,
        "predicted_BB": 0.1426,
        "predicted_H": 0.6952,
        "predicted_HBP": 0.054,
        "predicted_HR": 0.0761,
        "predicted_OBP": 0.2595,
        "predicted_R": 0.356,
        "predicted_RBI": 0.4492,
        "predicted_SLG": 0.3148,
        "predicted_SO": 0.8518
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.29,
          "after": 0.2493,
          "delta": -0.0407,
          "percent_delta": -0.1403,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0012,
          "delta": 0.0012,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.43,
          "after": 3.3766,
          "delta": -0.0534,
          "percent_delta": -0.0156,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.211,
          "after": 0.2064,
          "delta": -0.0046,
          "percent_delta": -0.0218,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.129,
          "after": 0.1426,
          "delta": 0.0136,
          "percent_delta": 0.1054,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.72,
          "after": 0.6952,
          "delta": -0.0248,
          "percent_delta": -0.0344,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.0761,
          "delta": -0.0139,
          "percent_delta": -0.1544,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.266,
          "after": 0.2595,
          "delta": -0.0065,
          "percent_delta": -0.0244,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.387,
          "after": 0.356,
          "delta": -0.031,
          "percent_delta": -0.0801,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.45,
          "after": 0.4492,
          "delta": -0.0008,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.32,
          "after": 0.3148,
          "delta": -0.0052,
          "percent_delta": -0.0162,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.839,
          "after": 0.8518,
          "delta": 0.0128,
          "percent_delta": 0.0153,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.43,
          "after": 3.3766,
          "delta": -0.0534,
          "percent_delta": -0.0156,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 31
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2493,
        "predicted_3B": 0.0012,
        "predicted_AB": 3.3766,
        "predicted_AVG": 0.2086,
        "predicted_BB": 0.1439,
        "predicted_H": 0.7043,
        "predicted_HBP": 0.054,
        "predicted_HR": 0.0764,
        "predicted_OBP": 0.2409,
        "predicted_R": 0.365,
        "predicted_RBI": 0.4606,
        "predicted_SLG": 0.351,
        "predicted_SO": 0.844
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2493,
          "after": 0.2493,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0012,
          "after": 0.0012,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3766,
          "after": 3.3766,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2064,
          "after": 0.2086,
          "delta": 0.0022,
          "percent_delta": 0.0107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1426,
          "after": 0.1439,
          "delta": 0.0013,
          "percent_delta": 0.0091,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6952,
          "after": 0.7043,
          "delta": 0.0091,
          "percent_delta": 0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.054,
          "after": 0.054,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0761,
          "after": 0.0764,
          "delta": 0.0003,
          "percent_delta": 0.0039,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2595,
          "after": 0.2409,
          "delta": -0.0186,
          "percent_delta": -0.0717,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.356,
          "after": 0.365,
          "delta": 0.009,
          "percent_delta": 0.0253,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4492,
          "after": 0.4606,
          "delta": 0.0114,
          "percent_delta": 0.0254,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3148,
          "after": 0.351,
          "delta": 0.0362,
          "percent_delta": 0.115,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8518,
          "after": 0.844,
          "delta": -0.0078,
          "percent_delta": -0.0092,
          "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.3148,
          "after": 0.351,
          "delta": 0.0362,
          "percent_delta": 0.115,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.2595,
          "after": 0.2409,
          "delta": -0.0186,
          "percent_delta": -0.0717,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.43), rates preserved: AVG=0.205 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.2493,
          "after": 0.0,
          "delta": -0.2493,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0012,
          "after": 0.0,
          "delta": -0.0012,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3766,
          "after": 3.0,
          "delta": -0.3766,
          "percent_delta": -0.1115,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1439,
          "after": 0.0,
          "delta": -0.1439,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7043,
          "after": 1.0,
          "delta": 0.2957,
          "percent_delta": 0.4198,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.054,
          "after": 0.0,
          "delta": -0.054,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0764,
          "after": 0.0,
          "delta": -0.0764,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4606,
          "after": 0.0,
          "delta": -0.4606,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.844,
          "after": 1.0,
          "delta": 0.156,
          "percent_delta": 0.1848,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7043,
          "after": 1.0,
          "delta": 0.2957,
          "percent_delta": 0.4198,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4606,
          "after": 0.0,
          "delta": -0.4606,
          "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.365,
          "after": 0.0,
          "delta": -0.365,
          "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.365,
          "after": 0.0,
          "delta": -0.365,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_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": 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.205,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.244,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.353,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2086,
          "after": 0.205,
          "delta": -0.0036,
          "percent_delta": -0.0173,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2409,
          "after": 0.244,
          "delta": 0.0031,
          "percent_delta": 0.0129,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.351,
          "after": 0.353,
          "delta": 0.002,
          "percent_delta": 0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 5.0,
          "delta": 2.0,
          "percent_delta": 0.6667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 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": 5.0,
          "delta": 2.0,
          "percent_delta": 0.6667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2086,
        "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.2409,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.351,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.205,
          "after": 0.2086,
          "delta": 0.0036,
          "percent_delta": 0.0175,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.244,
          "after": 0.2409,
          "delta": -0.0031,
          "percent_delta": -0.0126,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.353,
          "after": 0.351,
          "delta": -0.002,
          "percent_delta": -0.0055,
          "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": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.29,
        "after": 0.0,
        "delta": -0.29,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.43,
        "after": 5.0,
        "delta": 1.57,
        "percent_delta": 0.4577,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.211,
        "after": 0.2086,
        "delta": -0.0024,
        "percent_delta": -0.0114,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.129,
        "after": 0.0,
        "delta": -0.129,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.72,
        "after": 0.0,
        "delta": -0.72,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.266,
        "after": 0.2409,
        "delta": -0.0251,
        "percent_delta": -0.0944,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.387,
        "after": 0.0,
        "delta": -0.387,
        "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.32,
        "after": 0.351,
        "delta": 0.031,
        "percent_delta": 0.0969,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.839,
        "after": 0.0,
        "delta": -0.839,
        "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": 3.43,
        "after": 5.0,
        "delta": 1.57,
        "percent_delta": 0.4577,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.839,
        "after": 0.0,
        "delta": -0.839,
        "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.290-
predicted_3B0.000-
predicted_AB3.430-
predicted_AVG0.211-
predicted_BB0.129-
predicted_H0.720-
predicted_HR0.090-
predicted_OBP0.266-
predicted_R0.387-
predicted_RBI0.450-
predicted_SLG0.320-
predicted_SO0.839-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.249-0.041
predicted_3B0.0010.001
predicted_AB3.377-0.053
predicted_AVG0.206-0.005
predicted_BB0.1430.014
predicted_H0.695-0.025
predicted_HBP0.054-
predicted_HR0.076-0.014
predicted_OBP0.260-0.007
predicted_R0.356-0.031
predicted_RBI0.449-0.001
predicted_SLG0.315-0.005
predicted_SO0.8520.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.2490.000
predicted_3B0.0010.000
predicted_AB3.3770.000
predicted_AVG0.2090.002
predicted_BB0.1440.001
predicted_H0.7040.009
predicted_HBP0.0540.000
predicted_HR0.0760.000
predicted_OBP0.241-0.019
predicted_R0.3650.009
predicted_RBI0.4610.011
predicted_SLG0.3510.036
predicted_SO0.844-0.008
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.43), rates preserved: AVG=0.205 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. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H0.000-1.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.249
predicted_3B0.000-0.001
predicted_AB3.000-0.377
predicted_AVG0.205-0.004
predicted_BB0.000-0.144
predicted_H1.0000.296
predicted_HR0.000-0.076
predicted_OBP0.2440.003
predicted_R0.000-0.365
predicted_RBI0.000-0.461
predicted_SLG0.3530.002
predicted_SO1.0000.156
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0002.000
BB0.0000.000
CS0.0000.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA5.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: 31
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.0000.0003.0000.0001.0004.0000.21430.26670.21430.21430.00000.21430.07140.2857
last_100.2010-29.0004.0001.0000.0000.0003.0002.0001.00010.0000.13790.19350.17240.13790.00000.10350.03450.3448
season0.6031-104.00020.0009.0000.0002.00013.00012.0004.00026.0000.19230.23640.33650.19230.01920.12500.03850.2500
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1850
predicted_3B0.0030
predicted_AB3.2920
predicted_AVG0.1991
predicted_BB0.1640
predicted_H0.6560
predicted_HBP0.0540
predicted_HR0.0540
predicted_OBP0.2492
predicted_R0.3070
predicted_RBI0.4480
predicted_SLG0.3067
predicted_SO0.8720
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.29000.18500.2493model_form_blend
predicted_3B0.00000.00300.0012model_form_blend
predicted_AB3.43003.29203.3766model_form_blend
predicted_AVG0.21100.19910.2064model_form_blend
predicted_BB0.12900.16400.1426model_form_blend
predicted_H0.72000.65600.6952model_form_blend
predicted_HBP-0.05400.0540form_only
predicted_HR0.09000.05400.0761model_form_blend
predicted_OBP0.26600.24920.2595model_form_blend
predicted_R0.38700.30700.3560model_form_blend
predicted_RBI0.45000.44800.4492model_form_blend
predicted_SLG0.32000.30670.3148model_form_blend
predicted_SO0.83900.87200.8518model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP1
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260826_LAD@ATL
game_typefull
mlbID677950
playerID677950
playerNameAlek Thomas
posCF
startedTrue
startingPositionCF
teamLAD
teamID14
game_date2026-08-26
sl_k_percent22.5
sl_bb_percent3.3
sl_woba0.244
sl_xwoba0.282
sl_xba0.232
sl_xslg0.374
sl_sweet_spot_percent33.3
sl_barrel_batted_rate7.1
sl_hard_hit_percent40.2
sl_exit_velocity_avg89.5
sl_launch_angle_avg13.0
sl_whiff_percent26.3
sl_swing_percent57.0
Kyle Tucker (663656) · BATTER · RF · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 496
All-history rows before 20260827: 496
System season_avg: 0.2310
Data season_avg (2026 season-to-date): 0.2376
Diff (system - data): -0.0066
System opponent_avg: 0.0830

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1570.0000.000Hitting_2B0.1650.000-0.1650.000
predicted_3B0.0250.0000.000Hitting_3B0.0280.000-0.0280.000
predicted_AB4.0104.0004.000Hitting_AB3.7265.0000.274-1.000
predicted_AVG0.1900.0000.250Hitting_AVG0.2380.000-0.2380.000
predicted_BB0.4631.0000.000Hitting_BB0.5020.0000.4981.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7600.0001.000Hitting_H0.8850.000-0.8850.000
predicted_HR0.0900.0000.000Hitting_HR0.1010.000-0.1010.000
predicted_OBP0.2930.2000.250Hitting_OBP0.3290.000-0.1290.200
predicted_R0.5791.0001.000Hitting_R0.6210.0000.3791.000
predicted_RBI0.4401.0000.000Hitting_RBI0.5000.0000.5001.000
predicted_SLG0.3470.0000.250Hitting_SLG0.3780.000-0.3780.000
predicted_SO0.7691.0001.000Hitting_SO0.7900.0000.2101.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics5
Deboosted Metrics5
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_RBI: 0.4400 -> 1.0000 (boost 0.5600, better)
Biggest Deboostpredicted_H: 0.7600 -> 0.0000 (deboost -0.7600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31212predicted_AVG: 0.1900 -> 0.2031 (boost 0.0131, better)predicted_AB: 4.0100 -> 3.9055 (deboost -0.1045, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot20202-predicted_SLG: 0.3306 -> 0.3115 (deboost -0.0191, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_SO: 0.7542 -> 1.0000 (boost 0.2458, worse)predicted_RBI: 0.4468 -> 0.0000 (deboost -0.4468, worse)AB rounded to 4 (raw=4.01), rates preserved: AVG=0.200 HR/AB=0.019
5bvp_blend00000--Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.083)
6consistency_constraints11010predicted_R: 0.6034 -> 1.0000 (boost 0.3966, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context30303-predicted_SLG: 0.3115 -> 0.2830 (deboost -0.0285, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference32121predicted_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
10current_json_final33030predicted_SLG: 0.2830 -> 0.3115 (boost 0.0285, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "663656",
  "player_name": "Kyle Tucker",
  "position": "RF",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.157,
        "predicted_3B": 0.025,
        "predicted_AB": 4.01,
        "predicted_AVG": 0.19,
        "predicted_BB": 0.463,
        "predicted_H": 0.76,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.293,
        "predicted_R": 0.579,
        "predicted_RBI": 0.44,
        "predicted_SLG": 0.347,
        "predicted_SO": 0.769
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1414,
        "predicted_3B": 0.0207,
        "predicted_AB": 3.9055,
        "predicted_AVG": 0.2031,
        "predicted_BB": 0.4335,
        "predicted_H": 0.7903,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0774,
        "predicted_OBP": 0.2936,
        "predicted_R": 0.5885,
        "predicted_RBI": 0.4357,
        "predicted_SLG": 0.3306,
        "predicted_SO": 0.7612
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.157,
          "after": 0.1414,
          "delta": -0.0156,
          "percent_delta": -0.0994,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.025,
          "after": 0.0207,
          "delta": -0.0043,
          "percent_delta": -0.172,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.01,
          "after": 3.9055,
          "delta": -0.1045,
          "percent_delta": -0.0261,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.19,
          "after": 0.2031,
          "delta": 0.0131,
          "percent_delta": 0.0689,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.463,
          "after": 0.4335,
          "delta": -0.0295,
          "percent_delta": -0.0637,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.76,
          "after": 0.7903,
          "delta": 0.0303,
          "percent_delta": 0.0399,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.0774,
          "delta": -0.0126,
          "percent_delta": -0.14,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.293,
          "after": 0.2936,
          "delta": 0.0006,
          "percent_delta": 0.002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.579,
          "after": 0.5885,
          "delta": 0.0095,
          "percent_delta": 0.0164,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.44,
          "after": 0.4357,
          "delta": -0.0043,
          "percent_delta": -0.0098,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.347,
          "after": 0.3306,
          "delta": -0.0164,
          "percent_delta": -0.0473,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.769,
          "after": 0.7612,
          "delta": -0.0078,
          "percent_delta": -0.0101,
          "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.19,
          "after": 0.2031,
          "delta": 0.0131,
          "percent_delta": 0.0689,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.01,
          "after": 3.9055,
          "delta": -0.1045,
          "percent_delta": -0.0261,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.1414,
        "predicted_3B": 0.0207,
        "predicted_AB": 3.9055,
        "predicted_AVG": 0.205,
        "predicted_BB": 0.4375,
        "predicted_H": 0.8007,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0777,
        "predicted_OBP": 0.2851,
        "predicted_R": 0.6034,
        "predicted_RBI": 0.4468,
        "predicted_SLG": 0.3115,
        "predicted_SO": 0.7542
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1414,
          "after": 0.1414,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0207,
          "after": 0.0207,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9055,
          "after": 3.9055,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2031,
          "after": 0.205,
          "delta": 0.0019,
          "percent_delta": 0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4335,
          "after": 0.4375,
          "delta": 0.004,
          "percent_delta": 0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7903,
          "after": 0.8007,
          "delta": 0.0104,
          "percent_delta": 0.0132,
          "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.0774,
          "after": 0.0777,
          "delta": 0.0003,
          "percent_delta": 0.0039,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2936,
          "after": 0.2851,
          "delta": -0.0085,
          "percent_delta": -0.029,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5885,
          "after": 0.6034,
          "delta": 0.0149,
          "percent_delta": 0.0253,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4357,
          "after": 0.4468,
          "delta": 0.0111,
          "percent_delta": 0.0255,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3306,
          "after": 0.3115,
          "delta": -0.0191,
          "percent_delta": -0.0578,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7612,
          "after": 0.7542,
          "delta": -0.007,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3306,
          "after": 0.3115,
          "delta": -0.0191,
          "percent_delta": -0.0578,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.01), rates preserved: AVG=0.200 HR/AB=0.019",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1414,
          "after": 0.0,
          "delta": -0.1414,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0207,
          "after": 0.0,
          "delta": -0.0207,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9055,
          "after": 4.0,
          "delta": 0.0945,
          "percent_delta": 0.0242,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4375,
          "after": 0.0,
          "delta": -0.4375,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8007,
          "after": 1.0,
          "delta": 0.1993,
          "percent_delta": 0.2489,
          "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.0777,
          "after": 0.0,
          "delta": -0.0777,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4468,
          "after": 0.0,
          "delta": -0.4468,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7542,
          "after": 1.0,
          "delta": 0.2458,
          "percent_delta": 0.3259,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.7542,
          "after": 1.0,
          "delta": 0.2458,
          "percent_delta": 0.3259,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4468,
          "after": 0.0,
          "delta": -0.4468,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.083)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8857,
        "bvp": 0.1143
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6034,
          "after": 1.0,
          "delta": 0.3966,
          "percent_delta": 0.6573,
          "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.6034,
          "after": 1.0,
          "delta": 0.3966,
          "percent_delta": 0.6573,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "embedded_savant_player_context",
      "description": "Player 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.186,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.264,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.283,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.205,
          "after": 0.186,
          "delta": -0.019,
          "percent_delta": -0.0927,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2851,
          "after": 0.264,
          "delta": -0.0211,
          "percent_delta": -0.074,
          "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.3115,
          "after": 0.283,
          "delta": -0.0285,
          "percent_delta": -0.0915,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.3115,
          "after": 0.283,
          "delta": -0.0285,
          "percent_delta": -0.0915,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 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": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "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.205,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2851,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3115,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.186,
          "after": 0.205,
          "delta": 0.019,
          "percent_delta": 0.1022,
          "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.264,
          "after": 0.2851,
          "delta": 0.0211,
          "percent_delta": 0.0799,
          "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.283,
          "after": 0.3115,
          "delta": 0.0285,
          "percent_delta": 0.1008,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.283,
          "after": 0.3115,
          "delta": 0.0285,
          "percent_delta": 0.1008,
          "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.157,
        "after": 0.0,
        "delta": -0.157,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.025,
        "after": 0.0,
        "delta": -0.025,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.01,
        "after": 4.0,
        "delta": -0.01,
        "percent_delta": -0.0025,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AVG",
        "before": 0.19,
        "after": 0.205,
        "delta": 0.015,
        "percent_delta": 0.0789,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.463,
        "after": 1.0,
        "delta": 0.537,
        "percent_delta": 1.1598,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.76,
        "after": 0.0,
        "delta": -0.76,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.293,
        "after": 0.2851,
        "delta": -0.0079,
        "percent_delta": -0.027,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.579,
        "after": 1.0,
        "delta": 0.421,
        "percent_delta": 0.7271,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.44,
        "after": 1.0,
        "delta": 0.56,
        "percent_delta": 1.2727,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.347,
        "after": 0.3115,
        "delta": -0.0355,
        "percent_delta": -0.1023,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.769,
        "after": 1.0,
        "delta": 0.231,
        "percent_delta": 0.3004,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 5,
      "deboosted_metrics": 5,
      "better_metrics": 4,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.44,
        "after": 1.0,
        "delta": 0.56,
        "percent_delta": 1.2727,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.76,
        "after": 0.0,
        "delta": -0.76,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.157-
predicted_3B0.025-
predicted_AB4.010-
predicted_AVG0.190-
predicted_BB0.463-
predicted_H0.760-
predicted_HR0.090-
predicted_OBP0.293-
predicted_R0.579-
predicted_RBI0.440-
predicted_SLG0.347-
predicted_SO0.769-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.141-0.016
predicted_3B0.021-0.004
predicted_AB3.905-0.104
predicted_AVG0.2030.013
predicted_BB0.433-0.030
predicted_H0.7900.030
predicted_HBP0.016-
predicted_HR0.077-0.013
predicted_OBP0.2940.001
predicted_R0.5890.010
predicted_RBI0.436-0.004
predicted_SLG0.331-0.016
predicted_SO0.761-0.008
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1410.000
predicted_3B0.0210.000
predicted_AB3.9050.000
predicted_AVG0.2050.002
predicted_BB0.4380.004
predicted_H0.8010.010
predicted_HBP0.0160.000
predicted_HR0.0780.000
predicted_OBP0.285-0.009
predicted_R0.6030.015
predicted_RBI0.4470.011
predicted_SLG0.311-0.019
predicted_SO0.754-0.007
4. ab_floor_and_scaling

AB rounded to 4 (raw=4.01), rates preserved: AVG=0.200 HR/AB=0.019

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
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
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI0.0000.000
SO1.0000.000
8. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.141
predicted_3B0.000-0.021
predicted_AB4.0000.095
predicted_AVG0.186-0.019
predicted_BB0.000-0.438
predicted_H1.0000.199
predicted_HR0.000-0.078
predicted_OBP0.264-0.021
predicted_R1.0000.397
predicted_RBI0.000-0.447
predicted_SLG0.283-0.029
predicted_SO1.0000.246
9. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA5.000-
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: 121
Reference playing time: 4.010
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0005.0000.0000.0000.0002.0004.0002.0003.0000.25000.31820.25000.25000.00000.10000.10000.1500
last_100.2010-40.0006.0001.0000.0000.0003.0005.0002.0008.0000.15000.19050.17500.15000.00000.07500.05000.2000
season0.60121-437.000101.00019.0003.00011.00057.00070.00056.00093.0000.23110.32000.36380.23110.02520.13040.12810.2128
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1210
predicted_3B0.0150
predicted_AB3.7690
predicted_AVG0.2203
predicted_BB0.3950
predicted_H0.8300
predicted_HBP0.0160
predicted_HR0.0610
predicted_OBP0.2944
predicted_R0.6010
predicted_RBI0.4300
predicted_SLG0.3092
predicted_SO0.7510
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15700.12100.1414model_form_blend
predicted_3B0.02500.01500.0207model_form_blend
predicted_AB4.01003.76903.9055model_form_blend
predicted_AVG0.19000.22030.2031model_form_blend
predicted_BB0.46300.39500.4335model_form_blend
predicted_H0.76000.83000.7903model_form_blend
predicted_HBP-0.01600.0160form_only
predicted_HR0.09000.06100.0774model_form_blend
predicted_OBP0.29300.29440.2936model_form_blend
predicted_R0.57900.60100.5885model_form_blend
predicted_RBI0.44000.43000.4357model_form_blend
predicted_SLG0.34700.30920.3306model_form_blend
predicted_SO0.76900.75100.7612model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260826_LAD@ATL
game_typefull
mlbID663656
playerID663656
playerNameKyle Tucker
posRF
startedTrue
startingPositionRF
teamLAD
teamID14
game_date2026-08-26
sl_k_percent18.0
sl_bb_percent12.3
sl_woba0.307
sl_xwoba0.325
sl_xba0.253
sl_xslg0.376
sl_sweet_spot_percent33.7
sl_barrel_batted_rate5.5
sl_hard_hit_percent37.0
sl_exit_velocity_avg88.7
sl_launch_angle_avg17.2
sl_whiff_percent22.0
sl_swing_percent49.0
Hunter Feduccia (676439) · BATTER · C · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 38
All-history rows before 20260827: 38
System season_avg: 0.2420
Data season_avg (2026 season-to-date): 0.2143
Diff (system - data): 0.0277
System opponent_avg: 0.2420
System season_avg diverges from 2026 season-to-date by 0.0277. 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.1290.0000.000Hitting_2B0.1050.000-0.1050.000
predicted_3B0.0140.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.5434.0003.000Hitting_AB2.5792.0001.4212.000
predicted_AVG0.2860.0000.333Hitting_AVG0.2140.500-0.214-0.500
predicted_BB0.2290.0000.000Hitting_BB0.4211.000-0.421-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7100.0001.000Hitting_H0.5531.000-0.553-1.000
predicted_HR0.0700.0000.000Hitting_HR0.0790.000-0.0790.000
predicted_OBP0.3270.0000.333Hitting_OBP0.3250.667-0.325-0.667
predicted_R0.2860.0000.000Hitting_R0.3160.000-0.3160.000
predicted_RBI0.3200.0000.000Hitting_RBI0.1581.000-0.158-1.000
predicted_SLG0.3710.0000.333Hitting_SLG0.3470.500-0.347-0.500
predicted_SO0.7292.0001.000Hitting_SO0.3950.0001.6052.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_AB: 2.5430 -> 4.0000 (boost 1.4570, better)
Biggest Deboostpredicted_H: 0.7100 -> 0.0000 (deboost -0.7100, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_AB: 2.5430 -> 2.6483 (boost 0.1053, better)predicted_AVG: 0.2860 -> 0.2719 (deboost -0.0141, worse)Final model input calibrated 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.3703 -> 0.4038 (boost 0.0335, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_AB: 2.6483 -> 3.0000 (boost 0.3517, better)predicted_RBI: 0.3121 -> 0.0000 (deboost -0.3121, worse)AB rounded to 3 (raw=2.65), rates preserved: AVG=0.271 HR/AB=0.024
5consistency_constraints10101-predicted_R: 0.3131 -> 0.0000 (deboost -0.3131, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context11010predicted_OBP: 0.3369 -> 0.3420 (boost 0.0051, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_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
9current_json_final10101-predicted_OBP: 0.3420 -> 0.3369 (deboost -0.0051, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "676439",
  "player_name": "Hunter Feduccia",
  "position": "C",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.129,
        "predicted_3B": 0.014,
        "predicted_AB": 2.543,
        "predicted_AVG": 0.286,
        "predicted_BB": 0.229,
        "predicted_H": 0.71,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.327,
        "predicted_R": 0.286,
        "predicted_RBI": 0.32,
        "predicted_SLG": 0.371,
        "predicted_SO": 0.729
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1343,
        "predicted_3B": 0.0124,
        "predicted_AB": 2.6483,
        "predicted_AVG": 0.2719,
        "predicted_BB": 0.2623,
        "predicted_H": 0.7075,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.0642,
        "predicted_OBP": 0.327,
        "predicted_R": 0.3053,
        "predicted_RBI": 0.3044,
        "predicted_SLG": 0.3703,
        "predicted_SO": 0.7553
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.129,
          "after": 0.1343,
          "delta": 0.0053,
          "percent_delta": 0.0411,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.014,
          "after": 0.0124,
          "delta": -0.0016,
          "percent_delta": -0.1143,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.543,
          "after": 2.6483,
          "delta": 0.1053,
          "percent_delta": 0.0414,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.286,
          "after": 0.2719,
          "delta": -0.0141,
          "percent_delta": -0.0493,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.229,
          "after": 0.2623,
          "delta": 0.0333,
          "percent_delta": 0.1454,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.71,
          "after": 0.7075,
          "delta": -0.0025,
          "percent_delta": -0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.0642,
          "delta": -0.0058,
          "percent_delta": -0.0829,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.327,
          "after": 0.327,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.286,
          "after": 0.3053,
          "delta": 0.0193,
          "percent_delta": 0.0675,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.32,
          "after": 0.3044,
          "delta": -0.0156,
          "percent_delta": -0.0488,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.371,
          "after": 0.3703,
          "delta": -0.0007,
          "percent_delta": -0.0019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.729,
          "after": 0.7553,
          "delta": 0.0263,
          "percent_delta": 0.0361,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.543,
          "after": 2.6483,
          "delta": 0.1053,
          "percent_delta": 0.0414,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.286,
          "after": 0.2719,
          "delta": -0.0141,
          "percent_delta": -0.0493,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 70
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1343,
        "predicted_3B": 0.0124,
        "predicted_AB": 2.6483,
        "predicted_AVG": 0.2707,
        "predicted_BB": 0.2647,
        "predicted_H": 0.7168,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.0645,
        "predicted_OBP": 0.3369,
        "predicted_R": 0.3131,
        "predicted_RBI": 0.3121,
        "predicted_SLG": 0.4038,
        "predicted_SO": 0.7484
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1343,
          "after": 0.1343,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0124,
          "after": 0.0124,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.6483,
          "after": 2.6483,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2719,
          "after": 0.2707,
          "delta": -0.0012,
          "percent_delta": -0.0044,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2623,
          "after": 0.2647,
          "delta": 0.0024,
          "percent_delta": 0.0091,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7075,
          "after": 0.7168,
          "delta": 0.0093,
          "percent_delta": 0.0131,
          "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.0642,
          "after": 0.0645,
          "delta": 0.0003,
          "percent_delta": 0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.327,
          "after": 0.3369,
          "delta": 0.0099,
          "percent_delta": 0.0303,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3053,
          "after": 0.3131,
          "delta": 0.0078,
          "percent_delta": 0.0255,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3044,
          "after": 0.3121,
          "delta": 0.0077,
          "percent_delta": 0.0253,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3703,
          "after": 0.4038,
          "delta": 0.0335,
          "percent_delta": 0.0905,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7553,
          "after": 0.7484,
          "delta": -0.0069,
          "percent_delta": -0.0091,
          "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.3703,
          "after": 0.4038,
          "delta": 0.0335,
          "percent_delta": 0.0905,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.65), rates preserved: AVG=0.271 HR/AB=0.024",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1343,
          "after": 0.0,
          "delta": -0.1343,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0124,
          "after": 0.0,
          "delta": -0.0124,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.6483,
          "after": 3.0,
          "delta": 0.3517,
          "percent_delta": 0.1328,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2647,
          "after": 0.0,
          "delta": -0.2647,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7168,
          "after": 1.0,
          "delta": 0.2832,
          "percent_delta": 0.3951,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_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.0645,
          "after": 0.0,
          "delta": -0.0645,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3121,
          "after": 0.0,
          "delta": -0.3121,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7484,
          "after": 1.0,
          "delta": 0.2516,
          "percent_delta": 0.3362,
          "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.6483,
          "after": 3.0,
          "delta": 0.3517,
          "percent_delta": 0.1328,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3121,
          "after": 0.0,
          "delta": -0.3121,
          "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.3131,
          "after": 0.0,
          "delta": -0.3131,
          "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.3131,
          "after": 0.0,
          "delta": -0.3131,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": {},
      "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.271,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.342,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.404,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2707,
          "after": 0.271,
          "delta": 0.0003,
          "percent_delta": 0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3369,
          "after": 0.342,
          "delta": 0.0051,
          "percent_delta": 0.0151,
          "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.4038,
          "after": 0.404,
          "delta": 0.0002,
          "percent_delta": 0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.3369,
          "after": 0.342,
          "delta": 0.0051,
          "percent_delta": 0.0151,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2707,
        "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.3369,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4038,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.271,
          "after": 0.2707,
          "delta": -0.0003,
          "percent_delta": -0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.342,
          "after": 0.3369,
          "delta": -0.0051,
          "percent_delta": -0.0148,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.404,
          "after": 0.4038,
          "delta": -0.0002,
          "percent_delta": -0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.342,
          "after": 0.3369,
          "delta": -0.0051,
          "percent_delta": -0.0148,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.129,
        "after": 0.0,
        "delta": -0.129,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.014,
        "after": 0.0,
        "delta": -0.014,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.543,
        "after": 4.0,
        "delta": 1.457,
        "percent_delta": 0.5729,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.286,
        "after": 0.2707,
        "delta": -0.0153,
        "percent_delta": -0.0535,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.229,
        "after": 0.0,
        "delta": -0.229,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.71,
        "after": 0.0,
        "delta": -0.71,
        "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.327,
        "after": 0.3369,
        "delta": 0.0099,
        "percent_delta": 0.0303,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.286,
        "after": 0.0,
        "delta": -0.286,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.32,
        "after": 0.0,
        "delta": -0.32,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.371,
        "after": 0.4038,
        "delta": 0.0328,
        "percent_delta": 0.0884,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.729,
        "after": 2.0,
        "delta": 1.271,
        "percent_delta": 1.7435,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.543,
        "after": 4.0,
        "delta": 1.457,
        "percent_delta": 0.5729,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.71,
        "after": 0.0,
        "delta": -0.71,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.129-
predicted_3B0.014-
predicted_AB2.543-
predicted_AVG0.286-
predicted_BB0.229-
predicted_H0.710-
predicted_HR0.070-
predicted_OBP0.327-
predicted_R0.286-
predicted_RBI0.320-
predicted_SLG0.371-
predicted_SO0.729-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.005
predicted_3B0.012-0.002
predicted_AB2.6480.105
predicted_AVG0.272-0.014
predicted_BB0.2620.033
predicted_H0.708-0.002
predicted_HBP0.011-
predicted_HR0.064-0.006
predicted_OBP0.3270.000
predicted_R0.3050.019
predicted_RBI0.304-0.016
predicted_SLG0.370-0.001
predicted_SO0.7550.026
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1340.000
predicted_3B0.0120.000
predicted_AB2.6480.000
predicted_AVG0.271-0.001
predicted_BB0.2650.002
predicted_H0.7170.009
predicted_HBP0.0110.000
predicted_HR0.0650.000
predicted_OBP0.3370.010
predicted_R0.3130.008
predicted_RBI0.3120.008
predicted_SLG0.4040.033
predicted_SO0.748-0.007
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.65), rates preserved: AVG=0.271 HR/AB=0.024

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.134
predicted_3B0.000-0.012
predicted_AB3.0000.352
predicted_AVG0.2710.000
predicted_BB0.000-0.265
predicted_H1.0000.283
predicted_HR0.000-0.065
predicted_OBP0.3420.005
predicted_R0.000-0.313
predicted_RBI0.000-0.312
predicted_SLG0.4040.000
predicted_SO1.0000.252
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
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: 70
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0004.0001.0000.0000.0002.0002.0003.0005.0000.26670.38890.33330.26670.00000.13330.20000.3333
last_100.2010-26.0007.0001.0000.0001.0003.0003.0003.0007.0000.26920.34480.42310.26920.03850.11540.11540.2692
season0.6070-178.00043.0009.0001.0003.00014.00020.00016.00051.0000.24160.30610.35390.24160.01690.07860.08990.2865
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1420
predicted_3B0.0100
predicted_AB2.7990
predicted_AVG0.2516
predicted_BB0.3100
predicted_H0.7040
predicted_HBP0.0110
predicted_HR0.0560
predicted_OBP0.3271
predicted_R0.3330
predicted_RBI0.2820
predicted_SLG0.3694
predicted_SO0.7930
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12900.14200.1343model_form_blend
predicted_3B0.01400.01000.0124model_form_blend
predicted_AB2.54302.79902.6483model_form_blend
predicted_AVG0.28600.25160.2719model_form_blend
predicted_BB0.22900.31000.2623model_form_blend
predicted_H0.71000.70400.7075model_form_blend
predicted_HBP-0.01100.0110form_only
predicted_HR0.07000.05600.0642model_form_blend
predicted_OBP0.32700.32710.3270model_form_blend
predicted_R0.28600.33300.3053model_form_blend
predicted_RBI0.32000.28200.3044model_form_blend
predicted_SLG0.37100.36940.3703model_form_blend
predicted_SO0.72900.79300.7553model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC1
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder9
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260826_LAD@ATL
game_typefull
mlbID676439
playerID676439
playerNameHunter Feduccia
posC
startedTrue
startingPositionC
teamLAD
teamID14
game_date2026-08-26
sl_k_percent24.4
sl_bb_percent9.6
sl_woba0.3
sl_xwoba0.324
sl_xba0.254
sl_xslg0.399
sl_sweet_spot_percent38.0
sl_barrel_batted_rate8.8
sl_hard_hit_percent39.7
sl_exit_velocity_avg90.4
sl_launch_angle_avg16.4
sl_whiff_percent22.6
sl_swing_percent43.4
Teoscar Hernández (606192) · BATTER · LF · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 359
All-history rows before 20260827: 359
System season_avg: 0.2440
Data season_avg (2026 season-to-date): 0.2515
Diff (system - data): -0.0075
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.1380.0000.000Hitting_2B0.1360.000-0.1360.000
predicted_3B0.0110.0000.000Hitting_3B0.0110.000-0.0110.000
predicted_AB3.6805.0004.000Hitting_AB3.6553.0001.3452.000
predicted_AVG0.2100.2000.250Hitting_AVG0.2520.667-0.052-0.467
predicted_BB0.2980.0000.000Hitting_BB0.3341.000-0.334-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0030.000-0.0030.000
predicted_H0.7701.0001.000Hitting_H0.9192.0000.081-1.000
predicted_HR0.0900.0000.000Hitting_HR0.1250.000-0.1250.000
predicted_OBP0.2730.2000.250Hitting_OBP0.3160.750-0.116-0.550
predicted_R0.5210.0000.000Hitting_R0.5740.000-0.5740.000
predicted_RBI0.3700.0000.000Hitting_RBI0.5010.000-0.5010.000
predicted_SLG0.3660.2000.250Hitting_SLG0.3980.667-0.198-0.467
predicted_SO1.0740.0001.000Hitting_SO1.0811.000-1.081-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics3
Deboosted Metrics7
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_AB: 3.6800 -> 5.0000 (boost 1.3200, better)
Biggest Deboostpredicted_SO: 1.0740 -> 0.0000 (deboost -1.0740, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend22011predicted_SO: 1.0740 -> 1.1318 (boost 0.0578, worse)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot10101-predicted_SLG: 0.3660 -> 0.3461 (deboost -0.0199, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72534predicted_AB: 3.6757 -> 4.0000 (boost 0.3243, better)predicted_RBI: 0.3939 -> 0.0000 (deboost -0.3939, worse)AB rounded to 4 (raw=3.68), rates preserved: AVG=0.221 HR/AB=0.023
5bvp_blend00000--Sample-size BvP blend (BvP AB=20.0, weight=0.160, BvP AVG=0.250)
6consistency_constraints11010predicted_R: 0.5223 -> 1.0000 (boost 0.4777, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation10101-predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context33030predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference31221predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
10current_json_final20202-predicted_OBP: 0.2950 -> 0.2775 (deboost -0.0175, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "606192",
  "player_name": "Teoscar Hernández",
  "position": "LF",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.138,
        "predicted_3B": 0.011,
        "predicted_AB": 3.68,
        "predicted_AVG": 0.21,
        "predicted_BB": 0.298,
        "predicted_H": 0.77,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.273,
        "predicted_R": 0.521,
        "predicted_RBI": 0.37,
        "predicted_SLG": 0.366,
        "predicted_SO": 1.074
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.141,
        "predicted_3B": 0.0315,
        "predicted_AB": 3.6757,
        "predicted_AVG": 0.219,
        "predicted_BB": 0.2826,
        "predicted_H": 0.8034,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.0844,
        "predicted_OBP": 0.2774,
        "predicted_R": 0.5094,
        "predicted_RBI": 0.3841,
        "predicted_SLG": 0.366,
        "predicted_SO": 1.1318
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.138,
          "after": 0.141,
          "delta": 0.003,
          "percent_delta": 0.0217,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.011,
          "after": 0.0315,
          "delta": 0.0205,
          "percent_delta": 1.8636,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.68,
          "after": 3.6757,
          "delta": -0.0043,
          "percent_delta": -0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.21,
          "after": 0.219,
          "delta": 0.009,
          "percent_delta": 0.0429,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.298,
          "after": 0.2826,
          "delta": -0.0154,
          "percent_delta": -0.0517,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.77,
          "after": 0.8034,
          "delta": 0.0334,
          "percent_delta": 0.0434,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.0844,
          "delta": -0.0056,
          "percent_delta": -0.0622,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.273,
          "after": 0.2774,
          "delta": 0.0044,
          "percent_delta": 0.0161,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.521,
          "after": 0.5094,
          "delta": -0.0116,
          "percent_delta": -0.0223,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.37,
          "after": 0.3841,
          "delta": 0.0141,
          "percent_delta": 0.0381,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.366,
          "after": 0.366,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.074,
          "after": 1.1318,
          "delta": 0.0578,
          "percent_delta": 0.0538,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.074,
          "after": 1.1318,
          "delta": 0.0578,
          "percent_delta": 0.0538,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 94
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.141,
        "predicted_3B": 0.0315,
        "predicted_AB": 3.6757,
        "predicted_AVG": 0.2214,
        "predicted_BB": 0.2852,
        "predicted_H": 0.8139,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.0848,
        "predicted_OBP": 0.2775,
        "predicted_R": 0.5223,
        "predicted_RBI": 0.3939,
        "predicted_SLG": 0.3461,
        "predicted_SO": 1.1214
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.141,
          "after": 0.141,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0315,
          "after": 0.0315,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6757,
          "after": 3.6757,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.219,
          "after": 0.2214,
          "delta": 0.0024,
          "percent_delta": 0.011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2826,
          "after": 0.2852,
          "delta": 0.0026,
          "percent_delta": 0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8034,
          "after": 0.8139,
          "delta": 0.0105,
          "percent_delta": 0.0131,
          "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.0844,
          "after": 0.0848,
          "delta": 0.0004,
          "percent_delta": 0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2774,
          "after": 0.2775,
          "delta": 0.0001,
          "percent_delta": 0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5094,
          "after": 0.5223,
          "delta": 0.0129,
          "percent_delta": 0.0253,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3841,
          "after": 0.3939,
          "delta": 0.0098,
          "percent_delta": 0.0255,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.366,
          "after": 0.3461,
          "delta": -0.0199,
          "percent_delta": -0.0544,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1318,
          "after": 1.1214,
          "delta": -0.0104,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.366,
          "after": 0.3461,
          "delta": -0.0199,
          "percent_delta": -0.0544,
          "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.221 HR/AB=0.023",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.141,
          "after": 0.0,
          "delta": -0.141,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0315,
          "after": 0.0,
          "delta": -0.0315,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6757,
          "after": 4.0,
          "delta": 0.3243,
          "percent_delta": 0.0882,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2852,
          "after": 0.0,
          "delta": -0.2852,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8139,
          "after": 1.0,
          "delta": 0.1861,
          "percent_delta": 0.2287,
          "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.0848,
          "after": 0.0,
          "delta": -0.0848,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3939,
          "after": 0.0,
          "delta": -0.3939,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1214,
          "after": 1.0,
          "delta": -0.1214,
          "percent_delta": -0.1083,
          "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.6757,
          "after": 4.0,
          "delta": 0.3243,
          "percent_delta": 0.0882,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3939,
          "after": 0.0,
          "delta": -0.3939,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=20.0, weight=0.160, BvP AVG=0.250)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.84,
        "bvp": 0.16
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5223,
          "after": 1.0,
          "delta": 0.4777,
          "percent_delta": 0.9146,
          "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.5223,
          "after": 1.0,
          "delta": 0.4777,
          "percent_delta": 0.9146,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.226,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.295,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.363,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2214,
          "after": 0.226,
          "delta": 0.0046,
          "percent_delta": 0.0208,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2775,
          "after": 0.295,
          "delta": 0.0175,
          "percent_delta": 0.0631,
          "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": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3461,
          "after": 0.363,
          "delta": 0.0169,
          "percent_delta": 0.0488,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "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.2214,
        "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.2775,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3461,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.226,
          "after": 0.2214,
          "delta": -0.0046,
          "percent_delta": -0.0202,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.295,
          "after": 0.2775,
          "delta": -0.0175,
          "percent_delta": -0.0593,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.363,
          "after": 0.3461,
          "delta": -0.0169,
          "percent_delta": -0.0465,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.295,
          "after": 0.2775,
          "delta": -0.0175,
          "percent_delta": -0.0593,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.138,
        "after": 0.0,
        "delta": -0.138,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.011,
        "after": 0.0,
        "delta": -0.011,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.68,
        "after": 5.0,
        "delta": 1.32,
        "percent_delta": 0.3587,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.21,
        "after": 0.2214,
        "delta": 0.0114,
        "percent_delta": 0.0543,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.298,
        "after": 0.0,
        "delta": -0.298,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.77,
        "after": 1.0,
        "delta": 0.23,
        "percent_delta": 0.2987,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.273,
        "after": 0.2775,
        "delta": 0.0045,
        "percent_delta": 0.0165,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.521,
        "after": 0.0,
        "delta": -0.521,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.37,
        "after": 0.0,
        "delta": -0.37,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.366,
        "after": 0.3461,
        "delta": -0.0199,
        "percent_delta": -0.0544,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.074,
        "after": 0.0,
        "delta": -1.074,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 4,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.68,
        "after": 5.0,
        "delta": 1.32,
        "percent_delta": 0.3587,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.074,
        "after": 0.0,
        "delta": -1.074,
        "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.138-
predicted_3B0.011-
predicted_AB3.680-
predicted_AVG0.210-
predicted_BB0.298-
predicted_H0.770-
predicted_HR0.090-
predicted_OBP0.273-
predicted_R0.521-
predicted_RBI0.370-
predicted_SLG0.366-
predicted_SO1.074-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1410.003
predicted_3B0.0320.021
predicted_AB3.676-0.004
predicted_AVG0.2190.009
predicted_BB0.283-0.015
predicted_H0.8030.033
predicted_HBP0.015-
predicted_HR0.084-0.006
predicted_OBP0.2770.004
predicted_R0.509-0.012
predicted_RBI0.3840.014
predicted_SLG0.3660.000
predicted_SO1.1320.058
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1410.000
predicted_3B0.0320.000
predicted_AB3.6760.000
predicted_AVG0.2210.002
predicted_BB0.2850.003
predicted_H0.8140.010
predicted_HBP0.0150.000
predicted_HR0.0850.000
predicted_OBP0.2780.000
predicted_R0.5220.013
predicted_RBI0.3940.010
predicted_SLG0.346-0.020
predicted_SO1.121-0.010
4. ab_floor_and_scaling

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

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

Sample-size BvP blend (BvP AB=20.0, weight=0.160, BvP AVG=0.250)

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

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.000-1.000
RBI0.0000.000
SO1.0000.000
8. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.141
predicted_3B0.000-0.032
predicted_AB4.0000.324
predicted_AVG0.2260.005
predicted_BB0.000-0.285
predicted_H1.0000.186
predicted_HR0.000-0.085
predicted_OBP0.2950.017
predicted_R1.0000.478
predicted_RBI0.000-0.394
predicted_SLG0.3630.017
predicted_SO1.000-0.121
9. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0001.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.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: 94
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0004.0001.0001.0000.0002.0003.0001.0008.0000.20000.23810.35000.20000.00000.10000.05000.4000
last_100.2010-37.0008.0001.0001.0000.0002.0003.0002.00014.0000.21620.25640.29730.21620.00000.05410.05410.3784
season0.6094-332.00081.00013.0001.00011.00043.00049.00028.000101.0000.24400.30410.38860.24400.03310.12950.08430.3042
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1450
predicted_3B0.0590
predicted_AB3.6700
predicted_AVG0.2310
predicted_BB0.2620
predicted_H0.8480
predicted_HBP0.0150
predicted_HR0.0770
predicted_OBP0.2832
predicted_R0.4940
predicted_RBI0.4030
predicted_SLG0.3660
predicted_SO1.2090
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13800.14500.1410model_form_blend
predicted_3B0.01100.05900.0315model_form_blend
predicted_AB3.68003.67003.6757model_form_blend
predicted_AVG0.21000.23100.2190model_form_blend
predicted_BB0.29800.26200.2826model_form_blend
predicted_H0.77000.84800.8034model_form_blend
predicted_HBP-0.01500.0150form_only
predicted_HR0.09000.07700.0844model_form_blend
predicted_OBP0.27300.28320.2774model_form_blend
predicted_R0.52100.49400.5094model_form_blend
predicted_RBI0.37000.40300.3841model_form_blend
predicted_SLG0.36600.36600.3660model_form_blend
predicted_SO1.07401.20901.1318model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.667
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260826_LAD@ATL
game_typefull
mlbID606192
playerID606192
playerNameTeoscar Hernández
posLF
startedTrue
startingPositionLF
teamLAD
teamID14
game_date2026-08-26
sl_k_percent28.1
sl_bb_percent7.9
sl_woba0.311
sl_xwoba0.315
sl_xba0.243
sl_xslg0.411
sl_sweet_spot_percent32.0
sl_barrel_batted_rate9.3
sl_hard_hit_percent43.3
sl_exit_velocity_avg89.6
sl_launch_angle_avg14.2
sl_whiff_percent32.3
sl_swing_percent47.9
Yoshinobu Yamamoto (808967) · PITCHER · Starter · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 23
All-history rows before 20260827: 23

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB1.5221.0000.4781.000
predicted_ER2.0002.0002.000Pitching_ER1.9132.0000.0870.000
predicted_H2.0002.0002.000Pitching_H4.3915.000-2.391-3.000
predicted_IP6.1006.1006.100Pitching_InningsPitched6.5136.100-0.4130.000
predicted_SO6.0006.0006.000Pitching_SO6.3049.000-0.304-3.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB2.000-
predicted_ER2.000-
predicted_H2.000-
predicted_HR2.000-
predicted_IP6.333-
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_BB2.0000.000
predicted_ER2.0000.000
predicted_H2.0000.000
predicted_HR1.000-1.000
predicted_IP6.100-0.233
predicted_SO6.0000.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: 6.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45532.0007.00021.00010.00032.0002.0001.96880.96880.21880.65620.31251.00000.0625
last_100.351066.00020.00044.00020.00065.0005.0002.72730.96970.30300.66670.30300.98490.0758
season0.2023151.20044.000101.00035.000145.00015.0002.61100.89670.29010.66590.23080.95600.0989
Weighted Prediction From Real Data
MetricValue
predicted_BB1.9860
predicted_ER1.9780
predicted_ERA2.7456
predicted_H4.6540
predicted_HR0.5660
predicted_IP6.1000
predicted_SO6.3460
predicted_WHIP1.0240
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00001.98601.9920model_form_blend
predicted_ER2.00001.97801.9874model_form_blend
predicted_ERA-2.74562.7456form_only
predicted_H2.00004.65403.5248model_form_blend
predicted_HR2.00000.56601.1761model_form_blend
predicted_IP6.10006.10006.1000model_form_blend
predicted_SO6.00006.34606.1988model_form_blend
predicted_WHIP-1.02401.0240form_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
IP6.1
H2
R2
ER2
BB2
SO6
HR2
BF23
Pitches101

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced27
Pitching_ER2
Pitching_ERA2.61
Pitching_Flyouts1
Pitching_Groundouts6
Pitching_H5
Pitching_HBP2
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched6.1
Pitching_Pitches107
Pitching_R2
Pitching_SO9
Pitching_Strikes69
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260821_PIT@LAD
game_typefull
mlbID808967
playerID808967
playerNameYoshinobu Yamamoto
posP
startedTrue
startingPositionP
teamLAD
teamID14
game_date2026-08-21
sl_k_percent25.2
sl_bb_percent5.9
sl_woba0.245
sl_xwoba0.271
sl_sweet_spot_percent30.1
sl_barrel_batted_rate6.3
sl_hard_hit_percent36.3
sl_whiff_percent26.7
sl_swing_percent49.0
sl_avg_best_speed76.240992266
sl_avg_hyper_speed93.864280099
Edgardo Henriquez (683618) · PITCHER · Setup Man · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 53
All-history rows before 20260827: 53

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4340.000-0.4340.000
predicted_ER0.0000.0000.000Pitching_ER0.3210.000-0.3210.000
predicted_H0.0000.0000.000Pitching_H0.5851.000-0.585-1.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8700.2000.1300.800
predicted_SO0.0000.0000.000Pitching_SO1.1131.000-1.113-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "683618",
  "player_name": "Edgardo Henriquez",
  "position": "Setup Man",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 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: 52
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0001.0001.0001.0007.0000.0001.80000.40000.20000.20000.20001.40000.0000
last_100.35109.2004.0004.0004.00015.0000.0003.72410.82760.41380.41380.41381.55170.0000
season0.205252.20017.00030.00023.00058.0001.0002.90511.00630.32280.56960.43671.10130.0190
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3370
predicted_ER0.3640
predicted_ERA3.2762
predicted_H0.5500
predicted_HR0.0500
predicted_IP1.0000
predicted_SO1.2500
predicted_WHIP0.8866
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.33700.1733model_form_blend
predicted_ER0.00000.36400.1872model_form_blend
predicted_ERA-3.27623.2762form_only
predicted_H0.00000.55000.2829model_form_blend
predicted_HR0.00000.05000.0257model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.25000.6429model_form_blend
predicted_WHIP-0.88660.8866form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA2.87
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored2
Pitching_InningsPitched0.2
Pitching_Pitches15
Pitching_R0
Pitching_SO1
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260826_LAD@ATL
game_typefull
mlbID683618
playerID683618
playerNameEdgardo Henriquez
posP
startedFalse
startingPositionP
teamLAD
teamID14
game_date2026-08-26
sl_k_percent28.6
sl_bb_percent10.5
sl_woba0.241
sl_xwoba0.243
sl_sweet_spot_percent24.2
sl_barrel_batted_rate2.3
sl_hard_hit_percent25.8
sl_whiff_percent30.3
sl_swing_percent49.0
sl_avg_best_speed71.493869032
sl_avg_hyper_speed92.123082742
Tanner Scott (656945) · PITCHER · Closer · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 58
All-history rows before 20260827: 58

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2071.000-0.207-1.000
predicted_ER1.0001.0001.000Pitching_ER0.2591.0000.7410.000
predicted_H1.0001.0001.000Pitching_H0.6902.0000.310-1.000
predicted_IP1.2001.2001.200Pitching_InningsPitched0.8470.2000.3531.000
predicted_SO1.0001.0001.000Pitching_SO1.1211.000-0.1210.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": "656945",
  "player_name": "Tanner Scott",
  "position": "Closer",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 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.2,
        "predicted_R": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.2,
          "delta": 0.2,
          "percent_delta": 0.2,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.2,
          "delta": 0.2,
          "percent_delta": 0.2,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 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.2,
        "delta": 0.2,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 1,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.2,
        "delta": 0.2,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_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: 57
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.1002.0005.0000.0004.0000.0003.37500.93750.37500.93750.00000.75000.0000
last_100.35108.2002.0007.0004.0007.0000.0002.07691.26920.23080.80770.46150.80770.0000
season0.205753.10014.00038.00011.00064.0004.0002.36250.91870.26250.71250.20621.20000.0750
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2550
predicted_ER0.3650
predicted_ERA3.2875
predicted_H0.8880
predicted_HR0.0570
predicted_IP1.0000
predicted_SO0.8870
predicted_WHIP1.1430
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.25500.1314model_form_blend
predicted_ER1.00000.36500.6727model_form_blend
predicted_ERA-3.28753.2875form_only
predicted_H1.00000.88800.9423model_form_blend
predicted_HR1.00000.05700.5139model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.88700.9418model_form_blend
predicted_WHIP-1.14301.1430form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.2
H1
R1
ER1
BB0
SO1
HR1
BF6
Pitches24

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER1
Pitching_ERA2.50
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches17
Pitching_R1
Pitching_SO1
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_decisionL
Pitching_pitchingOrder6
allPositionsPlayedP
gameID20260826_LAD@ATL
game_typefull
mlbID656945
playerID656945
playerNameTanner Scott
posP
startedFalse
startingPositionP
teamLAD
teamID14
game_date2026-08-26
sl_k_percent31.5
sl_bb_percent5.6
sl_woba0.245
sl_xwoba0.273
sl_sweet_spot_percent36.8
sl_barrel_batted_rate6.8
sl_hard_hit_percent33.1
sl_whiff_percent34.5
sl_swing_percent55.9
sl_avg_best_speed77.278437121
sl_avg_hyper_speed93.255433053
Brock Stewart (592779) · PITCHER · Middle Reliever (High Leverage) · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 18
All-history rows before 20260827: 18

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3331.000-0.333-1.000
predicted_ER0.0000.0000.000Pitching_ER0.2220.000-0.2220.000
predicted_H0.0000.0000.000Pitching_H0.4442.000-0.444-2.000
predicted_IP0.0001.0000.000Pitching_InningsPitched0.9281.0000.0720.000
predicted_SO0.0000.0000.000Pitching_SO1.0000.000-1.0000.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 17
Reference playing time: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0001.0001.0000.0006.0000.0001.80000.20000.20000.20000.00001.20000.0000
last_100.351010.2003.0002.0002.00013.0001.0002.53120.37500.28120.18750.18751.21880.0938
season0.201717.1004.0006.0005.00018.0002.0002.07690.63460.23080.34620.28851.03850.1154
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2150
predicted_ER0.3150
predicted_ERA3.5236
predicted_H0.5360
predicted_HR0.0880
predicted_IP0.2000
predicted_SO0.8350
predicted_WHIP0.9345
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.21500.0862model_form_blend
predicted_ER0.00000.31500.1263model_form_blend
predicted_ERA-3.52363.5236form_only
predicted_H0.00000.53600.2149model_form_blend
predicted_HR0.00000.08800.0353model_form_blend
predicted_IP0.20000.20000.2000model_form_blend
predicted_SO0.00000.83500.3347model_form_blend
predicted_WHIP-0.93450.9345form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER0
Pitching_ERA1.96
Pitching_Flyouts0
Pitching_Groundouts2
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches14
Pitching_R0
Pitching_SO0
Pitching_Strikes9
Pitching_Wild Pitch0
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260826_LAD@ATL
game_typefull
mlbID592779
playerID592779
playerNameBrock Stewart
posP
startedFalse
startingPositionP
teamLAD
teamID14
game_date2026-08-26
sl_k_percent25.0
sl_bb_percent11.1
sl_woba0.218
sl_xwoba0.234
sl_sweet_spot_percent23.9
sl_barrel_batted_rate4.3
sl_hard_hit_percent23.9
sl_whiff_percent29.1
sl_swing_percent47.4
sl_avg_best_speed65.37898
sl_avg_hyper_speed92.170856087
Evan Phillips (623465) · PITCHER · Reliever · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 21
All-history rows before 20260827: 21

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2380.000-0.2380.000
predicted_ER0.0000.0000.000Pitching_ER0.3810.000-0.3810.000
predicted_H0.0000.0000.000Pitching_H0.8571.000-0.857-1.000
predicted_IP0.0001.0000.000Pitching_InningsPitched0.6381.0000.3620.000
predicted_SO3.0003.0003.000Pitching_SO0.8571.0002.1432.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 20
Reference playing time: 0.100
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4553.2001.0004.0002.0005.0000.0002.45451.63640.27271.09090.54541.36360.0000
last_100.35107.0003.0008.0003.0008.0000.0003.85711.57140.42861.14290.42861.14290.0000
season0.202015.2008.00017.0005.00017.0004.0004.59571.40430.51061.08510.31911.08510.2553
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1860
predicted_ER0.2090
predicted_ERA4.0690
predicted_H0.4740
predicted_HR0.0510
predicted_IP0.1000
predicted_SO0.4880
predicted_WHIP1.4293
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.18600.0727model_form_blend
predicted_ER0.00000.20900.0816model_form_blend
predicted_ERA-4.06904.0690form_only
predicted_H0.00000.47400.1852model_form_blend
predicted_HR0.00000.05100.0199model_form_blend
predicted_IP0.10000.10000.1000model_form_blend
predicted_SO0.00000.48800.1906model_form_blend
predicted_WHIP-1.42931.4293form_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 used20
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA4.32
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches14
Pitching_R0
Pitching_SO1
Pitching_Strikes9
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260826_LAD@ATL
game_typefull
mlbID623465
playerID623465
playerNameEvan Phillips
posP
startedFalse
startingPositionP
teamLAD
teamID14
game_date2026-08-26
sl_k_percent28.0
sl_bb_percent6.7
sl_woba0.322
sl_xwoba0.341
sl_sweet_spot_percent32.7
sl_barrel_batted_rate16.3
sl_hard_hit_percent40.8
sl_whiff_percent24.8
sl_swing_percent47.0
sl_avg_best_speed82.7920488
sl_avg_hyper_speed95.459226327

Home Team: ATL

Home Pitcher Deep Analysis

FieldValue
PitcherChris Sale
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.6702
ESPN Rank9
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0657
Avg Velo88.6740
Avg Spin2344.7058
HB Inches0
IVB Inches0
Release Extension0
Pre IP6
Pre ER2
Pre H6
Pre BB1
Pre SO6
Season ERA2.2000
Season WHIP1.0296
Role Avg IP5.8700
Recent Avg IP6
Last Start IP6
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ATL",
    "games": 132,
    "wins": 77,
    "losses": 55,
    "win_pct": 0.5833,
    "runs_scored": 618.0,
    "runs_allowed": 507.0,
    "run_differential": 111.0,
    "run_differential_per_game": 0.8409,
    "avg_runs_scored": 4.6818,
    "avg_runs_allowed": 3.8409,
    "offense_index": 1.0452,
    "defense_index": 1.1663,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 2.7,
      "avg_runs_allowed": 3.8,
      "run_differential": -11.0
    },
    "available": true,
    "quality_score": 0.1391
  },
  "opponent": {
    "team": "LAD",
    "games": 132,
    "wins": 80,
    "losses": 52,
    "win_pct": 0.6061,
    "runs_scored": 656.0,
    "runs_allowed": 506.0,
    "run_differential": 150.0,
    "run_differential_per_game": 1.1364,
    "avg_runs_scored": 4.9697,
    "avg_runs_allowed": 3.8333,
    "offense_index": 1.1094,
    "defense_index": 1.1686,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 3.7,
      "run_differential": 9.0
    },
    "available": true,
    "quality_score": 0.2997
  },
  "edges": {
    "quality_edge": -0.1606,
    "offense_edge": 0.0452,
    "opponent_offense_edge": 0.1094,
    "defense_strength": 0.1663,
    "opponent_defense_weakness": -0.1686,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 0.9942,
    "run_prevention": 1.0089,
    "strikeout": 0.9864
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "519242",
    "profile": {
      "available": true,
      "pitcher_id": "519242",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 491.0,
        "k_percent": 30.6,
        "bb_percent": 5.2,
        "woba": 0.262,
        "xwoba": 0.272,
        "sweet_spot_percent": 34.6,
        "barrel_batted_rate": 5.3,
        "hard_hit_percent": 34.6,
        "avg_best_speed": 76.8741,
        "avg_hyper_speed": 93.4634,
        "whiff_percent": 30.1,
        "swing_percent": 50.6
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.7938,
        "command_and_miss": 0.9979,
        "regression_edge": -0.2857,
        "xwoba_edge": 1.1143,
        "barrel_edge": 0.4,
        "hard_hit_edge": 0.4571,
        "whiff_edge": 0.7,
        "bb_edge": 1.0,
        "pitch_design_score": -0.0657
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "519242",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 98,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 98,
          "pitch_usage": 0.0,
          "release_speed": 88.67399153905109,
          "release_spin_rate": 2344.7057974290524,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 98,
            "pitch_usage": 0.0,
            "release_speed": 88.67399153905109,
            "release_spin_rate": 2344.7057974290524,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 88.674,
          "release_spin_rate": 2344.7058,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0657,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.4695,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.6702,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.943,
      "strikeout_factor": 1.0771,
      "walk_factor": 0.92,
      "homer_factor": 0.9163,
      "woba_minus_xwoba": -0.01,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "519242",
        "espn_id": 30948,
        "player_name": "Chris Sale",
        "team": "ATL",
        "role": "pitcher",
        "espn_rank": 9,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 9,
          "gp_value": 23.0,
          "gp_rank": 316,
          "gs_value": 23.0,
          "gs_rank": 62,
          "qs_value": 16.0,
          "qs_rank": 5,
          "era_value": 2.2,
          "era_rank": 3.0,
          "w_value": 12.0,
          "w_rank": 12,
          "l_value": 9.0,
          "l_rank": 19,
          "sv_value": 0.0,
          "sv_rank": 241,
          "hld_value": 0.0,
          "hld_rank": 331,
          "ip_value": 135.0,
          "ip_rank": 47,
          "h_value": 111.0,
          "h_rank": 81,
          "er_value": 33.0,
          "er_rank": 162,
          "hr_value": 8.0,
          "hr_rank": 191,
          "bb_value": 28.0,
          "bb_rank": 161,
          "k_value": 166.0,
          "k_rank": 12,
          "k_per_9_value": 11.066667,
          "k_per_9_rank": 6.0,
          "whip_value": 1.0296,
          "whip_rank": 8.0,
          "war_value": 4.45,
          "war_rank": 1.0
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 0.943,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 0.943,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.92,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9163,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 8.0,
        "factor": 1.0771,
        "adjusted": 9
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 56.2,
    "ER": 13,
    "H": 49,
    "BB": 8,
    "SO": 74,
    "HR": 2,
    "ERA": 2.0647058823529414,
    "WHIP": 1.0058823529411764,
    "K9": 11.75294117647059,
    "HR9": 0.31764705882352945,
    "games_pitched": 10,
    "quality_starts": 7,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-21T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "519242",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 98,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 98,
    "pitch_usage": 0.0,
    "release_speed": 88.67399153905109,
    "release_spin_rate": 2344.7057974290524,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 98,
      "pitch_usage": 0.0,
      "release_speed": 88.67399153905109,
      "release_spin_rate": 2344.7057974290524,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 88.674,
    "release_spin_rate": 2344.7058,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0657,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.4695,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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",
  "pitcher_usage_role": "starter",
  "player_id": "519242",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 23,
  "reference_playing_time": 6.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 30.0,
        "ER": 9.0,
        "R": 9.0,
        "H": 25.0,
        "BB": 3.0,
        "SO": 43.0,
        "HR": 0.0,
        "BF": 116.0,
        "Pitches": 497.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 1.8,
        "R": 1.8,
        "H": 5.0,
        "BB": 0.6,
        "SO": 8.6,
        "HR": 0.0,
        "BF": 23.2,
        "Pitches": 99.4
      },
      "rates": {
        "ERA": 2.7,
        "WHIP": 0.9333,
        "ER_per_IP": 0.3,
        "H_per_IP": 0.83333,
        "BB_per_IP": 0.1,
        "SO_per_IP": 1.43333,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 56.2,
        "ER": 13.0,
        "R": 16.0,
        "H": 49.0,
        "BB": 8.0,
        "SO": 74.0,
        "HR": 2.0,
        "BF": 223.0,
        "Pitches": 922.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 1.3,
        "R": 1.6,
        "H": 4.9,
        "BB": 0.8,
        "SO": 7.4,
        "HR": 0.2,
        "BF": 22.3,
        "Pitches": 92.2
      },
      "rates": {
        "ERA": 2.0647,
        "WHIP": 1.0059,
        "ER_per_IP": 0.22941,
        "H_per_IP": 0.86471,
        "BB_per_IP": 0.14118,
        "SO_per_IP": 1.30588,
        "HR_per_IP": 0.03529
      }
    },
    "season": {
      "games": 23,
      "totals": {
        "IP": 135.0,
        "ER": 33.0,
        "R": 38.0,
        "H": 111.0,
        "BB": 28.0,
        "SO": 166.0,
        "HR": 8.0,
        "BF": 542.0,
        "Pitches": 2171.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 1.4348,
        "R": 1.6522,
        "H": 4.8261,
        "BB": 1.2174,
        "SO": 7.2174,
        "HR": 0.3478,
        "BF": 23.5652,
        "Pitches": 94.3913
      },
      "rates": {
        "ERA": 2.2,
        "WHIP": 1.0296,
        "ER_per_IP": 0.24444,
        "H_per_IP": 0.82222,
        "BB_per_IP": 0.20741,
        "SO_per_IP": 1.22963,
        "HR_per_IP": 0.05926
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 6.0,
    "predicted_ER": 1.809,
    "predicted_H": 5.112,
    "predicted_BB": 1.047,
    "predicted_SO": 7.534,
    "predicted_HR": 0.272,
    "predicted_ERA": 2.7578,
    "predicted_WHIP": 1.0431
  }
}
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,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "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": 6.0,
      "form": 6.0,
      "final": 6.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 3.0,
      "form": 1.809,
      "final": 2.3157,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 6.0,
      "form": 5.112,
      "final": 5.4898,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 1.047,
      "final": 1.027,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 3.0,
      "form": 7.534,
      "final": 5.605,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.272,
      "final": 0.5817,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.7578,
      "final": 2.7578,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0431,
      "final": 1.0431,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherDidier Fuentes
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.6113
ESPN Rank82
Movement AvailableTrue
Primary Pitch-
Movement Score0.2235
Avg Velo93.8384
Avg Spin2183.6254
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB1
Pre SO0
Season ERA2.5412
Season WHIP1.0765
Role Avg IP1.1930
Recent Avg IP1.1330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ATL",
    "games": 132,
    "wins": 77,
    "losses": 55,
    "win_pct": 0.5833,
    "runs_scored": 618.0,
    "runs_allowed": 507.0,
    "run_differential": 111.0,
    "run_differential_per_game": 0.8409,
    "avg_runs_scored": 4.6818,
    "avg_runs_allowed": 3.8409,
    "offense_index": 1.0452,
    "defense_index": 1.1663,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 2.7,
      "avg_runs_allowed": 3.8,
      "run_differential": -11.0
    },
    "available": true,
    "quality_score": 0.1391
  },
  "opponent": {
    "team": "LAD",
    "games": 132,
    "wins": 80,
    "losses": 52,
    "win_pct": 0.6061,
    "runs_scored": 656.0,
    "runs_allowed": 506.0,
    "run_differential": 150.0,
    "run_differential_per_game": 1.1364,
    "avg_runs_scored": 4.9697,
    "avg_runs_allowed": 3.8333,
    "offense_index": 1.1094,
    "defense_index": 1.1686,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 3.7,
      "run_differential": 9.0
    },
    "available": true,
    "quality_score": 0.2997
  },
  "edges": {
    "quality_edge": -0.1606,
    "offense_edge": 0.0452,
    "opponent_offense_edge": 0.1094,
    "defense_strength": 0.1663,
    "opponent_defense_weakness": -0.1686,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 0.9942,
    "run_prevention": 1.0089,
    "strikeout": 0.9864
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "800311",
    "profile": {
      "available": true,
      "pitcher_id": "800311",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 216.0,
        "k_percent": 31.8,
        "bb_percent": 6.4,
        "woba": 0.263,
        "xwoba": 0.265,
        "sweet_spot_percent": 34.5,
        "barrel_batted_rate": 6.4,
        "hard_hit_percent": 36.6,
        "avg_best_speed": 78.7952,
        "avg_hyper_speed": 93.4316,
        "whiff_percent": 30.8,
        "swing_percent": 52.9
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.7541,
        "command_and_miss": 1.05,
        "regression_edge": -0.0571,
        "xwoba_edge": 1.3143,
        "barrel_edge": 0.1556,
        "hard_hit_edge": 0.1714,
        "whiff_edge": 0.8,
        "bb_edge": 0.7,
        "pitch_design_score": 0.2235
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "800311",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 15,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 15,
          "pitch_usage": 0.0,
          "release_speed": 93.83835482498753,
          "release_spin_rate": 2183.625353061894,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 15,
            "pitch_usage": 0.0,
            "release_speed": 93.83835482498753,
            "release_spin_rate": 2183.625353061894,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.8384,
          "release_spin_rate": 2183.6254,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.2235,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.5962,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.6113,
      "sample_weight": 0.864,
      "run_prevention_factor": 0.948,
      "strikeout_factor": 1.076,
      "walk_factor": 0.9516,
      "homer_factor": 0.9493,
      "woba_minus_xwoba": -0.002,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "800311",
        "espn_id": 5291189,
        "player_name": "Didier Fuentes",
        "team": "ATL",
        "role": "pitcher",
        "espn_rank": 82,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 82,
          "gp_value": 47.0,
          "gp_rank": 101,
          "gs_value": 1.0,
          "gs_rank": 290,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 2.5116,
          "era_rank": null,
          "w_value": 5.0,
          "w_rank": 123,
          "l_value": 1.0,
          "l_rank": 403,
          "sv_value": 2.0,
          "sv_rank": 84,
          "hld_value": 15.0,
          "hld_rank": 29,
          "ip_value": 57.1,
          "ip_rank": 218,
          "h_value": 47.0,
          "h_rank": 235,
          "er_value": 16.0,
          "er_rank": 363,
          "hr_value": 4.0,
          "hr_rank": 347,
          "bb_value": 15.0,
          "bb_rank": 352,
          "k_value": 74.0,
          "k_rank": 148,
          "k_per_9_value": 11.616279,
          "k_per_9_rank": 18.0,
          "whip_value": 1.0813,
          "whip_rank": null,
          "war_value": 1.8,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9551,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9551,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9582,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9562,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0657,
        "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": 9,
    "BB": 0,
    "SO": 19,
    "HR": 2,
    "ERA": 2.189189189189189,
    "WHIP": 0.7297297297297297,
    "K9": 13.864864864864865,
    "HR9": 1.4594594594594594,
    "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-23T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "800311",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 15,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 15,
    "pitch_usage": 0.0,
    "release_speed": 93.83835482498753,
    "release_spin_rate": 2183.625353061894,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 15,
      "pitch_usage": 0.0,
      "release_speed": 93.83835482498753,
      "release_spin_rate": 2183.625353061894,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.8384,
    "release_spin_rate": 2183.6254,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.2235,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.5962,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.373,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6946,
    "prior_weight": 0.3054
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "800311",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 46,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.2,
        "ER": 2.0,
        "R": 2.0,
        "H": 7.0,
        "BB": 0.0,
        "SO": 8.0,
        "HR": 1.0,
        "BF": 23.0,
        "Pitches": 92.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.4,
        "BB": 0.0,
        "SO": 1.6,
        "HR": 0.2,
        "BF": 4.6,
        "Pitches": 18.4
      },
      "rates": {
        "ERA": 3.1765,
        "WHIP": 1.2353,
        "ER_per_IP": 0.35294,
        "H_per_IP": 1.23529,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.41176,
        "HR_per_IP": 0.17647
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 12.1,
        "ER": 3.0,
        "R": 3.0,
        "H": 9.0,
        "BB": 0.0,
        "SO": 19.0,
        "HR": 2.0,
        "BF": 45.0,
        "Pitches": 172.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.3,
        "R": 0.3,
        "H": 0.9,
        "BB": 0.0,
        "SO": 1.9,
        "HR": 0.2,
        "BF": 4.5,
        "Pitches": 17.2
      },
      "rates": {
        "ERA": 2.1892,
        "WHIP": 0.7297,
        "ER_per_IP": 0.24324,
        "H_per_IP": 0.72973,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.54054,
        "HR_per_IP": 0.16216
      }
    },
    "season": {
      "games": 46,
      "totals": {
        "IP": 56.2,
        "ER": 16.0,
        "R": 16.0,
        "H": 47.0,
        "BB": 14.0,
        "SO": 73.0,
        "HR": 4.0,
        "BF": 230.0,
        "Pitches": 949.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.3478,
        "R": 0.3478,
        "H": 1.0217,
        "BB": 0.3043,
        "SO": 1.587,
        "HR": 0.087,
        "BF": 5.0,
        "Pitches": 20.6304
      },
      "rates": {
        "ERA": 2.5412,
        "WHIP": 1.0765,
        "ER_per_IP": 0.28235,
        "H_per_IP": 0.82941,
        "BB_per_IP": 0.24706,
        "SO_per_IP": 1.28824,
        "HR_per_IP": 0.07059
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.408,
    "predicted_H": 1.101,
    "predicted_BB": 0.165,
    "predicted_SO": 1.447,
    "predicted_HR": 0.168,
    "predicted_ERA": 3.2543,
    "predicted_WHIP": 1.1231
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.479,
  "form_weight": 0.521,
  "form_reliability": 0.6946,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.373,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6946,
    "prior_weight": 0.3054
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.408,
      "final": 0.2126,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.101,
      "final": 0.5736,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.165,
      "final": 0.565,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.447,
      "final": 1.2329,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.168,
      "final": 0.0875,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.2543,
      "final": 3.2543,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1231,
      "final": 1.1231,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherDylan Lee
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.9479
ESPN Rank69
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2020
Avg Velo86.2411
Avg Spin2134.7083
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA2.1117
Season WHIP0.7877
Role Avg IP0.9620
Recent Avg IP0.8670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ATL",
    "games": 132,
    "wins": 77,
    "losses": 55,
    "win_pct": 0.5833,
    "runs_scored": 618.0,
    "runs_allowed": 507.0,
    "run_differential": 111.0,
    "run_differential_per_game": 0.8409,
    "avg_runs_scored": 4.6818,
    "avg_runs_allowed": 3.8409,
    "offense_index": 1.0452,
    "defense_index": 1.1663,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 2.7,
      "avg_runs_allowed": 3.8,
      "run_differential": -11.0
    },
    "available": true,
    "quality_score": 0.1391
  },
  "opponent": {
    "team": "LAD",
    "games": 132,
    "wins": 80,
    "losses": 52,
    "win_pct": 0.6061,
    "runs_scored": 656.0,
    "runs_allowed": 506.0,
    "run_differential": 150.0,
    "run_differential_per_game": 1.1364,
    "avg_runs_scored": 4.9697,
    "avg_runs_allowed": 3.8333,
    "offense_index": 1.1094,
    "defense_index": 1.1686,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 3.7,
      "run_differential": 9.0
    },
    "available": true,
    "quality_score": 0.2997
  },
  "edges": {
    "quality_edge": -0.1606,
    "offense_edge": 0.0452,
    "opponent_offense_edge": 0.1094,
    "defense_strength": 0.1663,
    "opponent_defense_weakness": -0.1686,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 0.9942,
    "run_prevention": 1.0089,
    "strikeout": 0.9864
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "669276",
    "profile": {
      "available": true,
      "pitcher_id": "669276",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 211.0,
        "k_percent": 32.6,
        "bb_percent": 6.3,
        "woba": 0.21,
        "xwoba": 0.234,
        "sweet_spot_percent": 33.6,
        "barrel_batted_rate": 5.8,
        "hard_hit_percent": 30.7,
        "avg_best_speed": 76.0976,
        "avg_hyper_speed": 92.8695,
        "whiff_percent": 37.3,
        "swing_percent": 52.8
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.4922,
        "command_and_miss": 1.4314,
        "regression_edge": -0.6857,
        "xwoba_edge": 2.2,
        "barrel_edge": 0.2889,
        "hard_hit_edge": 1.0143,
        "whiff_edge": 1.7286,
        "bb_edge": 0.725,
        "pitch_design_score": -0.202
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "669276",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 16,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 16,
          "pitch_usage": 0.0,
          "release_speed": 86.24110591430622,
          "release_spin_rate": 2134.708293497958,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 16,
            "pitch_usage": 0.0,
            "release_speed": 86.24110591430622,
            "release_spin_rate": 2134.708293497958,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 86.2411,
          "release_spin_rate": 2134.7083,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.202,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -1.4427,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.9479,
      "sample_weight": 0.844,
      "run_prevention_factor": 0.9194,
      "strikeout_factor": 1.1095,
      "walk_factor": 0.951,
      "homer_factor": 0.8905,
      "woba_minus_xwoba": -0.024,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "669276",
        "espn_id": 41455,
        "player_name": "Dylan Lee",
        "team": "ATL",
        "role": "pitcher",
        "espn_rank": 69,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 69,
          "gp_value": 62.0,
          "gp_rank": 7,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 2.1117,
          "era_rank": null,
          "w_value": 5.0,
          "w_rank": 123,
          "l_value": 0.0,
          "l_rank": 554,
          "sv_value": 0.0,
          "sv_rank": 241,
          "hld_value": 30.0,
          "hld_rank": 1,
          "ip_value": 59.2,
          "ip_rank": 201,
          "h_value": 33.0,
          "h_rank": 357,
          "er_value": 14.0,
          "er_rank": 403,
          "hr_value": 3.0,
          "hr_rank": 412,
          "bb_value": 14.0,
          "bb_rank": 370,
          "k_value": 73.0,
          "k_rank": 152,
          "k_per_9_value": 11.011173,
          "k_per_9_rank": 20.0,
          "whip_value": 0.7877,
          "whip_rank": null,
          "war_value": 1.99,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.932,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.932,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9586,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9076,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0924,
        "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": 2,
    "H": 5,
    "BB": 5,
    "SO": 11,
    "HR": 0,
    "ERA": 2.076923076923077,
    "WHIP": 1.153846153846154,
    "K9": 11.423076923076923,
    "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-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "669276",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 16,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 16,
    "pitch_usage": 0.0,
    "release_speed": 86.24110591430622,
    "release_spin_rate": 2134.708293497958,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 16,
      "pitch_usage": 0.0,
      "release_speed": 86.24110591430622,
      "release_spin_rate": 2134.708293497958,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 86.2411,
    "release_spin_rate": 2134.7083,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.202,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.4427,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.975,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7054,
    "prior_weight": 0.2946
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "669276",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 62,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 5.0,
        "BB": 1.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 19.0,
        "Pitches": 77.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.0,
        "BB": 0.2,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 15.4
      },
      "rates": {
        "ERA": 4.1538,
        "WHIP": 1.3846,
        "ER_per_IP": 0.46154,
        "H_per_IP": 1.15385,
        "BB_per_IP": 0.23077,
        "SO_per_IP": 1.15385,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.2,
        "ER": 2.0,
        "R": 2.0,
        "H": 5.0,
        "BB": 5.0,
        "SO": 11.0,
        "HR": 0.0,
        "BF": 36.0,
        "Pitches": 162.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.5,
        "BB": 0.5,
        "SO": 1.1,
        "HR": 0.0,
        "BF": 3.6,
        "Pitches": 16.2
      },
      "rates": {
        "ERA": 2.0769,
        "WHIP": 1.1538,
        "ER_per_IP": 0.23077,
        "H_per_IP": 0.57692,
        "BB_per_IP": 0.57692,
        "SO_per_IP": 1.26923,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 62,
      "totals": {
        "IP": 59.2,
        "ER": 14.0,
        "R": 16.0,
        "H": 33.0,
        "BB": 14.0,
        "SO": 73.0,
        "HR": 3.0,
        "BF": 224.0,
        "Pitches": 925.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2258,
        "R": 0.2581,
        "H": 0.5323,
        "BB": 0.2258,
        "SO": 1.1774,
        "HR": 0.0484,
        "BF": 3.6129,
        "Pitches": 14.9194
      },
      "rates": {
        "ERA": 2.1117,
        "WHIP": 0.7877,
        "ER_per_IP": 0.23464,
        "H_per_IP": 0.55307,
        "BB_per_IP": 0.23464,
        "SO_per_IP": 1.22346,
        "HR_per_IP": 0.05028
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.384,
    "predicted_H": 0.874,
    "predicted_BB": 0.357,
    "predicted_SO": 1.131,
    "predicted_HR": 0.05,
    "predicted_ERA": 3.4568,
    "predicted_WHIP": 1.231
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4745,
  "form_weight": 0.5255,
  "form_reliability": 0.7054,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.975,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7054,
    "prior_weight": 0.2946
  },
  "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.2018,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.874,
      "final": 0.9338,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.357,
      "final": 0.1876,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.131,
      "final": 0.5944,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.05,
      "final": 0.0263,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.4568,
      "final": 3.4568,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.231,
      "final": 1.231,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherRaisel Iglesias
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.2085
ESPN Rank178
Movement AvailableTrue
Primary Pitch-
Movement Score0.1018
Avg Velo91.6657
Avg Spin2200.0485
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA2.9388
Season WHIP1.2041
Role Avg IP1.0210
Recent Avg IP1.0670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ATL",
    "games": 132,
    "wins": 77,
    "losses": 55,
    "win_pct": 0.5833,
    "runs_scored": 618.0,
    "runs_allowed": 507.0,
    "run_differential": 111.0,
    "run_differential_per_game": 0.8409,
    "avg_runs_scored": 4.6818,
    "avg_runs_allowed": 3.8409,
    "offense_index": 1.0452,
    "defense_index": 1.1663,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 2.7,
      "avg_runs_allowed": 3.8,
      "run_differential": -11.0
    },
    "available": true,
    "quality_score": 0.1391
  },
  "opponent": {
    "team": "LAD",
    "games": 132,
    "wins": 80,
    "losses": 52,
    "win_pct": 0.6061,
    "runs_scored": 656.0,
    "runs_allowed": 506.0,
    "run_differential": 150.0,
    "run_differential_per_game": 1.1364,
    "avg_runs_scored": 4.9697,
    "avg_runs_allowed": 3.8333,
    "offense_index": 1.1094,
    "defense_index": 1.1686,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 3.7,
      "run_differential": 9.0
    },
    "available": true,
    "quality_score": 0.2997
  },
  "edges": {
    "quality_edge": -0.1606,
    "offense_edge": 0.0452,
    "opponent_offense_edge": 0.1094,
    "defense_strength": 0.1663,
    "opponent_defense_weakness": -0.1686,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 0.9942,
    "run_prevention": 1.0089,
    "strikeout": 0.9864
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "628452",
    "profile": {
      "available": true,
      "pitcher_id": "628452",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 187.0,
        "k_percent": 25.9,
        "bb_percent": 8.0,
        "woba": 0.295,
        "xwoba": 0.291,
        "sweet_spot_percent": 32.6,
        "barrel_batted_rate": 10.7,
        "hard_hit_percent": 37.1,
        "avg_best_speed": 77.3922,
        "avg_hyper_speed": 93.5088,
        "whiff_percent": 29.8,
        "swing_percent": 52.2
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.2118,
        "command_and_miss": 0.5407,
        "regression_edge": 0.1143,
        "xwoba_edge": 0.5714,
        "barrel_edge": -0.8,
        "hard_hit_edge": 0.1,
        "whiff_edge": 0.6571,
        "bb_edge": 0.3,
        "pitch_design_score": 0.1018
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "628452",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 19,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 19,
          "pitch_usage": 0.0,
          "release_speed": 91.66565663041236,
          "release_spin_rate": 2200.0485085060564,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 19,
            "pitch_usage": 0.0,
            "release_speed": 91.66565663041236,
            "release_spin_rate": 2200.0485085060564,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.6657,
          "release_spin_rate": 2200.0485,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1018,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.7271,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.2085,
      "sample_weight": 0.748,
      "run_prevention_factor": 0.9823,
      "strikeout_factor": 1.0363,
      "walk_factor": 0.982,
      "homer_factor": 1.0321,
      "woba_minus_xwoba": 0.004,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "628452",
        "espn_id": 33618,
        "player_name": "Raisel Iglesias",
        "team": "ATL",
        "role": "pitcher",
        "espn_rank": 178,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 178,
          "gp_value": 48.0,
          "gp_rank": 91,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 2.9387,
          "era_rank": null,
          "w_value": 1.0,
          "w_rank": 387,
          "l_value": 2.0,
          "l_rank": 301,
          "sv_value": 28.0,
          "sv_rank": 8,
          "hld_value": 0.0,
          "hld_rank": 331,
          "ip_value": 49.0,
          "ip_rank": 280,
          "h_value": 43.0,
          "h_rank": 267,
          "er_value": 16.0,
          "er_rank": 363,
          "hr_value": 5.0,
          "hr_rank": 289,
          "bb_value": 16.0,
          "bb_rank": 334,
          "k_value": 52.0,
          "k_rank": 250,
          "k_per_9_value": 9.55102,
          "k_per_9_rank": 24.0,
          "whip_value": 1.204,
          "whip_rank": null,
          "war_value": 0.91,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9868,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9868,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9865,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.024,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0272,
        "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": 11,
    "BB": 7,
    "SO": 9,
    "HR": 1,
    "ERA": 5.4,
    "WHIP": 1.8,
    "K9": 8.1,
    "HR9": 0.9,
    "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-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "628452",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 19,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 19,
    "pitch_usage": 0.0,
    "release_speed": 91.66565663041236,
    "release_spin_rate": 2200.0485085060564,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 19,
      "pitch_usage": 0.0,
      "release_speed": 91.66565663041236,
      "release_spin_rate": 2200.0485085060564,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.6657,
    "release_spin_rate": 2200.0485,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1018,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.7271,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.834,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6629,
    "prior_weight": 0.3371
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "628452",
  "report_date": "20260827",
  "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": 5.0,
        "BB": 4.0,
        "SO": 3.0,
        "HR": 1.0,
        "BF": 24.0,
        "Pitches": 89.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.0,
        "BB": 0.8,
        "SO": 0.6,
        "HR": 0.2,
        "BF": 4.8,
        "Pitches": 17.8
      },
      "rates": {
        "ERA": 3.375,
        "WHIP": 1.6875,
        "ER_per_IP": 0.375,
        "H_per_IP": 0.9375,
        "BB_per_IP": 0.75,
        "SO_per_IP": 0.5625,
        "HR_per_IP": 0.1875
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 6.0,
        "R": 6.0,
        "H": 11.0,
        "BB": 7.0,
        "SO": 9.0,
        "HR": 1.0,
        "BF": 47.0,
        "Pitches": 181.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 1.1,
        "BB": 0.7,
        "SO": 0.9,
        "HR": 0.1,
        "BF": 4.7,
        "Pitches": 18.1
      },
      "rates": {
        "ERA": 5.4,
        "WHIP": 1.8,
        "ER_per_IP": 0.6,
        "H_per_IP": 1.1,
        "BB_per_IP": 0.7,
        "SO_per_IP": 0.9,
        "HR_per_IP": 0.1
      }
    },
    "season": {
      "games": 48,
      "totals": {
        "IP": 49.0,
        "ER": 16.0,
        "R": 19.0,
        "H": 43.0,
        "BB": 16.0,
        "SO": 52.0,
        "HR": 5.0,
        "BF": 201.0,
        "Pitches": 758.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3333,
        "R": 0.3958,
        "H": 0.8958,
        "BB": 0.3333,
        "SO": 1.0833,
        "HR": 0.1042,
        "BF": 4.1875,
        "Pitches": 15.7917
      },
      "rates": {
        "ERA": 2.9388,
        "WHIP": 1.2041,
        "ER_per_IP": 0.32653,
        "H_per_IP": 0.87755,
        "BB_per_IP": 0.32653,
        "SO_per_IP": 1.06122,
        "HR_per_IP": 0.10204
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.463,
    "predicted_H": 0.98,
    "predicted_BB": 0.553,
    "predicted_SO": 0.836,
    "predicted_HR": 0.142,
    "predicted_ERA": 4.1684,
    "predicted_WHIP": 1.5332
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4924,
  "form_weight": 0.5076,
  "form_reliability": 0.6629,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.834,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6629,
    "prior_weight": 0.3371
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.463,
      "final": 0.235,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.98,
      "final": 0.4974,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.553,
      "final": 0.2807,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.836,
      "final": 0.9168,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.142,
      "final": 0.0721,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.1684,
      "final": 4.1684,
      "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."
}
FieldValue
PitcherBrent Suter
RoleMiddle Reliever
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0339
ESPN Rank274
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2800
Avg Velo83.1021
Avg Spin1979.8516
HB Inches0
IVB Inches0
Release Extension0
Pre IP0
Pre ER2
Pre H2
Pre BB0
Pre SO0
Season ERA3.7035
Season WHIP1.2611
Role Avg IP1.6200
Recent Avg IP2.4000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ATL",
    "games": 132,
    "wins": 77,
    "losses": 55,
    "win_pct": 0.5833,
    "runs_scored": 618.0,
    "runs_allowed": 507.0,
    "run_differential": 111.0,
    "run_differential_per_game": 0.8409,
    "avg_runs_scored": 4.6818,
    "avg_runs_allowed": 3.8409,
    "offense_index": 1.0452,
    "defense_index": 1.1663,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 2.7,
      "avg_runs_allowed": 3.8,
      "run_differential": -11.0
    },
    "available": true,
    "quality_score": 0.1391
  },
  "opponent": {
    "team": "LAD",
    "games": 132,
    "wins": 80,
    "losses": 52,
    "win_pct": 0.6061,
    "runs_scored": 656.0,
    "runs_allowed": 506.0,
    "run_differential": 150.0,
    "run_differential_per_game": 1.1364,
    "avg_runs_scored": 4.9697,
    "avg_runs_allowed": 3.8333,
    "offense_index": 1.1094,
    "defense_index": 1.1686,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 3.7,
      "run_differential": 9.0
    },
    "available": true,
    "quality_score": 0.2997
  },
  "edges": {
    "quality_edge": -0.1606,
    "offense_edge": 0.0452,
    "opponent_offense_edge": 0.1094,
    "defense_strength": 0.1663,
    "opponent_defense_weakness": -0.1686,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 0.9942,
    "run_prevention": 1.0089,
    "strikeout": 0.9864
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "608718",
    "profile": {
      "available": true,
      "pitcher_id": "608718",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 292.0,
        "k_percent": 19.7,
        "bb_percent": 7.0,
        "woba": 0.318,
        "xwoba": 0.318,
        "sweet_spot_percent": 34.9,
        "barrel_batted_rate": 6.2,
        "hard_hit_percent": 31.4,
        "avg_best_speed": 74.9511,
        "avg_hyper_speed": 93.1921,
        "whiff_percent": 22.1,
        "swing_percent": 46.1
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.069,
        "command_and_miss": -0.1929,
        "regression_edge": 0.0,
        "xwoba_edge": -0.2,
        "barrel_edge": 0.2,
        "hard_hit_edge": 0.9143,
        "whiff_edge": -0.4429,
        "bb_edge": 0.55,
        "pitch_design_score": -0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "608718",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 43,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 43,
          "pitch_usage": 0.0,
          "release_speed": 83.1021359244829,
          "release_spin_rate": 1979.8516198267046,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 43,
            "pitch_usage": 0.0,
            "release_speed": 83.1021359244829,
            "release_spin_rate": 1979.8516198267046,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 83.1021,
          "release_spin_rate": 1979.8516,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.0339,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0029,
      "strikeout_factor": 0.9691,
      "walk_factor": 0.956,
      "homer_factor": 0.9534,
      "woba_minus_xwoba": 0.0,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "608718",
        "espn_id": 36023,
        "player_name": "Brent Suter",
        "team": "ATL",
        "role": "pitcher",
        "espn_rank": 274,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 274,
          "gp_value": 46.0,
          "gp_rank": 106,
          "gs_value": 3.0,
          "gs_rank": 245,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 3.7035,
          "era_rank": null,
          "w_value": 1.0,
          "w_rank": 387,
          "l_value": 2.0,
          "l_rank": 301,
          "sv_value": 0.0,
          "sv_rank": 241,
          "hld_value": 3.0,
          "hld_rank": 197,
          "ip_value": 75.1,
          "ip_rank": 153,
          "h_value": 74.0,
          "h_rank": 147,
          "er_value": 31.0,
          "er_rank": 172,
          "hr_value": 8.0,
          "hr_rank": 191,
          "bb_value": 21.0,
          "bb_rank": 246,
          "k_value": 62.0,
          "k_rank": 190,
          "k_per_9_value": 7.40708,
          "k_per_9_rank": 33.0,
          "whip_value": 1.261,
          "whip_rank": null,
          "war_value": 0.38,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 1.0029,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 2.0,
        "factor": 1.0029,
        "adjusted": 2
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.956,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9534,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9691,
        "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": 20.0,
    "ER": 3,
    "H": 16,
    "BB": 7,
    "SO": 14,
    "HR": 2,
    "ERA": 1.3499999999999999,
    "WHIP": 1.1499999999999997,
    "K9": 6.299999999999999,
    "HR9": 0.8999999999999998,
    "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-22T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "608718",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 43,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 43,
    "pitch_usage": 0.0,
    "release_speed": 83.1021359244829,
    "release_spin_rate": 1979.8516198267046,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 43,
      "pitch_usage": 0.0,
      "release_speed": 83.1021359244829,
      "release_spin_rate": 1979.8516198267046,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 83.1021,
    "release_spin_rate": 1979.8516,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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": 15.119,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7515,
    "prior_weight": 0.2485
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "608718",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 46,
  "reference_playing_time": 0.1,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 12.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 11.0,
        "BB": 4.0,
        "SO": 7.0,
        "HR": 1.0,
        "BF": 49.0,
        "Pitches": 184.0
      },
      "per_game": {
        "IP": 2.1,
        "ER": 0.4,
        "R": 0.4,
        "H": 2.2,
        "BB": 0.8,
        "SO": 1.4,
        "HR": 0.2,
        "BF": 9.8,
        "Pitches": 36.8
      },
      "rates": {
        "ERA": 1.5,
        "WHIP": 1.25,
        "ER_per_IP": 0.16667,
        "H_per_IP": 0.91667,
        "BB_per_IP": 0.33333,
        "SO_per_IP": 0.58333,
        "HR_per_IP": 0.08333
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 20.0,
        "ER": 3.0,
        "R": 4.0,
        "H": 16.0,
        "BB": 7.0,
        "SO": 14.0,
        "HR": 2.0,
        "BF": 82.0,
        "Pitches": 328.0
      },
      "per_game": {
        "IP": 2.0,
        "ER": 0.3,
        "R": 0.4,
        "H": 1.6,
        "BB": 0.7,
        "SO": 1.4,
        "HR": 0.2,
        "BF": 8.2,
        "Pitches": 32.8
      },
      "rates": {
        "ERA": 1.35,
        "WHIP": 1.15,
        "ER_per_IP": 0.15,
        "H_per_IP": 0.8,
        "BB_per_IP": 0.35,
        "SO_per_IP": 0.7,
        "HR_per_IP": 0.1
      }
    },
    "season": {
      "games": 46,
      "totals": {
        "IP": 75.1,
        "ER": 31.0,
        "R": 37.0,
        "H": 74.0,
        "BB": 21.0,
        "SO": 62.0,
        "HR": 8.0,
        "BF": 314.0,
        "Pitches": 1285.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.6739,
        "R": 0.8043,
        "H": 1.6087,
        "BB": 0.4565,
        "SO": 1.3478,
        "HR": 0.1739,
        "BF": 6.8261,
        "Pitches": 27.9348
      },
      "rates": {
        "ERA": 3.7035,
        "WHIP": 1.2611,
        "ER_per_IP": 0.4115,
        "H_per_IP": 0.9823,
        "BB_per_IP": 0.27876,
        "SO_per_IP": 0.82301,
        "HR_per_IP": 0.10619
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.2,
    "predicted_ER": 0.465,
    "predicted_H": 1.501,
    "predicted_BB": 0.557,
    "predicted_SO": 1.22,
    "predicted_HR": 0.176,
    "predicted_ERA": 2.5388,
    "predicted_WHIP": 1.2484
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.455,
  "form_weight": 0.545,
  "form_reliability": 0.7515,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 15.119,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7515,
    "prior_weight": 0.2485
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.1,
      "form": 1.2,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.465,
      "final": 0.7084,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 1.501,
      "final": 1.273,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.557,
      "final": 0.3036,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.22,
      "final": 0.6649,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.176,
      "final": 0.0959,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.5388,
      "final": 2.5388,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2484,
      "final": 1.2484,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
Drake Baldwin (686948) · BATTER · DH · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 469
All-history rows before 20260827: 469
System season_avg: 0.2700
Data season_avg (2026 season-to-date): 0.2804
Diff (system - data): -0.0104
System opponent_avg: 0.2860

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0930.0000.000Hitting_2B0.0942.000-0.094-2.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.8705.0004.000Hitting_AB3.9324.0001.0681.000
predicted_AVG0.2700.0000.250Hitting_AVG0.2800.750-0.280-0.750
predicted_BB0.4440.0001.000Hitting_BB0.4671.000-0.467-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0060.000-0.0060.000
predicted_H1.0460.0001.000Hitting_H1.1023.000-1.102-3.000
predicted_HR0.1940.0000.000Hitting_HR0.2050.000-0.2050.000
predicted_OBP0.3450.0000.400Hitting_OBP0.3660.800-0.366-0.800
predicted_R0.6480.0001.000Hitting_R0.6780.000-0.6780.000
predicted_RBI0.5830.0001.000Hitting_RBI0.6332.000-0.633-2.000
predicted_SLG0.4450.0000.250Hitting_SLG0.4601.250-0.460-1.250
predicted_SO0.8982.0001.000Hitting_SO0.8931.0001.1071.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.8700 -> 5.0000 (boost 1.1300, better)
Biggest Deboostpredicted_H: 1.0460 -> 0.0000 (deboost -1.0460, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend50505-predicted_RBI: 0.5830 -> 0.4999 (deboost -0.0831, worse)Final model input calibrated 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.4210 -> 0.4123 (deboost -0.0087, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62415predicted_AB: 3.8488 -> 4.0000 (boost 0.1512, better)predicted_RBI: 0.4795 -> 0.0000 (deboost -0.4795, worse)AB rounded to 4 (raw=3.87), rates preserved: AVG=0.251 HR/AB=0.043
5consistency_constraints11010predicted_R: 0.6182 -> 1.0000 (boost 0.3818, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation22020predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context31212predicted_SLG: 0.4123 -> 0.4180 (boost 0.0057, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_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
9current_json_final10101-predicted_SLG: 0.4180 -> 0.4123 (deboost -0.0057, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "686948",
  "player_name": "Drake Baldwin",
  "position": "DH",
  "team": "ATL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.093,
        "predicted_3B": 0.0,
        "predicted_AB": 3.87,
        "predicted_AVG": 0.27,
        "predicted_BB": 0.444,
        "predicted_H": 1.046,
        "predicted_HR": 0.194,
        "predicted_OBP": 0.345,
        "predicted_R": 0.648,
        "predicted_RBI": 0.583,
        "predicted_SLG": 0.445,
        "predicted_SO": 0.898
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1211,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.8488,
        "predicted_AVG": 0.2579,
        "predicted_BB": 0.4245,
        "predicted_H": 0.9937,
        "predicted_HBP": 0.038,
        "predicted_HR": 0.1685,
        "predicted_OBP": 0.3337,
        "predicted_R": 0.6445,
        "predicted_RBI": 0.4999,
        "predicted_SLG": 0.421,
        "predicted_SO": 0.9153
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.093,
          "after": 0.1211,
          "delta": 0.0281,
          "percent_delta": 0.3022,
          "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.87,
          "after": 3.8488,
          "delta": -0.0212,
          "percent_delta": -0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.27,
          "after": 0.2579,
          "delta": -0.0121,
          "percent_delta": -0.0448,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.444,
          "after": 0.4245,
          "delta": -0.0195,
          "percent_delta": -0.0439,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.046,
          "after": 0.9937,
          "delta": -0.0523,
          "percent_delta": -0.05,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.194,
          "after": 0.1685,
          "delta": -0.0255,
          "percent_delta": -0.1314,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.345,
          "after": 0.3337,
          "delta": -0.0113,
          "percent_delta": -0.0328,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.648,
          "after": 0.6445,
          "delta": -0.0035,
          "percent_delta": -0.0054,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.583,
          "after": 0.4999,
          "delta": -0.0831,
          "percent_delta": -0.1425,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.445,
          "after": 0.421,
          "delta": -0.024,
          "percent_delta": -0.0539,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.898,
          "after": 0.9153,
          "delta": 0.0173,
          "percent_delta": 0.0193,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.583,
          "after": 0.4999,
          "delta": -0.0831,
          "percent_delta": -0.1425,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1211,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.8488,
        "predicted_AVG": 0.2519,
        "predicted_BB": 0.4232,
        "predicted_H": 0.9695,
        "predicted_HBP": 0.038,
        "predicted_HR": 0.1652,
        "predicted_OBP": 0.326,
        "predicted_R": 0.6182,
        "predicted_RBI": 0.4795,
        "predicted_SLG": 0.4123,
        "predicted_SO": 0.918
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1211,
          "after": 0.1211,
          "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.8488,
          "after": 3.8488,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2579,
          "after": 0.2519,
          "delta": -0.006,
          "percent_delta": -0.0233,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4245,
          "after": 0.4232,
          "delta": -0.0013,
          "percent_delta": -0.0031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9937,
          "after": 0.9695,
          "delta": -0.0242,
          "percent_delta": -0.0244,
          "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.1685,
          "after": 0.1652,
          "delta": -0.0033,
          "percent_delta": -0.0196,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3337,
          "after": 0.326,
          "delta": -0.0077,
          "percent_delta": -0.0231,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6445,
          "after": 0.6182,
          "delta": -0.0263,
          "percent_delta": -0.0408,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4999,
          "after": 0.4795,
          "delta": -0.0204,
          "percent_delta": -0.0408,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.421,
          "after": 0.4123,
          "delta": -0.0087,
          "percent_delta": -0.0207,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9153,
          "after": 0.918,
          "delta": 0.0027,
          "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.421,
          "after": 0.4123,
          "delta": -0.0087,
          "percent_delta": -0.0207,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.87), rates preserved: AVG=0.251 HR/AB=0.043",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1211,
          "after": 0.0,
          "delta": -0.1211,
          "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.8488,
          "after": 4.0,
          "delta": 0.1512,
          "percent_delta": 0.0393,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4232,
          "after": 0.0,
          "delta": -0.4232,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9695,
          "after": 1.0,
          "delta": 0.0305,
          "percent_delta": 0.0315,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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.1652,
          "after": 0.0,
          "delta": -0.1652,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4795,
          "after": 0.0,
          "delta": -0.4795,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.918,
          "after": 1.0,
          "delta": 0.082,
          "percent_delta": 0.0893,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.8488,
          "after": 4.0,
          "delta": 0.1512,
          "percent_delta": 0.0393,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4795,
          "after": 0.0,
          "delta": -0.4795,
          "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.6182,
          "after": 1.0,
          "delta": 0.3818,
          "percent_delta": 0.6176,
          "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.6182,
          "after": 1.0,
          "delta": 0.3818,
          "percent_delta": 0.6176,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.251,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.33,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.418,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2519,
          "after": 0.251,
          "delta": -0.0009,
          "percent_delta": -0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.326,
          "after": 0.33,
          "delta": 0.004,
          "percent_delta": 0.0123,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4123,
          "after": 0.418,
          "delta": 0.0057,
          "percent_delta": 0.0138,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.4123,
          "after": 0.418,
          "delta": 0.0057,
          "percent_delta": 0.0138,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2519,
        "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.326,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4123,
        "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.251,
          "after": 0.2519,
          "delta": 0.0009,
          "percent_delta": 0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.33,
          "after": 0.326,
          "delta": -0.004,
          "percent_delta": -0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.418,
          "after": 0.4123,
          "delta": -0.0057,
          "percent_delta": -0.0136,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.418,
          "after": 0.4123,
          "delta": -0.0057,
          "percent_delta": -0.0136,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.093,
        "after": 0.0,
        "delta": -0.093,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.87,
        "after": 5.0,
        "delta": 1.13,
        "percent_delta": 0.292,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.27,
        "after": 0.2519,
        "delta": -0.0181,
        "percent_delta": -0.067,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.444,
        "after": 0.0,
        "delta": -0.444,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.046,
        "after": 0.0,
        "delta": -1.046,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.194,
        "after": 0.0,
        "delta": -0.194,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.345,
        "after": 0.326,
        "delta": -0.019,
        "percent_delta": -0.0551,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.648,
        "after": 0.0,
        "delta": -0.648,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.583,
        "after": 0.0,
        "delta": -0.583,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.445,
        "after": 0.4123,
        "delta": -0.0327,
        "percent_delta": -0.0735,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.898,
        "after": 2.0,
        "delta": 1.102,
        "percent_delta": 1.2272,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.87,
        "after": 5.0,
        "delta": 1.13,
        "percent_delta": 0.292,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.046,
        "after": 0.0,
        "delta": -1.046,
        "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.093-
predicted_3B0.000-
predicted_AB3.870-
predicted_AVG0.270-
predicted_BB0.444-
predicted_H1.046-
predicted_HR0.194-
predicted_OBP0.345-
predicted_R0.648-
predicted_RBI0.583-
predicted_SLG0.445-
predicted_SO0.898-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1210.028
predicted_3B0.0000.000
predicted_AB3.849-0.021
predicted_AVG0.258-0.012
predicted_BB0.424-0.020
predicted_H0.994-0.052
predicted_HBP0.038-
predicted_HR0.169-0.025
predicted_OBP0.334-0.011
predicted_R0.644-0.004
predicted_RBI0.500-0.083
predicted_SLG0.421-0.024
predicted_SO0.9150.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.1210.000
predicted_3B0.0000.000
predicted_AB3.8490.000
predicted_AVG0.252-0.006
predicted_BB0.423-0.001
predicted_H0.970-0.024
predicted_HBP0.0380.000
predicted_HR0.165-0.003
predicted_OBP0.326-0.008
predicted_R0.618-0.026
predicted_RBI0.479-0.020
predicted_SLG0.412-0.009
predicted_SO0.9180.003
4. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI1.0001.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.121
predicted_3B0.000-0.000
predicted_AB4.0000.151
predicted_AVG0.251-0.001
predicted_BB0.000-0.423
predicted_H1.0000.030
predicted_HR0.000-0.165
predicted_OBP0.3300.004
predicted_R1.0000.382
predicted_RBI0.000-0.479
predicted_SLG0.4180.006
predicted_SO1.0000.082
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 108
Reference playing time: 3.870
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0003.0001.0000.0000.0000.0003.0002.0006.0000.16670.25000.22220.16670.00000.00000.11110.3333
last_100.2010-39.0009.0003.0000.0001.0002.0007.0003.0008.0000.23080.28570.38460.23080.02560.05130.07690.2051
season0.60108-418.000113.00010.0000.00021.00063.00070.00048.00097.0000.27030.35440.44500.27030.05020.15070.11480.2321
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1580
predicted_3B0.0010
predicted_AB3.8210
predicted_AVG0.2420
predicted_BB0.3990
predicted_H0.9250
predicted_HBP0.0380
predicted_HR0.1350
predicted_OBP0.3189
predicted_R0.6400
predicted_RBI0.3910
predicted_SLG0.3895
predicted_SO0.9380
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09300.15800.1211model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.87003.82103.8488model_form_blend
predicted_AVG0.27000.24200.2579model_form_blend
predicted_BB0.44400.39900.4245model_form_blend
predicted_H1.04600.92500.9937model_form_blend
predicted_HBP-0.03800.0380form_only
predicted_HR0.19400.13500.1685model_form_blend
predicted_OBP0.34500.31890.3337model_form_blend
predicted_R0.64800.64000.6445model_form_blend
predicted_RBI0.58300.39100.4999model_form_blend
predicted_SLG0.44500.38950.4210model_form_blend
predicted_SO0.89800.93800.9153model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B2
Hitting_3B0
Hitting_AB4
Hitting_AVG0.75
Hitting_BB1
Hitting_GIDP0
Hitting_H3
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB5
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH-C
gameID20260826_LAD@ATL
game_typefull
mlbID686948
playerID686948
playerNameDrake Baldwin
posC
startedTrue
startingPositionDH
teamATL
teamID2
game_date2026-08-26
sl_k_percent21.4
sl_bb_percent9.6
sl_woba0.357
sl_xwoba0.368
sl_xba0.276
sl_xslg0.495
sl_sweet_spot_percent35.8
sl_barrel_batted_rate12.8
sl_hard_hit_percent51.5
sl_exit_velocity_avg91.8
sl_launch_angle_avg11.1
sl_whiff_percent24.5
sl_swing_percent50.4
Mauricio Dubón (643289) · BATTER · SS · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 489
All-history rows before 20260827: 489
System season_avg: 0.2700
Data season_avg (2026 season-to-date): 0.2664
Diff (system - data): 0.0036
System opponent_avg: 0.2940

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1940.0001.000Hitting_2B0.2040.000-0.2040.000
predicted_3B0.0160.0000.000Hitting_3B0.0180.000-0.0180.000
predicted_AB3.7024.0004.000Hitting_AB3.8305.0000.170-1.000
predicted_AVG0.2700.0000.250Hitting_AVG0.2660.400-0.266-0.400
predicted_BB0.2420.0000.000Hitting_BB0.2600.000-0.2600.000
predicted_CS-0.0000.000BaseRunning_CS0.0180.000-0.0180.000
predicted_H1.0000.0001.000Hitting_H1.0202.000-1.020-2.000
predicted_HR0.0810.0000.000Hitting_HR0.0880.000-0.0880.000
predicted_OBP0.3150.0000.250Hitting_OBP0.3140.400-0.314-0.400
predicted_R0.4600.0000.000Hitting_R0.4720.000-0.4720.000
predicted_RBI0.5080.0001.000Hitting_RBI0.5360.000-0.5360.000
predicted_SLG0.3970.0000.500Hitting_SLG0.3980.400-0.398-0.400
predicted_SO0.5002.0000.000Hitting_SO0.5170.0001.4832.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics3
Worse Metrics7
Biggest Boostpredicted_SO: 0.5000 -> 2.0000 (boost 1.5000, worse)
Biggest Deboostpredicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend54150predicted_H: 1.0000 -> 1.0710 (boost 0.0710, better)predicted_SO: 0.5000 -> 0.4428 (deboost -0.0572, better)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_SLG: 0.4041 -> 0.3959 (deboost -0.0082, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling61524predicted_AB: 3.6877 -> 4.0000 (boost 0.3123, better)predicted_RBI: 0.4527 -> 0.0000 (deboost -0.4527, worse)AB rounded to 4 (raw=3.70), rates preserved: AVG=0.282 HR/AB=0.018
5consistency_constraints10101-predicted_R: 0.4391 -> 0.0000 (deboost -0.4391, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation22020predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context20202-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference21102predicted_SO: 0.0000 -> 2.0000 (boost 2.0000, worse)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "643289",
  "player_name": "Mauricio Dubón",
  "position": "SS",
  "team": "ATL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.194,
        "predicted_3B": 0.016,
        "predicted_AB": 3.702,
        "predicted_AVG": 0.27,
        "predicted_BB": 0.242,
        "predicted_H": 1.0,
        "predicted_HR": 0.081,
        "predicted_OBP": 0.315,
        "predicted_R": 0.46,
        "predicted_RBI": 0.508,
        "predicted_SLG": 0.397,
        "predicted_SO": 0.5
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1858,
        "predicted_3B": 0.0134,
        "predicted_AB": 3.6877,
        "predicted_AVG": 0.2905,
        "predicted_BB": 0.2355,
        "predicted_H": 1.071,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.0689,
        "predicted_OBP": 0.334,
        "predicted_R": 0.4578,
        "predicted_RBI": 0.472,
        "predicted_SLG": 0.4041,
        "predicted_SO": 0.4428
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.194,
          "after": 0.1858,
          "delta": -0.0082,
          "percent_delta": -0.0423,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.016,
          "after": 0.0134,
          "delta": -0.0026,
          "percent_delta": -0.1625,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.702,
          "after": 3.6877,
          "delta": -0.0143,
          "percent_delta": -0.0039,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.27,
          "after": 0.2905,
          "delta": 0.0205,
          "percent_delta": 0.0759,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.242,
          "after": 0.2355,
          "delta": -0.0065,
          "percent_delta": -0.0269,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.071,
          "delta": 0.071,
          "percent_delta": 0.071,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.081,
          "after": 0.0689,
          "delta": -0.0121,
          "percent_delta": -0.1494,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.315,
          "after": 0.334,
          "delta": 0.019,
          "percent_delta": 0.0603,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.46,
          "after": 0.4578,
          "delta": -0.0022,
          "percent_delta": -0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.508,
          "after": 0.472,
          "delta": -0.036,
          "percent_delta": -0.0709,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.397,
          "after": 0.4041,
          "delta": 0.0071,
          "percent_delta": 0.0179,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5,
          "after": 0.4428,
          "delta": -0.0572,
          "percent_delta": -0.1144,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.071,
          "delta": 0.071,
          "percent_delta": 0.071,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.5,
          "after": 0.4428,
          "delta": -0.0572,
          "percent_delta": -0.1144,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.1858,
        "predicted_3B": 0.0134,
        "predicted_AB": 3.6877,
        "predicted_AVG": 0.2833,
        "predicted_BB": 0.2348,
        "predicted_H": 1.0449,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.0676,
        "predicted_OBP": 0.3262,
        "predicted_R": 0.4391,
        "predicted_RBI": 0.4527,
        "predicted_SLG": 0.3959,
        "predicted_SO": 0.4441
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1858,
          "after": 0.1858,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0134,
          "after": 0.0134,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6877,
          "after": 3.6877,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2905,
          "after": 0.2833,
          "delta": -0.0072,
          "percent_delta": -0.0248,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2355,
          "after": 0.2348,
          "delta": -0.0007,
          "percent_delta": -0.003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.071,
          "after": 1.0449,
          "delta": -0.0261,
          "percent_delta": -0.0244,
          "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.0689,
          "after": 0.0676,
          "delta": -0.0013,
          "percent_delta": -0.0189,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.334,
          "after": 0.3262,
          "delta": -0.0078,
          "percent_delta": -0.0234,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4578,
          "after": 0.4391,
          "delta": -0.0187,
          "percent_delta": -0.0408,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.472,
          "after": 0.4527,
          "delta": -0.0193,
          "percent_delta": -0.0409,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4041,
          "after": 0.3959,
          "delta": -0.0082,
          "percent_delta": -0.0203,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4428,
          "after": 0.4441,
          "delta": 0.0013,
          "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.4041,
          "after": 0.3959,
          "delta": -0.0082,
          "percent_delta": -0.0203,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.70), rates preserved: AVG=0.282 HR/AB=0.018",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1858,
          "after": 0.0,
          "delta": -0.1858,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0134,
          "after": 0.0,
          "delta": -0.0134,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6877,
          "after": 4.0,
          "delta": 0.3123,
          "percent_delta": 0.0847,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2348,
          "after": 0.0,
          "delta": -0.2348,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0449,
          "after": 1.0,
          "delta": -0.0449,
          "percent_delta": -0.043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.011,
          "after": 0.0,
          "delta": -0.011,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0676,
          "after": 0.0,
          "delta": -0.0676,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4527,
          "after": 0.0,
          "delta": -0.4527,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4441,
          "after": 0.0,
          "delta": -0.4441,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.6877,
          "after": 4.0,
          "delta": 0.3123,
          "percent_delta": 0.0847,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4527,
          "after": 0.0,
          "delta": -0.4527,
          "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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4391,
          "after": 0.0,
          "delta": -0.4391,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.4391,
          "after": 0.0,
          "delta": -0.4391,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 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": 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.282,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.33,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.394,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2833,
          "after": 0.282,
          "delta": -0.0013,
          "percent_delta": -0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3262,
          "after": 0.33,
          "delta": 0.0038,
          "percent_delta": 0.0116,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3959,
          "after": 0.394,
          "delta": -0.0019,
          "percent_delta": -0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.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.2833,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3262,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3959,
        "predicted_SO": 2.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.282,
          "after": 0.2833,
          "delta": 0.0013,
          "percent_delta": 0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.33,
          "after": 0.3262,
          "delta": -0.0038,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.394,
          "after": 0.3959,
          "delta": 0.0019,
          "percent_delta": 0.0049,
          "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": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.194,
        "after": 0.0,
        "delta": -0.194,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.016,
        "after": 0.0,
        "delta": -0.016,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.702,
        "after": 4.0,
        "delta": 0.298,
        "percent_delta": 0.0805,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.27,
        "after": 0.2833,
        "delta": 0.0133,
        "percent_delta": 0.0493,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.242,
        "after": 0.0,
        "delta": -0.242,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.081,
        "after": 0.0,
        "delta": -0.081,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.315,
        "after": 0.3262,
        "delta": 0.0112,
        "percent_delta": 0.0356,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.46,
        "after": 0.0,
        "delta": -0.46,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.508,
        "after": 0.0,
        "delta": -0.508,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.397,
        "after": 0.3959,
        "delta": -0.0011,
        "percent_delta": -0.0028,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.5,
        "after": 2.0,
        "delta": 1.5,
        "percent_delta": 3.0,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.5,
        "after": 2.0,
        "delta": 1.5,
        "percent_delta": 3.0,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.194-
predicted_3B0.016-
predicted_AB3.702-
predicted_AVG0.270-
predicted_BB0.242-
predicted_H1.000-
predicted_HR0.081-
predicted_OBP0.315-
predicted_R0.460-
predicted_RBI0.508-
predicted_SLG0.397-
predicted_SO0.500-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.186-0.008
predicted_3B0.013-0.003
predicted_AB3.688-0.014
predicted_AVG0.2900.020
predicted_BB0.235-0.007
predicted_H1.0710.071
predicted_HBP0.011-
predicted_HR0.069-0.012
predicted_OBP0.3340.019
predicted_R0.458-0.002
predicted_RBI0.472-0.036
predicted_SLG0.4040.007
predicted_SO0.443-0.057
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1860.000
predicted_3B0.0130.000
predicted_AB3.6880.000
predicted_AVG0.283-0.007
predicted_BB0.235-0.001
predicted_H1.045-0.026
predicted_HBP0.0110.000
predicted_HR0.068-0.001
predicted_OBP0.326-0.008
predicted_R0.439-0.019
predicted_RBI0.453-0.019
predicted_SLG0.396-0.008
predicted_SO0.4440.001
4. ab_floor_and_scaling

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

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
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-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO0.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI1.0001.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.186
predicted_3B0.000-0.013
predicted_AB4.0000.312
predicted_AVG0.282-0.001
predicted_BB0.000-0.235
predicted_H1.000-0.045
predicted_HR0.000-0.068
predicted_OBP0.3300.004
predicted_R0.000-0.439
predicted_RBI0.000-0.453
predicted_SLG0.394-0.002
predicted_SO0.000-0.444
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.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
SO2.0002.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: 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.0009.0001.0000.0000.0002.0003.0001.0000.0000.47370.50000.52630.47370.00000.10530.05260.0000
last_100.2010-34.00011.0001.0000.0000.0002.0003.0002.0002.0000.32350.36110.35290.32350.00000.05880.05880.0588
season0.60124-459.000124.00024.0002.00010.00063.00057.00030.00062.0000.27020.31640.39650.27020.02180.13730.06540.1351
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1750
predicted_3B0.0100
predicted_AB3.6690
predicted_AVG0.3173
predicted_BB0.2270
predicted_H1.1640
predicted_HBP0.0110
predicted_HR0.0530
predicted_OBP0.3588
predicted_R0.4550
predicted_RBI0.4250
predicted_SLG0.4134
predicted_SO0.3680
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19400.17500.1858model_form_blend
predicted_3B0.01600.01000.0134model_form_blend
predicted_AB3.70203.66903.6877model_form_blend
predicted_AVG0.27000.31730.2905model_form_blend
predicted_BB0.24200.22700.2355model_form_blend
predicted_H1.00001.16401.0710model_form_blend
predicted_HBP-0.01100.0110form_only
predicted_HR0.08100.05300.0689model_form_blend
predicted_OBP0.31500.35880.3340model_form_blend
predicted_R0.46000.45500.4578model_form_blend
predicted_RBI0.50800.42500.4720model_form_blend
predicted_SLG0.39700.41340.4041model_form_blend
predicted_SO0.50000.36800.4428model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.4
Hitting_BB0
Hitting_GIDP1
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260826_LAD@ATL
game_typefull
mlbID643289
playerID643289
playerNameMauricio Dubón
posLF
startedTrue
startingPositionSS
teamATL
teamID2
game_date2026-08-26
sl_k_percent11.9
sl_bb_percent5.9
sl_woba0.309
sl_xwoba0.305
sl_xba0.269
sl_xslg0.376
sl_sweet_spot_percent37.1
sl_barrel_batted_rate3.7
sl_hard_hit_percent29.7
sl_exit_velocity_avg86.5
sl_launch_angle_avg15.8
sl_whiff_percent15.4
sl_swing_percent53.5
Ronald Acuña Jr. (660670) · BATTER · RF · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 333
All-history rows before 20260827: 333
System season_avg: 0.2340
Data season_avg (2026 season-to-date): 0.2377
Diff (system - data): -0.0037
System opponent_avg: 0.2340

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1520.0000.000Hitting_2B0.1620.000-0.1620.000
predicted_3B0.0130.0000.000Hitting_3B0.0120.000-0.0120.000
predicted_AB4.6604.0005.000Hitting_AB3.8535.0000.147-1.000
predicted_AVG0.2050.2500.200Hitting_AVG0.2380.0000.0120.250
predicted_BB0.5321.0001.000Hitting_BB0.5620.0000.4381.000
predicted_CS-0.0000.000BaseRunning_CS0.0900.000-0.0900.000
predicted_H0.9601.0001.000Hitting_H0.9160.0000.0841.000
predicted_HR0.1801.0000.000Hitting_HR0.1860.0000.8141.000
predicted_OBP0.2930.4000.333Hitting_OBP0.3410.0000.0590.400
predicted_R0.5571.0001.000Hitting_R0.5740.0000.4261.000
predicted_RBI0.4501.0000.000Hitting_RBI0.4890.0000.5111.000
predicted_SLG0.3581.0000.200Hitting_SLG0.4310.0000.5691.000
predicted_SO1.0380.0001.000Hitting_SO1.0332.000-1.033-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectdeboosted
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_HR: 0.1800 -> 1.0000 (boost 0.8200, better)
Biggest Deboostpredicted_SO: 1.0380 -> 0.0000 (deboost -1.0380, 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.6600 -> 4.3053 (deboost -0.3547, worse)Final model input calibrated 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.2937 -> 0.2837 (deboost -0.0100, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73443predicted_AB: 4.3053 -> 5.0000 (boost 0.6947, better)predicted_RBI: 0.4006 -> 0.0000 (deboost -0.4006, worse)AB rounded to 5 (raw=4.66), rates preserved: AVG=0.184 HR/AB=0.032
5consistency_constraints10101-predicted_R: 0.4794 -> 0.0000 (deboost -0.4794, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context40404-predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference53241predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.3150 -> 0.3414 (boost 0.0264, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "660670",
  "player_name": "Ronald Acuña Jr.",
  "position": "RF",
  "team": "ATL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.152,
        "predicted_3B": 0.013,
        "predicted_AB": 4.66,
        "predicted_AVG": 0.205,
        "predicted_BB": 0.532,
        "predicted_H": 0.96,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.293,
        "predicted_R": 0.557,
        "predicted_RBI": 0.45,
        "predicted_SLG": 0.358,
        "predicted_SO": 1.038
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1371,
        "predicted_3B": 0.0109,
        "predicted_AB": 4.3053,
        "predicted_AVG": 0.2031,
        "predicted_BB": 0.5107,
        "predicted_H": 0.8781,
        "predicted_HBP": 0.038,
        "predicted_HR": 0.1544,
        "predicted_OBP": 0.2937,
        "predicted_R": 0.4998,
        "predicted_RBI": 0.4176,
        "predicted_SLG": 0.3459,
        "predicted_SO": 1.0717
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.152,
          "after": 0.1371,
          "delta": -0.0149,
          "percent_delta": -0.098,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.013,
          "after": 0.0109,
          "delta": -0.0021,
          "percent_delta": -0.1615,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.66,
          "after": 4.3053,
          "delta": -0.3547,
          "percent_delta": -0.0761,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.205,
          "after": 0.2031,
          "delta": -0.0019,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.532,
          "after": 0.5107,
          "delta": -0.0213,
          "percent_delta": -0.04,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.96,
          "after": 0.8781,
          "delta": -0.0819,
          "percent_delta": -0.0853,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.1544,
          "delta": -0.0256,
          "percent_delta": -0.1422,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.293,
          "after": 0.2937,
          "delta": 0.0007,
          "percent_delta": 0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.557,
          "after": 0.4998,
          "delta": -0.0572,
          "percent_delta": -0.1027,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.45,
          "after": 0.4176,
          "delta": -0.0324,
          "percent_delta": -0.072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.358,
          "after": 0.3459,
          "delta": -0.0121,
          "percent_delta": -0.0338,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.038,
          "after": 1.0717,
          "delta": 0.0337,
          "percent_delta": 0.0325,
          "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.66,
          "after": 4.3053,
          "delta": -0.3547,
          "percent_delta": -0.0761,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 79
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1371,
        "predicted_3B": 0.0109,
        "predicted_AB": 4.3053,
        "predicted_AVG": 0.199,
        "predicted_BB": 0.5092,
        "predicted_H": 0.8567,
        "predicted_HBP": 0.038,
        "predicted_HR": 0.1514,
        "predicted_OBP": 0.2837,
        "predicted_R": 0.4794,
        "predicted_RBI": 0.4006,
        "predicted_SLG": 0.3414,
        "predicted_SO": 1.0749
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1371,
          "after": 0.1371,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0109,
          "after": 0.0109,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3053,
          "after": 4.3053,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2031,
          "after": 0.199,
          "delta": -0.0041,
          "percent_delta": -0.0202,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5107,
          "after": 0.5092,
          "delta": -0.0015,
          "percent_delta": -0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8781,
          "after": 0.8567,
          "delta": -0.0214,
          "percent_delta": -0.0244,
          "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.1544,
          "after": 0.1514,
          "delta": -0.003,
          "percent_delta": -0.0194,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2937,
          "after": 0.2837,
          "delta": -0.01,
          "percent_delta": -0.034,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4998,
          "after": 0.4794,
          "delta": -0.0204,
          "percent_delta": -0.0408,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4176,
          "after": 0.4006,
          "delta": -0.017,
          "percent_delta": -0.0407,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3459,
          "after": 0.3414,
          "delta": -0.0045,
          "percent_delta": -0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0717,
          "after": 1.0749,
          "delta": 0.0032,
          "percent_delta": 0.003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2937,
          "after": 0.2837,
          "delta": -0.01,
          "percent_delta": -0.034,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=4.66), rates preserved: AVG=0.184 HR/AB=0.032",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1371,
          "after": 0.0,
          "delta": -0.1371,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0109,
          "after": 0.0,
          "delta": -0.0109,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3053,
          "after": 5.0,
          "delta": 0.6947,
          "percent_delta": 0.1614,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5092,
          "after": 1.0,
          "delta": 0.4908,
          "percent_delta": 0.9639,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8567,
          "after": 1.0,
          "delta": 0.1433,
          "percent_delta": 0.1673,
          "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.1514,
          "after": 0.0,
          "delta": -0.1514,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4006,
          "after": 0.0,
          "delta": -0.4006,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0749,
          "after": 1.0,
          "delta": -0.0749,
          "percent_delta": -0.0697,
          "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.3053,
          "after": 5.0,
          "delta": 0.6947,
          "percent_delta": 0.1614,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4006,
          "after": 0.0,
          "delta": -0.4006,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4794,
          "after": 0.0,
          "delta": -0.4794,
          "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.4794,
          "after": 0.0,
          "delta": -0.4794,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.184,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.27,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.315,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.199,
          "after": 0.184,
          "delta": -0.015,
          "percent_delta": -0.0754,
          "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.2837,
          "after": 0.27,
          "delta": -0.0137,
          "percent_delta": -0.0483,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3414,
          "after": 0.315,
          "delta": -0.0264,
          "percent_delta": -0.0773,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "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.199,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.2837,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3414,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.184,
          "after": 0.199,
          "delta": 0.015,
          "percent_delta": 0.0814,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.27,
          "after": 0.2837,
          "delta": 0.0137,
          "percent_delta": 0.0507,
          "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.315,
          "after": 0.3414,
          "delta": 0.0264,
          "percent_delta": 0.0837,
          "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.315,
          "after": 0.3414,
          "delta": 0.0264,
          "percent_delta": 0.0837,
          "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.152,
        "after": 0.0,
        "delta": -0.152,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.013,
        "after": 0.0,
        "delta": -0.013,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.66,
        "after": 4.0,
        "delta": -0.66,
        "percent_delta": -0.1416,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.205,
        "after": 0.199,
        "delta": -0.006,
        "percent_delta": -0.0293,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.532,
        "after": 1.0,
        "delta": 0.468,
        "percent_delta": 0.8797,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.96,
        "after": 1.0,
        "delta": 0.04,
        "percent_delta": 0.0417,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.18,
        "after": 1.0,
        "delta": 0.82,
        "percent_delta": 4.5556,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.293,
        "after": 0.2837,
        "delta": -0.0093,
        "percent_delta": -0.0317,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.557,
        "after": 1.0,
        "delta": 0.443,
        "percent_delta": 0.7953,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.45,
        "after": 1.0,
        "delta": 0.55,
        "percent_delta": 1.2222,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.358,
        "after": 0.3414,
        "delta": -0.0166,
        "percent_delta": -0.0464,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.038,
        "after": 0.0,
        "delta": -1.038,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_HR",
        "before": 0.18,
        "after": 1.0,
        "delta": 0.82,
        "percent_delta": 4.5556,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.038,
        "after": 0.0,
        "delta": -1.038,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "deboosted"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.152-
predicted_3B0.013-
predicted_AB4.660-
predicted_AVG0.205-
predicted_BB0.532-
predicted_H0.960-
predicted_HR0.180-
predicted_OBP0.293-
predicted_R0.557-
predicted_RBI0.450-
predicted_SLG0.358-
predicted_SO1.038-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.137-0.015
predicted_3B0.011-0.002
predicted_AB4.305-0.355
predicted_AVG0.203-0.002
predicted_BB0.511-0.021
predicted_H0.878-0.082
predicted_HBP0.038-
predicted_HR0.154-0.026
predicted_OBP0.2940.001
predicted_R0.500-0.057
predicted_RBI0.418-0.032
predicted_SLG0.346-0.012
predicted_SO1.0720.034
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1370.000
predicted_3B0.0110.000
predicted_AB4.3050.000
predicted_AVG0.199-0.004
predicted_BB0.509-0.002
predicted_H0.857-0.021
predicted_HBP0.0380.000
predicted_HR0.151-0.003
predicted_OBP0.284-0.010
predicted_R0.479-0.020
predicted_RBI0.401-0.017
predicted_SLG0.341-0.005
predicted_SO1.0750.003
4. ab_floor_and_scaling

AB rounded to 5 (raw=4.66), rates preserved: AVG=0.184 HR/AB=0.032

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB5.000-
BB1.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
BB1.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB1.0000.000
H1.0000.000
HR0.0000.000
R1.0001.000
RBI0.0000.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.137
predicted_3B0.000-0.011
predicted_AB5.0000.695
predicted_AVG0.184-0.015
predicted_BB1.0000.491
predicted_H1.0000.143
predicted_HR0.000-0.151
predicted_OBP0.270-0.014
predicted_R0.000-0.479
predicted_RBI0.000-0.401
predicted_SLG0.315-0.026
predicted_SO1.000-0.075
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
BB1.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA5.000-
R1.0000.000
RBI1.0001.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 79
Reference playing time: 4.660
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0002.0000.0000.0000.0000.0001.0003.0006.0000.10530.22730.10530.10530.00000.00000.15790.3158
last_100.2010-40.0007.0001.0000.0001.0005.0002.0003.00014.0000.17500.23260.27500.17500.02500.12500.07500.3500
season0.6079-299.00070.00012.0001.00013.00035.00044.00042.00082.0000.23410.33620.41140.23410.04350.11710.14050.2742
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1170
predicted_3B0.0080
predicted_AB3.8290
predicted_AVG0.2006
predicted_BB0.4820
predicted_H0.7680
predicted_HBP0.0380
predicted_HR0.1200
predicted_OBP0.2946
predicted_R0.4230
predicted_RBI0.3740
predicted_SLG0.3296
predicted_SO1.1170
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15200.11700.1371model_form_blend
predicted_3B0.01300.00800.0109model_form_blend
predicted_AB4.66003.82904.3053model_form_blend
predicted_AVG0.20500.20060.2031model_form_blend
predicted_BB0.53200.48200.5107model_form_blend
predicted_H0.96000.76800.8781model_form_blend
predicted_HBP-0.03800.0380form_only
predicted_HR0.18000.12000.1544model_form_blend
predicted_OBP0.29300.29460.2937model_form_blend
predicted_R0.55700.42300.4998model_form_blend
predicted_RBI0.45000.37400.4176model_form_blend
predicted_SLG0.35800.32960.3459model_form_blend
predicted_SO1.03801.11701.0717model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260826_LAD@ATL
game_typefull
mlbID660670
playerID660670
playerNameRonald Acuña Jr.
posRF
startedTrue
startingPositionRF
teamATL
teamID2
game_date2026-08-26
sl_k_percent23.3
sl_bb_percent12.6
sl_woba0.334
sl_xwoba0.361
sl_xba0.254
sl_xslg0.469
sl_sweet_spot_percent32.8
sl_barrel_batted_rate12.8
sl_hard_hit_percent45.1
sl_exit_velocity_avg90.1
sl_launch_angle_avg15.5
sl_whiff_percent30.4
sl_swing_percent47.6
Matt Olson (621566) · BATTER · 1B · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 556
All-history rows before 20260827: 556
System season_avg: 0.2590
Data season_avg (2026 season-to-date): 0.2677
Diff (system - data): -0.0087
System opponent_avg: 0.1810

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2440.0001.000Hitting_2B0.2590.000-0.2590.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.1703.0004.000Hitting_AB3.8903.000-0.8900.000
predicted_AVG0.2670.0000.250Hitting_AVG0.2680.333-0.268-0.333
predicted_BB0.4201.0000.000Hitting_BB0.4602.0000.540-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.1200.0001.000Hitting_H1.0411.000-1.041-1.000
predicted_HR0.2100.0000.000Hitting_HR0.2881.000-0.288-1.000
predicted_OBP0.3130.2500.250Hitting_OBP0.3470.600-0.097-0.350
predicted_R0.6871.0001.000Hitting_R0.7301.0000.2700.000
predicted_RBI0.4800.0000.000Hitting_RBI0.6221.000-0.622-1.000
predicted_SLG0.4710.0000.500Hitting_SLG0.5561.333-0.556-1.333
predicted_SO1.0990.0001.000Hitting_SO1.0990.000-1.0990.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics2
Deboosted Metrics8
Better Metrics3
Worse Metrics7
Biggest Boostpredicted_BB: 0.4200 -> 1.0000 (boost 0.5800, better)
Biggest Deboostpredicted_AB: 4.1700 -> 3.0000 (deboost -1.1700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend50505-predicted_AB: 4.1700 -> 4.0577 (deboost -0.1123, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot21111predicted_OBP: 0.3061 -> 0.3139 (boost 0.0078, better)predicted_AVG: 0.2558 -> 0.2508 (deboost -0.0050, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling60615-predicted_RBI: 0.4329 -> 0.0000 (deboost -0.4329, worse)AB rounded to 4 (raw=4.17), rates preserved: AVG=0.244 HR/AB=0.046
5consistency_constraints11010predicted_R: 0.6189 -> 1.0000 (boost 0.3811, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context20202-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_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
9current_json_final11010predicted_AVG: 0.2440 -> 0.2508 (boost 0.0068, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "621566",
  "player_name": "Matt Olson",
  "position": "1B",
  "team": "ATL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.244,
        "predicted_3B": 0.0,
        "predicted_AB": 4.17,
        "predicted_AVG": 0.267,
        "predicted_BB": 0.42,
        "predicted_H": 1.12,
        "predicted_HR": 0.21,
        "predicted_OBP": 0.313,
        "predicted_R": 0.687,
        "predicted_RBI": 0.48,
        "predicted_SLG": 0.471,
        "predicted_SO": 1.099
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.244,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.0577,
        "predicted_AVG": 0.2558,
        "predicted_BB": 0.3743,
        "predicted_H": 1.043,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.1974,
        "predicted_OBP": 0.3061,
        "predicted_R": 0.6452,
        "predicted_RBI": 0.4513,
        "predicted_SLG": 0.4586,
        "predicted_SO": 1.1173
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.244,
          "after": 0.244,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0004,
          "delta": 0.0004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.17,
          "after": 4.0577,
          "delta": -0.1123,
          "percent_delta": -0.0269,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.267,
          "after": 0.2558,
          "delta": -0.0112,
          "percent_delta": -0.0419,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.42,
          "after": 0.3743,
          "delta": -0.0457,
          "percent_delta": -0.1088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.12,
          "after": 1.043,
          "delta": -0.077,
          "percent_delta": -0.0688,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.21,
          "after": 0.1974,
          "delta": -0.0126,
          "percent_delta": -0.06,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.313,
          "after": 0.3061,
          "delta": -0.0069,
          "percent_delta": -0.022,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.687,
          "after": 0.6452,
          "delta": -0.0418,
          "percent_delta": -0.0608,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.48,
          "after": 0.4513,
          "delta": -0.0287,
          "percent_delta": -0.0598,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.471,
          "after": 0.4586,
          "delta": -0.0124,
          "percent_delta": -0.0263,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.099,
          "after": 1.1173,
          "delta": 0.0183,
          "percent_delta": 0.0167,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.17,
          "after": 4.0577,
          "delta": -0.1123,
          "percent_delta": -0.0269,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 131
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.244,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.0577,
        "predicted_AVG": 0.2508,
        "predicted_BB": 0.3732,
        "predicted_H": 1.0176,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.1936,
        "predicted_OBP": 0.3139,
        "predicted_R": 0.6189,
        "predicted_RBI": 0.4329,
        "predicted_SLG": 0.4542,
        "predicted_SO": 1.1207
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.244,
          "after": 0.244,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0577,
          "after": 4.0577,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2558,
          "after": 0.2508,
          "delta": -0.005,
          "percent_delta": -0.0195,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3743,
          "after": 0.3732,
          "delta": -0.0011,
          "percent_delta": -0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.043,
          "after": 1.0176,
          "delta": -0.0254,
          "percent_delta": -0.0244,
          "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.1974,
          "after": 0.1936,
          "delta": -0.0038,
          "percent_delta": -0.0193,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3061,
          "after": 0.3139,
          "delta": 0.0078,
          "percent_delta": 0.0255,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6452,
          "after": 0.6189,
          "delta": -0.0263,
          "percent_delta": -0.0408,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4513,
          "after": 0.4329,
          "delta": -0.0184,
          "percent_delta": -0.0408,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4586,
          "after": 0.4542,
          "delta": -0.0044,
          "percent_delta": -0.0096,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.1173,
          "after": 1.1207,
          "delta": 0.0034,
          "percent_delta": 0.003,
          "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.3061,
          "after": 0.3139,
          "delta": 0.0078,
          "percent_delta": 0.0255,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2558,
          "after": 0.2508,
          "delta": -0.005,
          "percent_delta": -0.0195,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.17), rates preserved: AVG=0.244 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.244,
          "after": 0.0,
          "delta": -0.244,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0577,
          "after": 4.0,
          "delta": -0.0577,
          "percent_delta": -0.0142,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3732,
          "after": 0.0,
          "delta": -0.3732,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0176,
          "after": 1.0,
          "delta": -0.0176,
          "percent_delta": -0.0173,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.015,
          "after": 0.0,
          "delta": -0.015,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1936,
          "after": 0.0,
          "delta": -0.1936,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4329,
          "after": 0.0,
          "delta": -0.4329,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1207,
          "after": 1.0,
          "delta": -0.1207,
          "percent_delta": -0.1077,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4329,
          "after": 0.0,
          "delta": -0.4329,
          "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.6189,
          "after": 1.0,
          "delta": 0.3811,
          "percent_delta": 0.6158,
          "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.6189,
          "after": 1.0,
          "delta": 0.3811,
          "percent_delta": 0.6158,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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_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": 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.244,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.311,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.45,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2508,
          "after": 0.244,
          "delta": -0.0068,
          "percent_delta": -0.0271,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3139,
          "after": 0.311,
          "delta": -0.0029,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4542,
          "after": 0.45,
          "delta": -0.0042,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "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_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 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": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2508,
        "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.3139,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4542,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.244,
          "after": 0.2508,
          "delta": 0.0068,
          "percent_delta": 0.0277,
          "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.311,
          "after": 0.3139,
          "delta": 0.0029,
          "percent_delta": 0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.45,
          "after": 0.4542,
          "delta": 0.0042,
          "percent_delta": 0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.244,
          "after": 0.2508,
          "delta": 0.0068,
          "percent_delta": 0.0277,
          "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.244,
        "after": 0.0,
        "delta": -0.244,
        "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.17,
        "after": 3.0,
        "delta": -1.17,
        "percent_delta": -0.2806,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.267,
        "after": 0.2508,
        "delta": -0.0162,
        "percent_delta": -0.0607,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.42,
        "after": 1.0,
        "delta": 0.58,
        "percent_delta": 1.381,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.12,
        "after": 0.0,
        "delta": -1.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.21,
        "after": 0.0,
        "delta": -0.21,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.313,
        "after": 0.3139,
        "delta": 0.0009,
        "percent_delta": 0.0029,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.687,
        "after": 1.0,
        "delta": 0.313,
        "percent_delta": 0.4556,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.48,
        "after": 0.0,
        "delta": -0.48,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.471,
        "after": 0.4542,
        "delta": -0.0168,
        "percent_delta": -0.0357,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.099,
        "after": 0.0,
        "delta": -1.099,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.42,
        "after": 1.0,
        "delta": 0.58,
        "percent_delta": 1.381,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.17,
        "after": 3.0,
        "delta": -1.17,
        "percent_delta": -0.2806,
        "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.244-
predicted_3B0.000-
predicted_AB4.170-
predicted_AVG0.267-
predicted_BB0.420-
predicted_H1.120-
predicted_HR0.210-
predicted_OBP0.313-
predicted_R0.687-
predicted_RBI0.480-
predicted_SLG0.471-
predicted_SO1.099-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2440.000
predicted_3B0.0000.000
predicted_AB4.058-0.112
predicted_AVG0.256-0.011
predicted_BB0.374-0.046
predicted_H1.043-0.077
predicted_HBP0.015-
predicted_HR0.197-0.013
predicted_OBP0.306-0.007
predicted_R0.645-0.042
predicted_RBI0.451-0.029
predicted_SLG0.459-0.012
predicted_SO1.1170.018
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2440.000
predicted_3B0.0000.000
predicted_AB4.0580.000
predicted_AVG0.251-0.005
predicted_BB0.373-0.001
predicted_H1.018-0.025
predicted_HBP0.0150.000
predicted_HR0.194-0.004
predicted_OBP0.3140.008
predicted_R0.619-0.026
predicted_RBI0.433-0.018
predicted_SLG0.454-0.004
predicted_SO1.1210.003
4. ab_floor_and_scaling

AB rounded to 4 (raw=4.17), rates preserved: AVG=0.244 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. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI0.0000.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.244
predicted_3B0.000-0.000
predicted_AB4.000-0.058
predicted_AVG0.244-0.007
predicted_BB0.000-0.373
predicted_H1.000-0.018
predicted_HR0.000-0.194
predicted_OBP0.311-0.003
predicted_R1.0000.381
predicted_RBI0.000-0.433
predicted_SLG0.450-0.004
predicted_SO1.000-0.121
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 131
Reference playing time: 4.170
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.0000.0002.0000.0007.0000.19050.19050.23810.19050.00000.00000.00000.3333
last_100.2010-38.0009.0003.0000.0001.0003.0005.0003.00011.0000.23680.29270.39470.23680.02630.07900.07900.2895
season0.60131-506.000131.00032.0000.00035.00075.00090.00055.000144.0000.25890.33330.52960.25890.06920.14820.10870.2846
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2440
predicted_3B0.0010
predicted_AB3.9120
predicted_AVG0.2412
predicted_BB0.3150
predicted_H0.9430
predicted_HBP0.0150
predicted_HR0.1810
predicted_OBP0.2971
predicted_R0.5910
predicted_RBI0.4140
predicted_SLG0.4425
predicted_SO1.1410
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.24400.24400.2440model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.17003.91204.0577model_form_blend
predicted_AVG0.26700.24120.2558model_form_blend
predicted_BB0.42000.31500.3743model_form_blend
predicted_H1.12000.94301.0430model_form_blend
predicted_HBP-0.01500.0150form_only
predicted_HR0.21000.18100.1974model_form_blend
predicted_OBP0.31300.29710.3061model_form_blend
predicted_R0.68700.59100.6452model_form_blend
predicted_RBI0.48000.41400.4513model_form_blend
predicted_SLG0.47100.44250.4586model_form_blend
predicted_SO1.09901.14101.1173model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB2
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB1
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB4
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260826_LAD@ATL
game_typefull
mlbID621566
playerID621566
playerNameMatt Olson
pos1B
startedTrue
startingPosition1B
teamATL
teamID2
game_date2026-08-26
sl_k_percent25.2
sl_bb_percent9.8
sl_woba0.364
sl_xwoba0.36
sl_xba0.25
sl_xslg0.519
sl_sweet_spot_percent32.6
sl_barrel_batted_rate15.3
sl_hard_hit_percent50.4
sl_exit_velocity_avg92.7
sl_launch_angle_avg18.2
sl_whiff_percent25.1
sl_swing_percent45.9
Ozzie Albies (645277) · BATTER · 2B · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 546
All-history rows before 20260827: 546
System season_avg: 0.2590
Data season_avg (2026 season-to-date): 0.2558
Diff (system - data): 0.0032
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.1760.0000.000Hitting_2B0.1980.000-0.1980.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.9904.0004.000Hitting_AB3.8594.0000.1410.000
predicted_AVG0.2760.0000.250Hitting_AVG0.2560.250-0.256-0.250
predicted_BB0.2980.0000.000Hitting_BB0.3211.000-0.321-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0330.000-0.0330.000
predicted_H1.1000.0001.000Hitting_H0.9871.000-0.987-1.000
predicted_HR0.1000.0000.000Hitting_HR0.1520.000-0.1520.000
predicted_OBP0.3120.0000.250Hitting_OBP0.3130.400-0.313-0.400
predicted_R0.5570.0001.000Hitting_R0.5811.000-0.581-1.000
predicted_RBI0.5300.0001.000Hitting_RBI0.5130.000-0.5130.000
predicted_SB-0.0000.000BaseRunning_SB0.0161.000-0.016-1.000
predicted_SLG0.3920.0000.250Hitting_SLG0.4250.250-0.425-0.250
predicted_SO0.6031.0001.000Hitting_SO0.6341.0000.3660.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.6030 -> 1.0000 (boost 0.3970, worse)
Biggest Deboostpredicted_H: 1.1000 -> 0.0000 (deboost -1.1000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend20202-predicted_AB: 3.9900 -> 3.8995 (deboost -0.0905, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot20202-predicted_AVG: 0.2783 -> 0.2713 (deboost -0.0070, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_SO: 0.6179 -> 1.0000 (boost 0.3821, worse)predicted_RBI: 0.4741 -> 0.0000 (deboost -0.4741, worse)AB rounded to 4 (raw=3.99), rates preserved: AVG=0.265 HR/AB=0.024
5consistency_constraints10101-predicted_R: 0.4679 -> 0.0000 (deboost -0.4679, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation22020predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context30303-predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference10101-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final11010predicted_AVG: 0.2650 -> 0.2713 (boost 0.0063, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "645277",
  "player_name": "Ozzie Albies",
  "position": "2B",
  "team": "ATL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.176,
        "predicted_3B": 0.0,
        "predicted_AB": 3.99,
        "predicted_AVG": 0.276,
        "predicted_BB": 0.298,
        "predicted_H": 1.1,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.312,
        "predicted_R": 0.557,
        "predicted_RBI": 0.53,
        "predicted_SLG": 0.392,
        "predicted_SO": 0.603
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1551,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.8995,
        "predicted_AVG": 0.2783,
        "predicted_BB": 0.281,
        "predicted_H": 1.0843,
        "predicted_HBP": 0.028,
        "predicted_HR": 0.097,
        "predicted_OBP": 0.3162,
        "predicted_R": 0.4878,
        "predicted_RBI": 0.4943,
        "predicted_SLG": 0.3909,
        "predicted_SO": 0.6161
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.176,
          "after": 0.1551,
          "delta": -0.0209,
          "percent_delta": -0.1188,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0004,
          "delta": 0.0004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.99,
          "after": 3.8995,
          "delta": -0.0905,
          "percent_delta": -0.0227,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.276,
          "after": 0.2783,
          "delta": 0.0023,
          "percent_delta": 0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.298,
          "after": 0.281,
          "delta": -0.017,
          "percent_delta": -0.057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1,
          "after": 1.0843,
          "delta": -0.0157,
          "percent_delta": -0.0143,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.097,
          "delta": -0.003,
          "percent_delta": -0.03,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.312,
          "after": 0.3162,
          "delta": 0.0042,
          "percent_delta": 0.0135,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.557,
          "after": 0.4878,
          "delta": -0.0692,
          "percent_delta": -0.1242,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.53,
          "after": 0.4943,
          "delta": -0.0357,
          "percent_delta": -0.0674,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.392,
          "after": 0.3909,
          "delta": -0.0011,
          "percent_delta": -0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.603,
          "after": 0.6161,
          "delta": 0.0131,
          "percent_delta": 0.0217,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.99,
          "after": 3.8995,
          "delta": -0.0905,
          "percent_delta": -0.0227,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 131
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1551,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.8995,
        "predicted_AVG": 0.2713,
        "predicted_BB": 0.2802,
        "predicted_H": 1.0578,
        "predicted_HBP": 0.028,
        "predicted_HR": 0.0951,
        "predicted_OBP": 0.3201,
        "predicted_R": 0.4679,
        "predicted_RBI": 0.4741,
        "predicted_SLG": 0.3844,
        "predicted_SO": 0.6179
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1551,
          "after": 0.1551,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8995,
          "after": 3.8995,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2783,
          "after": 0.2713,
          "delta": -0.007,
          "percent_delta": -0.0252,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.281,
          "after": 0.2802,
          "delta": -0.0008,
          "percent_delta": -0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0843,
          "after": 1.0578,
          "delta": -0.0265,
          "percent_delta": -0.0244,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.028,
          "after": 0.028,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.097,
          "after": 0.0951,
          "delta": -0.0019,
          "percent_delta": -0.0196,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3162,
          "after": 0.3201,
          "delta": 0.0039,
          "percent_delta": 0.0123,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4878,
          "after": 0.4679,
          "delta": -0.0199,
          "percent_delta": -0.0408,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4943,
          "after": 0.4741,
          "delta": -0.0202,
          "percent_delta": -0.0409,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3909,
          "after": 0.3844,
          "delta": -0.0065,
          "percent_delta": -0.0166,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6161,
          "after": 0.6179,
          "delta": 0.0018,
          "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_AVG",
          "before": 0.2783,
          "after": 0.2713,
          "delta": -0.007,
          "percent_delta": -0.0252,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.99), rates preserved: AVG=0.265 HR/AB=0.024",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1551,
          "after": 0.0,
          "delta": -0.1551,
          "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.8995,
          "after": 4.0,
          "delta": 0.1005,
          "percent_delta": 0.0258,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2802,
          "after": 0.0,
          "delta": -0.2802,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0578,
          "after": 1.0,
          "delta": -0.0578,
          "percent_delta": -0.0546,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.028,
          "after": 0.0,
          "delta": -0.028,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0951,
          "after": 0.0,
          "delta": -0.0951,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4741,
          "after": 0.0,
          "delta": -0.4741,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6179,
          "after": 1.0,
          "delta": 0.3821,
          "percent_delta": 0.6184,
          "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.6179,
          "after": 1.0,
          "delta": 0.3821,
          "percent_delta": 0.6184,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4741,
          "after": 0.0,
          "delta": -0.4741,
          "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.4679,
          "after": 0.0,
          "delta": -0.4679,
          "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.4679,
          "after": 0.0,
          "delta": -0.4679,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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_SO",
          "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": 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.265,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.319,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.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.2713,
          "after": 0.265,
          "delta": -0.0063,
          "percent_delta": -0.0232,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3201,
          "after": 0.319,
          "delta": -0.0011,
          "percent_delta": -0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3844,
          "after": 0.384,
          "delta": -0.0004,
          "percent_delta": -0.001,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2713,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3201,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3844,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.265,
          "after": 0.2713,
          "delta": 0.0063,
          "percent_delta": 0.0237,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.319,
          "after": 0.3201,
          "delta": 0.0011,
          "percent_delta": 0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.384,
          "after": 0.3844,
          "delta": 0.0004,
          "percent_delta": 0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.265,
          "after": 0.2713,
          "delta": 0.0063,
          "percent_delta": 0.0237,
          "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.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.99,
        "after": 4.0,
        "delta": 0.01,
        "percent_delta": 0.0025,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AVG",
        "before": 0.276,
        "after": 0.2713,
        "delta": -0.0047,
        "percent_delta": -0.017,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.298,
        "after": 0.0,
        "delta": -0.298,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.1,
        "after": 0.0,
        "delta": -1.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.312,
        "after": 0.3201,
        "delta": 0.0081,
        "percent_delta": 0.026,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.557,
        "after": 0.0,
        "delta": -0.557,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.53,
        "after": 0.0,
        "delta": -0.53,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.392,
        "after": 0.3844,
        "delta": -0.0076,
        "percent_delta": -0.0194,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.603,
        "after": 1.0,
        "delta": 0.397,
        "percent_delta": 0.6584,
        "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.603,
        "after": 1.0,
        "delta": 0.397,
        "percent_delta": 0.6584,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.1,
        "after": 0.0,
        "delta": -1.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.176-
predicted_3B0.000-
predicted_AB3.990-
predicted_AVG0.276-
predicted_BB0.298-
predicted_H1.100-
predicted_HR0.100-
predicted_OBP0.312-
predicted_R0.557-
predicted_RBI0.530-
predicted_SLG0.392-
predicted_SO0.603-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.155-0.021
predicted_3B0.0000.000
predicted_AB3.900-0.091
predicted_AVG0.2780.002
predicted_BB0.281-0.017
predicted_H1.084-0.016
predicted_HBP0.028-
predicted_HR0.097-0.003
predicted_OBP0.3160.004
predicted_R0.488-0.069
predicted_RBI0.494-0.036
predicted_SLG0.391-0.001
predicted_SO0.6160.013
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1550.000
predicted_3B0.0000.000
predicted_AB3.9000.000
predicted_AVG0.271-0.007
predicted_BB0.280-0.001
predicted_H1.058-0.026
predicted_HBP0.0280.000
predicted_HR0.095-0.002
predicted_OBP0.3200.004
predicted_R0.468-0.020
predicted_RBI0.474-0.020
predicted_SLG0.384-0.007
predicted_SO0.6180.002
4. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0001.000
RBI1.0001.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.155
predicted_3B0.000-0.000
predicted_AB4.0000.100
predicted_AVG0.265-0.006
predicted_BB0.000-0.280
predicted_H1.000-0.058
predicted_HR0.000-0.095
predicted_OBP0.319-0.001
predicted_R0.000-0.468
predicted_RBI0.000-0.474
predicted_SLG0.384-0.000
predicted_SO1.0000.382
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.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 131
Reference playing time: 3.990
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0007.0000.0000.0000.0002.0001.0001.0004.0000.36840.38100.36840.36840.00000.10530.05260.2105
last_100.2010-37.00010.0001.0000.0000.0003.0001.0002.0005.0000.27030.29270.29730.27030.00000.08110.05410.1351
season0.60131-498.000129.00023.0000.00020.00067.00073.00039.00079.0000.25900.31290.42570.25900.04020.13450.07830.1586
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1280
predicted_3B0.0010
predicted_AB3.7820
predicted_AVG0.2813
predicted_BB0.2590
predicted_H1.0640
predicted_HBP0.0280
predicted_HR0.0930
predicted_OBP0.3216
predicted_R0.3980
predicted_RBI0.4480
predicted_SLG0.3895
predicted_SO0.6330
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17600.12800.1551model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.99003.78203.8995model_form_blend
predicted_AVG0.27600.28130.2783model_form_blend
predicted_BB0.29800.25900.2810model_form_blend
predicted_H1.10001.06401.0843model_form_blend
predicted_HBP-0.02800.0280form_only
predicted_HR0.10000.09300.0970model_form_blend
predicted_OBP0.31200.32160.3162model_form_blend
predicted_R0.55700.39800.4878model_form_blend
predicted_RBI0.53000.44800.4943model_form_blend
predicted_SLG0.39200.38950.3909model_form_blend
predicted_SO0.60300.63300.6161model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_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_TB1
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260826_LAD@ATL
game_typefull
mlbID645277
playerID645277
playerNameOzzie Albies
pos2B
startedTrue
startingPosition2B
teamATL
teamID2
game_date2026-08-26
sl_k_percent14.3
sl_bb_percent7.0
sl_woba0.314
sl_xwoba0.286
sl_xba0.232
sl_xslg0.356
sl_sweet_spot_percent34.0
sl_barrel_batted_rate4.0
sl_hard_hit_percent27.6
sl_exit_velocity_avg86.9
sl_launch_angle_avg18.2
sl_whiff_percent20.4
sl_swing_percent56.2
Michael Harris II (671739) · BATTER · CF · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 491
All-history rows before 20260827: 491
System season_avg: 0.2960
Data season_avg (2026 season-to-date): 0.2945
Diff (system - data): 0.0015
System opponent_avg: 0.3070

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2400.0000.000Hitting_2B0.2420.000-0.2420.000
predicted_3B0.0080.0000.000Hitting_3B0.0100.000-0.0100.000
predicted_AB5.0604.0005.000Hitting_AB4.0533.000-0.0531.000
predicted_AVG0.2680.5000.200Hitting_AVG0.2940.0000.2060.500
predicted_BB0.1280.0000.000Hitting_BB0.1471.000-0.147-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0260.000-0.0260.000
predicted_H1.3502.0001.000Hitting_H1.1930.0000.8072.000
predicted_HR0.2402.0001.000Hitting_HR0.1710.0001.8292.000
predicted_OBP0.3210.5000.200Hitting_OBP0.3200.2500.1800.250
predicted_R0.5041.0001.000Hitting_R0.5440.0000.4561.000
predicted_RBI0.9002.0001.000Hitting_RBI0.5930.0001.4072.000
predicted_SLG0.4682.0000.800Hitting_SLG0.4860.0001.5142.000
predicted_SO0.7921.0001.000Hitting_SO0.8270.0000.1731.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectboosted
Changed Metrics10
Boosted Metrics6
Deboosted Metrics4
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_HR: 0.2400 -> 2.0000 (boost 1.7600, better)
Biggest Deboostpredicted_AB: 5.0600 -> 4.0000 (deboost -1.0600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend52323predicted_SLG: 0.4680 -> 0.4901 (boost 0.0221, better)predicted_AB: 5.0600 -> 4.5706 (deboost -0.4894, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_OBP: 0.3217 -> 0.2918 (deboost -0.0299, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_AB: 4.5706 -> 5.0000 (boost 0.4294, better)predicted_2B: 0.2872 -> 0.0000 (deboost -0.2872, worse)AB rounded to 5 (raw=5.06), rates preserved: AVG=0.248 HR/AB=0.040
5consistency_constraints10101-predicted_R: 0.4601 -> 0.0000 (deboost -0.4601, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation22020predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context50505-predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference54141predicted_HR: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.4270 -> 0.4724 (boost 0.0454, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "671739",
  "player_name": "Michael Harris II",
  "position": "CF",
  "team": "ATL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.24,
        "predicted_3B": 0.008,
        "predicted_AB": 5.06,
        "predicted_AVG": 0.268,
        "predicted_BB": 0.128,
        "predicted_H": 1.35,
        "predicted_HR": 0.24,
        "predicted_OBP": 0.321,
        "predicted_R": 0.504,
        "predicted_RBI": 0.9,
        "predicted_SLG": 0.468,
        "predicted_SO": 0.792
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2872,
        "predicted_3B": 0.0071,
        "predicted_AB": 4.5706,
        "predicted_AVG": 0.2845,
        "predicted_BB": 0.1115,
        "predicted_H": 1.2863,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.2049,
        "predicted_OBP": 0.3217,
        "predicted_R": 0.4797,
        "predicted_RBI": 0.7687,
        "predicted_SLG": 0.4901,
        "predicted_SO": 0.795
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.24,
          "after": 0.2872,
          "delta": 0.0472,
          "percent_delta": 0.1967,
          "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": 5.06,
          "after": 4.5706,
          "delta": -0.4894,
          "percent_delta": -0.0967,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.268,
          "after": 0.2845,
          "delta": 0.0165,
          "percent_delta": 0.0616,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.128,
          "after": 0.1115,
          "delta": -0.0165,
          "percent_delta": -0.1289,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.35,
          "after": 1.2863,
          "delta": -0.0637,
          "percent_delta": -0.0472,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.24,
          "after": 0.2049,
          "delta": -0.0351,
          "percent_delta": -0.1462,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.321,
          "after": 0.3217,
          "delta": 0.0007,
          "percent_delta": 0.0022,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.504,
          "after": 0.4797,
          "delta": -0.0243,
          "percent_delta": -0.0482,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9,
          "after": 0.7687,
          "delta": -0.1313,
          "percent_delta": -0.1459,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.468,
          "after": 0.4901,
          "delta": 0.0221,
          "percent_delta": 0.0472,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.792,
          "after": 0.795,
          "delta": 0.003,
          "percent_delta": 0.0038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.468,
          "after": 0.4901,
          "delta": 0.0221,
          "percent_delta": 0.0472,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.06,
          "after": 4.5706,
          "delta": -0.4894,
          "percent_delta": -0.0967,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 125
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2872,
        "predicted_3B": 0.0071,
        "predicted_AB": 4.5706,
        "predicted_AVG": 0.2746,
        "predicted_BB": 0.1112,
        "predicted_H": 1.2549,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.2009,
        "predicted_OBP": 0.2918,
        "predicted_R": 0.4601,
        "predicted_RBI": 0.7373,
        "predicted_SLG": 0.4724,
        "predicted_SO": 0.7974
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2872,
          "after": 0.2872,
          "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": 4.5706,
          "after": 4.5706,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2845,
          "after": 0.2746,
          "delta": -0.0099,
          "percent_delta": -0.0348,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1115,
          "after": 0.1112,
          "delta": -0.0003,
          "percent_delta": -0.0027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.2863,
          "after": 1.2549,
          "delta": -0.0314,
          "percent_delta": -0.0244,
          "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.2049,
          "after": 0.2009,
          "delta": -0.004,
          "percent_delta": -0.0195,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3217,
          "after": 0.2918,
          "delta": -0.0299,
          "percent_delta": -0.0929,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4797,
          "after": 0.4601,
          "delta": -0.0196,
          "percent_delta": -0.0409,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7687,
          "after": 0.7373,
          "delta": -0.0314,
          "percent_delta": -0.0408,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4901,
          "after": 0.4724,
          "delta": -0.0177,
          "percent_delta": -0.0361,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.795,
          "after": 0.7974,
          "delta": 0.0024,
          "percent_delta": 0.003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3217,
          "after": 0.2918,
          "delta": -0.0299,
          "percent_delta": -0.0929,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=5.06), rates preserved: AVG=0.248 HR/AB=0.040",
      "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.2872,
          "after": 0.0,
          "delta": -0.2872,
          "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": 4.5706,
          "after": 5.0,
          "delta": 0.4294,
          "percent_delta": 0.0939,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1112,
          "after": 0.0,
          "delta": -0.1112,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.2549,
          "after": 1.0,
          "delta": -0.2549,
          "percent_delta": -0.2031,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.011,
          "after": 0.0,
          "delta": -0.011,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2009,
          "after": 0.0,
          "delta": -0.2009,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7373,
          "after": 1.0,
          "delta": 0.2627,
          "percent_delta": 0.3563,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7974,
          "after": 1.0,
          "delta": 0.2026,
          "percent_delta": 0.2541,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.5706,
          "after": 5.0,
          "delta": 0.4294,
          "percent_delta": 0.0939,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.2872,
          "after": 0.0,
          "delta": -0.2872,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4601,
          "after": 0.0,
          "delta": -0.4601,
          "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.4601,
          "after": 0.0,
          "delta": -0.4601,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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": 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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.248,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.27,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.427,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.2746,
          "after": 0.248,
          "delta": -0.0266,
          "percent_delta": -0.0969,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2918,
          "after": 0.27,
          "delta": -0.0218,
          "percent_delta": -0.0747,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4724,
          "after": 0.427,
          "delta": -0.0454,
          "percent_delta": -0.0961,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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": 2.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": 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": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 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.2746,
        "predicted_BB": 0.0,
        "predicted_CF": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 2.0,
        "predicted_OBP": 0.2918,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4724,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.248,
          "after": 0.2746,
          "delta": 0.0266,
          "percent_delta": 0.1071,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.27,
          "after": 0.2918,
          "delta": 0.0218,
          "percent_delta": 0.0807,
          "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.427,
          "after": 0.4724,
          "delta": 0.0454,
          "percent_delta": 0.1063,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.427,
          "after": 0.4724,
          "delta": 0.0454,
          "percent_delta": 0.1063,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.24,
        "after": 0.0,
        "delta": -0.24,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.008,
        "after": 0.0,
        "delta": -0.008,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 5.06,
        "after": 4.0,
        "delta": -1.06,
        "percent_delta": -0.2095,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.268,
        "after": 0.2746,
        "delta": 0.0066,
        "percent_delta": 0.0246,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.128,
        "after": 0.0,
        "delta": -0.128,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.35,
        "after": 2.0,
        "delta": 0.65,
        "percent_delta": 0.4815,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.24,
        "after": 2.0,
        "delta": 1.76,
        "percent_delta": 7.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.321,
        "after": 0.2918,
        "delta": -0.0292,
        "percent_delta": -0.091,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.504,
        "after": 1.0,
        "delta": 0.496,
        "percent_delta": 0.9841,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.9,
        "after": 2.0,
        "delta": 1.1,
        "percent_delta": 1.2222,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.468,
        "after": 0.4724,
        "delta": 0.0044,
        "percent_delta": 0.0094,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.792,
        "after": 1.0,
        "delta": 0.208,
        "percent_delta": 0.2626,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 6,
      "deboosted_metrics": 4,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_HR",
        "before": 0.24,
        "after": 2.0,
        "delta": 1.76,
        "percent_delta": 7.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 5.06,
        "after": 4.0,
        "delta": -1.06,
        "percent_delta": -0.2095,
        "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.240-
predicted_3B0.008-
predicted_AB5.060-
predicted_AVG0.268-
predicted_BB0.128-
predicted_H1.350-
predicted_HR0.240-
predicted_OBP0.321-
predicted_R0.504-
predicted_RBI0.900-
predicted_SLG0.468-
predicted_SO0.792-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2870.047
predicted_3B0.007-0.001
predicted_AB4.571-0.489
predicted_AVG0.2840.016
predicted_BB0.112-0.017
predicted_H1.286-0.064
predicted_HBP0.011-
predicted_HR0.205-0.035
predicted_OBP0.3220.001
predicted_R0.480-0.024
predicted_RBI0.769-0.131
predicted_SLG0.4900.022
predicted_SO0.7950.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.2870.000
predicted_3B0.0070.000
predicted_AB4.5710.000
predicted_AVG0.275-0.010
predicted_BB0.111-0.000
predicted_H1.255-0.031
predicted_HBP0.0110.000
predicted_HR0.201-0.004
predicted_OBP0.292-0.030
predicted_R0.460-0.020
predicted_RBI0.737-0.031
predicted_SLG0.472-0.018
predicted_SO0.7970.002
4. ab_floor_and_scaling

AB rounded to 5 (raw=5.06), rates preserved: AVG=0.248 HR/AB=0.040

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
H1.0000.000
HR1.0001.000
R1.0001.000
RBI1.0000.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.287
predicted_3B0.000-0.007
predicted_AB5.0000.429
predicted_AVG0.248-0.027
predicted_BB0.000-0.111
predicted_H1.000-0.255
predicted_HR0.000-0.201
predicted_OBP0.270-0.022
predicted_R0.000-0.460
predicted_RBI1.0000.263
predicted_SLG0.427-0.045
predicted_SO1.0000.203
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
HR2.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: 125
Reference playing time: 5.060
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-21.0007.0003.0000.0001.0004.0002.0000.0004.0000.33330.33330.61900.33330.04760.19050.00000.1905
last_100.2010-40.00013.0005.0000.0001.0005.0003.0000.0008.0000.32500.32500.52500.32500.02500.12500.00000.2000
season0.60125-479.000142.00030.0001.00021.00072.00063.00016.00099.0000.29650.32000.49480.29640.04380.15030.03340.2067
Weighted Prediction From Real Data
MetricValue
predicted_2B0.3490
predicted_3B0.0060
predicted_AB3.9310
predicted_AVG0.3061
predicted_BB0.0900
predicted_H1.2030
predicted_HBP0.0110
predicted_HR0.1590
predicted_OBP0.3226
predicted_R0.4480
predicted_RBI0.5970
predicted_SLG0.5190
predicted_SO0.7990
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.24000.34900.2872model_form_blend
predicted_3B0.00800.00600.0071model_form_blend
predicted_AB5.06003.93104.5706model_form_blend
predicted_AVG0.26800.30610.2845model_form_blend
predicted_BB0.12800.09000.1115model_form_blend
predicted_H1.35001.20301.2863model_form_blend
predicted_HBP-0.01100.0110form_only
predicted_HR0.24000.15900.2049model_form_blend
predicted_OBP0.32100.32260.3217model_form_blend
predicted_R0.50400.44800.4797model_form_blend
predicted_RBI0.90000.59700.7687model_form_blend
predicted_SLG0.46800.51900.4901model_form_blend
predicted_SO0.79200.79900.7950model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date491
Season rows before report date491
Report year2026
Profile rows used125
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H2
2B0
3B0
HR2
R1
RBI2
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC1
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260826_LAD@ATL
game_typefull
mlbID671739
playerID671739
playerNameMichael Harris II
posCF
startedTrue
startingPositionCF
teamATL
teamID2
game_date2026-08-26
sl_k_percent19.9
sl_bb_percent3.6
sl_woba0.355
sl_xwoba0.343
sl_xba0.288
sl_xslg0.479
sl_sweet_spot_percent30.1
sl_barrel_batted_rate10.7
sl_hard_hit_percent48.5
sl_exit_velocity_avg90.4
sl_launch_angle_avg9.4
sl_whiff_percent25.3
sl_swing_percent56.2
Sean Murphy (669221) · BATTER · C · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 38
All-history rows before 20260827: 38
System season_avg: 0.1360
Data season_avg (2026 season-to-date): 0.1343
Diff (system - data): 0.0017
System opponent_avg: 0.1820

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0770.0000.000Hitting_2B0.1051.000-0.105-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.3854.0003.000Hitting_AB3.5264.0000.4740.000
predicted_AVG0.1530.0000.000Hitting_AVG0.1340.750-0.134-0.750
predicted_BB0.0770.0000.000Hitting_BB0.0260.000-0.0260.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.4000.0000.000Hitting_H0.4743.000-0.474-3.000
predicted_HR0.0500.0000.000Hitting_HR0.0261.000-0.026-1.000
predicted_OBP0.2090.0000.000Hitting_OBP0.1410.750-0.141-0.750
predicted_R0.0770.0000.000Hitting_R0.1322.000-0.132-2.000
predicted_RBI0.1900.0000.000Hitting_RBI0.0531.000-0.053-1.000
predicted_SLG0.2370.0000.000Hitting_SLG0.1871.750-0.187-1.750
predicted_SO1.3082.0001.000Hitting_SO1.4741.0000.5261.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics1
Worse Metrics10
Biggest Boostpredicted_SO: 1.3080 -> 2.0000 (boost 0.6920, worse)
Biggest Deboostpredicted_H: 0.4000 -> 0.0000 (deboost -0.4000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43140predicted_H: 0.4000 -> 0.4793 (boost 0.0793, better)predicted_SO: 1.3080 -> 1.2221 (deboost -0.0859, better)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_OBP: 0.2128 -> 0.1623 (deboost -0.0505, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling60615-predicted_H: 0.4676 -> 0.0000 (deboost -0.4676, worse)AB rounded to 3 (raw=3.43), rates preserved: AVG=0.136 HR/AB=0.014
5consistency_constraints10101-predicted_R: 0.1214 -> 0.0000 (deboost -0.1214, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context22020predicted_OBP: 0.1623 -> 0.1690 (boost 0.0067, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference22011predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final20202-predicted_OBP: 0.1690 -> 0.1623 (deboost -0.0067, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669221",
  "player_name": "Sean Murphy",
  "position": "C",
  "team": "ATL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.077,
        "predicted_3B": 0.0,
        "predicted_AB": 3.385,
        "predicted_AVG": 0.153,
        "predicted_BB": 0.077,
        "predicted_H": 0.4,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.209,
        "predicted_R": 0.077,
        "predicted_RBI": 0.19,
        "predicted_SLG": 0.237,
        "predicted_SO": 1.308
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0873,
        "predicted_3B": 0.002,
        "predicted_AB": 3.4296,
        "predicted_AVG": 0.1625,
        "predicted_BB": 0.1066,
        "predicted_H": 0.4793,
        "predicted_HBP": 0.012,
        "predicted_HR": 0.0497,
        "predicted_OBP": 0.2128,
        "predicted_R": 0.1266,
        "predicted_RBI": 0.2086,
        "predicted_SLG": 0.2437,
        "predicted_SO": 1.2221
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.077,
          "after": 0.0873,
          "delta": 0.0103,
          "percent_delta": 0.1338,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.002,
          "delta": 0.002,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.385,
          "after": 3.4296,
          "delta": 0.0446,
          "percent_delta": 0.0132,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.153,
          "after": 0.1625,
          "delta": 0.0095,
          "percent_delta": 0.0621,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.077,
          "after": 0.1066,
          "delta": 0.0296,
          "percent_delta": 0.3844,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4,
          "after": 0.4793,
          "delta": 0.0793,
          "percent_delta": 0.1982,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.05,
          "after": 0.0497,
          "delta": -0.0003,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.209,
          "after": 0.2128,
          "delta": 0.0038,
          "percent_delta": 0.0182,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.077,
          "after": 0.1266,
          "delta": 0.0496,
          "percent_delta": 0.6442,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.19,
          "after": 0.2086,
          "delta": 0.0186,
          "percent_delta": 0.0979,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.237,
          "after": 0.2437,
          "delta": 0.0067,
          "percent_delta": 0.0283,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.308,
          "after": 1.2221,
          "delta": -0.0859,
          "percent_delta": -0.0657,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.4,
          "after": 0.4793,
          "delta": 0.0793,
          "percent_delta": 0.1982,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.308,
          "after": 1.2221,
          "delta": -0.0859,
          "percent_delta": -0.0657,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 13
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0873,
        "predicted_3B": 0.002,
        "predicted_AB": 3.4296,
        "predicted_AVG": 0.1363,
        "predicted_BB": 0.1063,
        "predicted_H": 0.4676,
        "predicted_HBP": 0.012,
        "predicted_HR": 0.0487,
        "predicted_OBP": 0.1623,
        "predicted_R": 0.1214,
        "predicted_RBI": 0.2001,
        "predicted_SLG": 0.2056,
        "predicted_SO": 1.2258
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0873,
          "after": 0.0873,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.002,
          "after": 0.002,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4296,
          "after": 3.4296,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1625,
          "after": 0.1363,
          "delta": -0.0262,
          "percent_delta": -0.1612,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1066,
          "after": 0.1063,
          "delta": -0.0003,
          "percent_delta": -0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4793,
          "after": 0.4676,
          "delta": -0.0117,
          "percent_delta": -0.0244,
          "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.0497,
          "after": 0.0487,
          "delta": -0.001,
          "percent_delta": -0.0201,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2128,
          "after": 0.1623,
          "delta": -0.0505,
          "percent_delta": -0.2373,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.1266,
          "after": 0.1214,
          "delta": -0.0052,
          "percent_delta": -0.0411,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2086,
          "after": 0.2001,
          "delta": -0.0085,
          "percent_delta": -0.0407,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2437,
          "after": 0.2056,
          "delta": -0.0381,
          "percent_delta": -0.1563,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2221,
          "after": 1.2258,
          "delta": 0.0037,
          "percent_delta": 0.003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.2128,
          "after": 0.1623,
          "delta": -0.0505,
          "percent_delta": -0.2373,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.43), rates preserved: AVG=0.136 HR/AB=0.014",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0873,
          "after": 0.0,
          "delta": -0.0873,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.002,
          "after": 0.0,
          "delta": -0.002,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4296,
          "after": 3.0,
          "delta": -0.4296,
          "percent_delta": -0.1253,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1063,
          "after": 0.0,
          "delta": -0.1063,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.4676,
          "after": 0.0,
          "delta": -0.4676,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.012,
          "after": 0.0,
          "delta": -0.012,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0487,
          "after": 0.0,
          "delta": -0.0487,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2001,
          "after": 0.0,
          "delta": -0.2001,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2258,
          "after": 1.0,
          "delta": -0.2258,
          "percent_delta": -0.1842,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.4676,
          "after": 0.0,
          "delta": -0.4676,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.1214,
          "after": 0.0,
          "delta": -0.1214,
          "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.1214,
          "after": 0.0,
          "delta": -0.1214,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": {},
      "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.136,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.169,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.212,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1363,
          "after": 0.136,
          "delta": -0.0003,
          "percent_delta": -0.0022,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.1623,
          "after": 0.169,
          "delta": 0.0067,
          "percent_delta": 0.0413,
          "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.2056,
          "after": 0.212,
          "delta": 0.0064,
          "percent_delta": 0.0311,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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_OBP",
          "before": 0.1623,
          "after": 0.169,
          "delta": 0.0067,
          "percent_delta": 0.0413,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.1363,
        "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.1623,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2056,
        "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.136,
          "after": 0.1363,
          "delta": 0.0003,
          "percent_delta": 0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.169,
          "after": 0.1623,
          "delta": -0.0067,
          "percent_delta": -0.0396,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.212,
          "after": 0.2056,
          "delta": -0.0064,
          "percent_delta": -0.0302,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.169,
          "after": 0.1623,
          "delta": -0.0067,
          "percent_delta": -0.0396,
          "direction": "deboost",
          "projection_effect": "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": 3.385,
        "after": 4.0,
        "delta": 0.615,
        "percent_delta": 0.1817,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.153,
        "after": 0.1363,
        "delta": -0.0167,
        "percent_delta": -0.1092,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.077,
        "after": 0.0,
        "delta": -0.077,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.4,
        "after": 0.0,
        "delta": -0.4,
        "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.209,
        "after": 0.1623,
        "delta": -0.0467,
        "percent_delta": -0.2234,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.077,
        "after": 0.0,
        "delta": -0.077,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.19,
        "after": 0.0,
        "delta": -0.19,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.237,
        "after": 0.2056,
        "delta": -0.0314,
        "percent_delta": -0.1325,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.308,
        "after": 2.0,
        "delta": 0.692,
        "percent_delta": 0.5291,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.308,
        "after": 2.0,
        "delta": 0.692,
        "percent_delta": 0.5291,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.4,
        "after": 0.0,
        "delta": -0.4,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.077-
predicted_3B0.000-
predicted_AB3.385-
predicted_AVG0.153-
predicted_BB0.077-
predicted_H0.400-
predicted_HR0.050-
predicted_OBP0.209-
predicted_R0.077-
predicted_RBI0.190-
predicted_SLG0.237-
predicted_SO1.308-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.010
predicted_3B0.0020.002
predicted_AB3.4300.045
predicted_AVG0.1630.010
predicted_BB0.1070.030
predicted_H0.4790.079
predicted_HBP0.012-
predicted_HR0.050-0.000
predicted_OBP0.2130.004
predicted_R0.1270.050
predicted_RBI0.2090.019
predicted_SLG0.2440.007
predicted_SO1.222-0.086
3. team_form_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.0020.000
predicted_AB3.4300.000
predicted_AVG0.136-0.026
predicted_BB0.106-0.000
predicted_H0.468-0.012
predicted_HBP0.0120.000
predicted_HR0.049-0.001
predicted_OBP0.162-0.050
predicted_R0.121-0.005
predicted_RBI0.200-0.009
predicted_SLG0.206-0.038
predicted_SO1.2260.004
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.43), rates preserved: AVG=0.136 HR/AB=0.014

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H0.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
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-
H0.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H0.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.087
predicted_3B0.000-0.002
predicted_AB3.000-0.430
predicted_AVG0.136-0.000
predicted_BB0.000-0.106
predicted_H0.000-0.468
predicted_HR0.000-0.049
predicted_OBP0.1690.007
predicted_R0.000-0.121
predicted_RBI0.000-0.200
predicted_SLG0.2120.006
predicted_SO1.000-0.226
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
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 13
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0002.0000.0000.0000.0001.0000.0001.0004.0000.12500.17650.12500.12500.00000.06250.06250.2500
last_100.2010-33.0005.0001.0000.0000.0001.0001.0001.00011.0000.15150.17650.18180.15150.00000.03030.03030.3333
season0.6013-44.0006.0001.0000.0000.0001.0001.0001.00017.0000.13640.15560.15910.13640.00000.02270.02270.3864
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1080
predicted_3B0.0060
predicted_AB3.5190
predicted_AVG0.1814
predicted_BB0.1660
predicted_H0.6380
predicted_HBP0.0120
predicted_HR0.0490
predicted_OBP0.2205
predicted_R0.2260
predicted_RBI0.2460
predicted_SLG0.2571
predicted_SO1.0500
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.07700.10800.0873model_form_blend
predicted_3B0.00000.00600.0020model_form_blend
predicted_AB3.38503.51903.4296model_form_blend
predicted_AVG0.15300.18140.1625model_form_blend
predicted_BB0.07700.16600.1066model_form_blend
predicted_H0.40000.63800.4793model_form_blend
predicted_HBP-0.01200.0120form_only
predicted_HR0.05000.04900.0497model_form_blend
predicted_OBP0.20900.22050.2128model_form_blend
predicted_R0.07700.22600.1266model_form_blend
predicted_RBI0.19000.24600.2086model_form_blend
predicted_SLG0.23700.25710.2437model_form_blend
predicted_SO1.30801.05001.2221model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date38
Season rows before report date38
Report year2026
Profile rows used13
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO2
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.75
Hitting_BB0
Hitting_GIDP0
Hitting_H3
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R2
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB7
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
gameID20260826_LAD@ATL
game_typefull
mlbID669221
playerID669221
playerNameSean Murphy
posC
startedTrue
startingPositionC
teamATL
teamID2
game_date2026-08-26
sl_k_percent36.1
sl_bb_percent4.9
sl_woba0.28
sl_xwoba0.252
sl_xba0.199
sl_xslg0.336
sl_sweet_spot_percent30.6
sl_barrel_batted_rate8.3
sl_hard_hit_percent36.1
sl_exit_velocity_avg85.2
sl_launch_angle_avg5.0
sl_whiff_percent34.5
sl_swing_percent52.1
Austin Riley (663586) · BATTER · 3B · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 509
All-history rows before 20260827: 509
System season_avg: 0.2220
Data season_avg (2026 season-to-date): 0.2259
Diff (system - data): -0.0039
System opponent_avg: 0.2550

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1460.0000.000Hitting_2B0.1490.000-0.1490.000
predicted_3B0.0080.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB3.5624.0004.000Hitting_AB3.6443.0000.3561.000
predicted_AVG0.1980.0000.250Hitting_AVG0.2260.333-0.226-0.333
predicted_BB0.3080.0000.000Hitting_BB0.3161.000-0.316-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0100.000-0.0100.000
predicted_H0.6600.0001.000Hitting_H0.8231.000-0.823-1.000
predicted_HR0.1000.0000.000Hitting_HR0.1180.000-0.1180.000
predicted_OBP0.2760.0000.250Hitting_OBP0.3030.400-0.303-0.400
predicted_R0.4150.0000.000Hitting_R0.4560.000-0.4560.000
predicted_RBI0.3400.0000.000Hitting_RBI0.4771.000-0.477-1.000
predicted_SLG0.3130.0000.250Hitting_SLG0.3680.333-0.368-0.333
predicted_SO1.2541.0001.000Hitting_SO1.2891.000-0.2890.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: 3.5620 -> 4.0000 (boost 0.4380, better)
Biggest Deboostpredicted_H: 0.6600 -> 0.0000 (deboost -0.6600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend55041predicted_SO: 1.2540 -> 1.3117 (boost 0.0577, worse)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_OBP: 0.2839 -> 0.2614 (deboost -0.0225, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72534predicted_AB: 3.5494 -> 4.0000 (boost 0.4506, better)predicted_RBI: 0.3515 -> 0.0000 (deboost -0.3515, worse)AB rounded to 4 (raw=3.56), rates preserved: AVG=0.196 HR/AB=0.024
5consistency_constraints10101-predicted_R: 0.3648 -> 0.0000 (deboost -0.3648, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference10101-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "663586",
  "player_name": "Austin Riley",
  "position": "3B",
  "team": "ATL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.146,
        "predicted_3B": 0.008,
        "predicted_AB": 3.562,
        "predicted_AVG": 0.198,
        "predicted_BB": 0.308,
        "predicted_H": 0.66,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.276,
        "predicted_R": 0.415,
        "predicted_RBI": 0.34,
        "predicted_SLG": 0.313,
        "predicted_SO": 1.254
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.156,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.5494,
        "predicted_AVG": 0.2085,
        "predicted_BB": 0.3141,
        "predicted_H": 0.7138,
        "predicted_HBP": 0.045,
        "predicted_HR": 0.0878,
        "predicted_OBP": 0.2839,
        "predicted_R": 0.3803,
        "predicted_RBI": 0.3665,
        "predicted_SLG": 0.3219,
        "predicted_SO": 1.3117
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.146,
          "after": 0.156,
          "delta": 0.01,
          "percent_delta": 0.0685,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.008,
          "after": 0.0067,
          "delta": -0.0013,
          "percent_delta": -0.1625,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.562,
          "after": 3.5494,
          "delta": -0.0126,
          "percent_delta": -0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.198,
          "after": 0.2085,
          "delta": 0.0105,
          "percent_delta": 0.053,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.308,
          "after": 0.3141,
          "delta": 0.0061,
          "percent_delta": 0.0198,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.66,
          "after": 0.7138,
          "delta": 0.0538,
          "percent_delta": 0.0815,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.0878,
          "delta": -0.0122,
          "percent_delta": -0.122,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.276,
          "after": 0.2839,
          "delta": 0.0079,
          "percent_delta": 0.0286,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.415,
          "after": 0.3803,
          "delta": -0.0347,
          "percent_delta": -0.0836,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.34,
          "after": 0.3665,
          "delta": 0.0265,
          "percent_delta": 0.0779,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.313,
          "after": 0.3219,
          "delta": 0.0089,
          "percent_delta": 0.0284,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.254,
          "after": 1.3117,
          "delta": 0.0577,
          "percent_delta": 0.046,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.254,
          "after": 1.3117,
          "delta": 0.0577,
          "percent_delta": 0.046,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 130
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.156,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.5494,
        "predicted_AVG": 0.1962,
        "predicted_BB": 0.3132,
        "predicted_H": 0.6964,
        "predicted_HBP": 0.045,
        "predicted_HR": 0.0861,
        "predicted_OBP": 0.2614,
        "predicted_R": 0.3648,
        "predicted_RBI": 0.3515,
        "predicted_SLG": 0.3167,
        "predicted_SO": 1.3156
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.156,
          "after": 0.156,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0067,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5494,
          "after": 3.5494,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2085,
          "after": 0.1962,
          "delta": -0.0123,
          "percent_delta": -0.059,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3141,
          "after": 0.3132,
          "delta": -0.0009,
          "percent_delta": -0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7138,
          "after": 0.6964,
          "delta": -0.0174,
          "percent_delta": -0.0244,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.045,
          "after": 0.045,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0878,
          "after": 0.0861,
          "delta": -0.0017,
          "percent_delta": -0.0194,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2839,
          "after": 0.2614,
          "delta": -0.0225,
          "percent_delta": -0.0793,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3803,
          "after": 0.3648,
          "delta": -0.0155,
          "percent_delta": -0.0408,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3665,
          "after": 0.3515,
          "delta": -0.015,
          "percent_delta": -0.0409,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3219,
          "after": 0.3167,
          "delta": -0.0052,
          "percent_delta": -0.0162,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3117,
          "after": 1.3156,
          "delta": 0.0039,
          "percent_delta": 0.003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.2839,
          "after": 0.2614,
          "delta": -0.0225,
          "percent_delta": -0.0793,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.56), rates preserved: AVG=0.196 HR/AB=0.024",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.156,
          "after": 0.0,
          "delta": -0.156,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0,
          "delta": -0.0067,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5494,
          "after": 4.0,
          "delta": 0.4506,
          "percent_delta": 0.127,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3132,
          "after": 0.0,
          "delta": -0.3132,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6964,
          "after": 1.0,
          "delta": 0.3036,
          "percent_delta": 0.436,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.045,
          "after": 0.0,
          "delta": -0.045,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0861,
          "after": 0.0,
          "delta": -0.0861,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3515,
          "after": 0.0,
          "delta": -0.3515,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3156,
          "after": 1.0,
          "delta": -0.3156,
          "percent_delta": -0.2399,
          "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.5494,
          "after": 4.0,
          "delta": 0.4506,
          "percent_delta": 0.127,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3515,
          "after": 0.0,
          "delta": -0.3515,
          "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.3648,
          "after": 0.0,
          "delta": -0.3648,
          "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.3648,
          "after": 0.0,
          "delta": -0.3648,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.196,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.266,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.316,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1962,
          "after": 0.196,
          "delta": -0.0002,
          "percent_delta": -0.001,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2614,
          "after": 0.266,
          "delta": 0.0046,
          "percent_delta": 0.0176,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3167,
          "after": 0.316,
          "delta": -0.0007,
          "percent_delta": -0.0022,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.1962,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2614,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3167,
        "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.196,
          "after": 0.1962,
          "delta": 0.0002,
          "percent_delta": 0.001,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.266,
          "after": 0.2614,
          "delta": -0.0046,
          "percent_delta": -0.0174,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.316,
          "after": 0.3167,
          "delta": 0.0007,
          "percent_delta": 0.0022,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "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": "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.008,
        "after": 0.0,
        "delta": -0.008,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.562,
        "after": 4.0,
        "delta": 0.438,
        "percent_delta": 0.123,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.198,
        "after": 0.1962,
        "delta": -0.0018,
        "percent_delta": -0.0091,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.308,
        "after": 0.0,
        "delta": -0.308,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.66,
        "after": 0.0,
        "delta": -0.66,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.276,
        "after": 0.2614,
        "delta": -0.0146,
        "percent_delta": -0.0529,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.415,
        "after": 0.0,
        "delta": -0.415,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.34,
        "after": 0.0,
        "delta": -0.34,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.313,
        "after": 0.3167,
        "delta": 0.0037,
        "percent_delta": 0.0118,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.254,
        "after": 1.0,
        "delta": -0.254,
        "percent_delta": -0.2026,
        "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": 3.562,
        "after": 4.0,
        "delta": 0.438,
        "percent_delta": 0.123,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.66,
        "after": 0.0,
        "delta": -0.66,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution 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.008-
predicted_AB3.562-
predicted_AVG0.198-
predicted_BB0.308-
predicted_H0.660-
predicted_HR0.100-
predicted_OBP0.276-
predicted_R0.415-
predicted_RBI0.340-
predicted_SLG0.313-
predicted_SO1.254-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.1560.010
predicted_3B0.007-0.001
predicted_AB3.549-0.013
predicted_AVG0.2080.010
predicted_BB0.3140.006
predicted_H0.7140.054
predicted_HBP0.045-
predicted_HR0.088-0.012
predicted_OBP0.2840.008
predicted_R0.380-0.035
predicted_RBI0.3660.026
predicted_SLG0.3220.009
predicted_SO1.3120.058
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1560.000
predicted_3B0.0070.000
predicted_AB3.5490.000
predicted_AVG0.196-0.012
predicted_BB0.313-0.001
predicted_H0.696-0.017
predicted_HBP0.0450.000
predicted_HR0.086-0.002
predicted_OBP0.261-0.022
predicted_R0.365-0.016
predicted_RBI0.351-0.015
predicted_SLG0.317-0.005
predicted_SO1.3160.004
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.56), rates preserved: AVG=0.196 HR/AB=0.024

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
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. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.156
predicted_3B0.000-0.007
predicted_AB4.0000.451
predicted_AVG0.196-0.000
predicted_BB0.000-0.313
predicted_H1.0000.304
predicted_HR0.000-0.086
predicted_OBP0.2660.005
predicted_R0.000-0.365
predicted_RBI0.000-0.351
predicted_SLG0.316-0.001
predicted_SO1.000-0.316
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.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: 130
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.0001.0000.0000.0002.0000.0002.0008.0000.23530.31580.29410.23530.00000.11770.11770.4706
last_100.2010-35.0007.0002.0000.0000.0002.0004.0003.00017.0000.20000.26320.25710.20000.00000.05710.08570.4857
season0.60130-463.000103.00019.0001.00015.00060.00054.00040.000163.0000.22250.29650.36500.22250.03240.12960.08640.3520
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1690
predicted_3B0.0050
predicted_AB3.5330
predicted_AVG0.2221
predicted_BB0.3220
predicted_H0.7840
predicted_HBP0.0450
predicted_HR0.0720
predicted_OBP0.2943
predicted_R0.3350
predicted_RBI0.4010
predicted_SLG0.3335
predicted_SO1.3870
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14600.16900.1560model_form_blend
predicted_3B0.00800.00500.0067model_form_blend
predicted_AB3.56203.53303.5494model_form_blend
predicted_AVG0.19800.22210.2085model_form_blend
predicted_BB0.30800.32200.3141model_form_blend
predicted_H0.66000.78400.7138model_form_blend
predicted_HBP-0.04500.0450form_only
predicted_HR0.10000.07200.0878model_form_blend
predicted_OBP0.27600.29430.2839model_form_blend
predicted_R0.41500.33500.3803model_form_blend
predicted_RBI0.34000.40100.3665model_form_blend
predicted_SLG0.31300.33350.3219model_form_blend
predicted_SO1.25401.38701.3117model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date509
Season rows before report date509
Report year2026
Profile rows used130
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB1
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF1
Hitting_SO1
Hitting_TB1
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260826_LAD@ATL
game_typefull
mlbID663586
playerID663586
playerNameAustin Riley
pos3B
startedTrue
startingPosition3B
teamATL
teamID2
game_date2026-08-26
sl_k_percent31.5
sl_bb_percent7.7
sl_woba0.292
sl_xwoba0.299
sl_xba0.213
sl_xslg0.393
sl_sweet_spot_percent32.9
sl_barrel_batted_rate11.9
sl_hard_hit_percent44.8
sl_exit_velocity_avg91.3
sl_launch_angle_avg19.2
sl_whiff_percent32.6
sl_swing_percent48.6
Mike Yastrzemski (573262) · BATTER · LF · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 323
All-history rows before 20260827: 323
System season_avg: 0.2280
Data season_avg (2026 season-to-date): 0.2206
Diff (system - data): 0.0074
System opponent_avg: 0.1910

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1480.0000.000Hitting_2B0.1610.000-0.1610.000
predicted_3B0.0090.0000.000Hitting_3B0.0060.000-0.0060.000
predicted_AB2.6394.0003.000Hitting_AB2.9202.0001.0802.000
predicted_AVG0.2210.0000.333Hitting_AVG0.2210.500-0.221-0.500
predicted_BB0.3060.0001.000Hitting_BB0.3680.000-0.3680.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.3600.0001.000Hitting_H0.6441.000-0.644-1.000
predicted_HR0.0500.0000.000Hitting_HR0.0840.000-0.0840.000
predicted_OBP0.3080.0000.500Hitting_OBP0.3140.500-0.314-0.500
predicted_R0.3520.0000.000Hitting_R0.4121.000-0.412-1.000
predicted_RBI0.1900.0000.000Hitting_RBI0.3470.000-0.3470.000
predicted_SLG0.3300.0000.333Hitting_SLG0.3660.500-0.366-0.500
predicted_SO0.7131.0001.000Hitting_SO0.7681.0000.2320.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.6390 -> 4.0000 (boost 1.3610, 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_blend44040predicted_H: 0.3600 -> 0.4693 (boost 0.1093, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_AVG: 0.2295 -> 0.1758 (deboost -0.0537, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_H: 0.4578 -> 1.0000 (boost 0.5422, better)predicted_BB: 0.3250 -> 0.0000 (deboost -0.3250, worse)AB rounded to 3 (raw=2.64), rates preserved: AVG=0.173 HR/AB=0.022
5bvp_blend00000--Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)
6consistency_constraints10101-predicted_R: 0.2903 -> 0.0000 (deboost -0.2903, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation11010predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context31212predicted_OBP: 0.2672 -> 0.2780 (boost 0.0108, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_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
10current_json_final21111predicted_SLG: 0.2910 -> 0.2993 (boost 0.0083, better)predicted_OBP: 0.2780 -> 0.2672 (deboost -0.0108, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "573262",
  "player_name": "Mike Yastrzemski",
  "position": "LF",
  "team": "ATL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.148,
        "predicted_3B": 0.009,
        "predicted_AB": 2.639,
        "predicted_AVG": 0.221,
        "predicted_BB": 0.306,
        "predicted_H": 0.36,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.308,
        "predicted_R": 0.352,
        "predicted_RBI": 0.19,
        "predicted_SLG": 0.33,
        "predicted_SO": 0.713
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1318,
        "predicted_3B": 0.0077,
        "predicted_AB": 2.605,
        "predicted_AVG": 0.2295,
        "predicted_BB": 0.326,
        "predicted_H": 0.4693,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.0594,
        "predicted_OBP": 0.3194,
        "predicted_R": 0.3027,
        "predicted_RBI": 0.1989,
        "predicted_SLG": 0.3483,
        "predicted_SO": 0.7321
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.148,
          "after": 0.1318,
          "delta": -0.0162,
          "percent_delta": -0.1095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.009,
          "after": 0.0077,
          "delta": -0.0013,
          "percent_delta": -0.1444,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.639,
          "after": 2.605,
          "delta": -0.034,
          "percent_delta": -0.0129,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.221,
          "after": 0.2295,
          "delta": 0.0085,
          "percent_delta": 0.0385,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.306,
          "after": 0.326,
          "delta": 0.02,
          "percent_delta": 0.0654,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.36,
          "after": 0.4693,
          "delta": 0.1093,
          "percent_delta": 0.3036,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.05,
          "after": 0.0594,
          "delta": 0.0094,
          "percent_delta": 0.188,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.308,
          "after": 0.3194,
          "delta": 0.0114,
          "percent_delta": 0.037,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.352,
          "after": 0.3027,
          "delta": -0.0493,
          "percent_delta": -0.1401,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.19,
          "after": 0.1989,
          "delta": 0.0089,
          "percent_delta": 0.0468,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.33,
          "after": 0.3483,
          "delta": 0.0183,
          "percent_delta": 0.0555,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.713,
          "after": 0.7321,
          "delta": 0.0191,
          "percent_delta": 0.0268,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.36,
          "after": 0.4693,
          "delta": 0.1093,
          "percent_delta": 0.3036,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 108
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1318,
        "predicted_3B": 0.0077,
        "predicted_AB": 2.605,
        "predicted_AVG": 0.1758,
        "predicted_BB": 0.325,
        "predicted_H": 0.4578,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.0582,
        "predicted_OBP": 0.2672,
        "predicted_R": 0.2903,
        "predicted_RBI": 0.1908,
        "predicted_SLG": 0.2993,
        "predicted_SO": 0.7343
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1318,
          "after": 0.1318,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0077,
          "after": 0.0077,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.605,
          "after": 2.605,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2295,
          "after": 0.1758,
          "delta": -0.0537,
          "percent_delta": -0.234,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.326,
          "after": 0.325,
          "delta": -0.001,
          "percent_delta": -0.0031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4693,
          "after": 0.4578,
          "delta": -0.0115,
          "percent_delta": -0.0245,
          "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.0594,
          "after": 0.0582,
          "delta": -0.0012,
          "percent_delta": -0.0202,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3194,
          "after": 0.2672,
          "delta": -0.0522,
          "percent_delta": -0.1634,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3027,
          "after": 0.2903,
          "delta": -0.0124,
          "percent_delta": -0.041,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1989,
          "after": 0.1908,
          "delta": -0.0081,
          "percent_delta": -0.0407,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3483,
          "after": 0.2993,
          "delta": -0.049,
          "percent_delta": -0.1407,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7321,
          "after": 0.7343,
          "delta": 0.0022,
          "percent_delta": 0.003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2295,
          "after": 0.1758,
          "delta": -0.0537,
          "percent_delta": -0.234,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.64), rates preserved: AVG=0.173 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.1318,
          "after": 0.0,
          "delta": -0.1318,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0077,
          "after": 0.0,
          "delta": -0.0077,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.605,
          "after": 3.0,
          "delta": 0.395,
          "percent_delta": 0.1516,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.325,
          "after": 0.0,
          "delta": -0.325,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.4578,
          "after": 1.0,
          "delta": 0.5422,
          "percent_delta": 1.1844,
          "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.0582,
          "after": 0.0,
          "delta": -0.0582,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1908,
          "after": 0.0,
          "delta": -0.1908,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7343,
          "after": 1.0,
          "delta": 0.2657,
          "percent_delta": 0.3618,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.4578,
          "after": 1.0,
          "delta": 0.5422,
          "percent_delta": 1.1844,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.325,
          "after": 0.0,
          "delta": -0.325,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9333,
        "bvp": 0.0667
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.2903,
          "after": 0.0,
          "delta": -0.2903,
          "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.2903,
          "after": 0.0,
          "delta": -0.2903,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "embedded_savant_player_context",
      "description": "Player 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.173,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.278,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.291,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1758,
          "after": 0.173,
          "delta": -0.0028,
          "percent_delta": -0.0159,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2672,
          "after": 0.278,
          "delta": 0.0108,
          "percent_delta": 0.0404,
          "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.2993,
          "after": 0.291,
          "delta": -0.0083,
          "percent_delta": -0.0277,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.2672,
          "after": 0.278,
          "delta": 0.0108,
          "percent_delta": 0.0404,
          "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": "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": 10,
      "step": "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.1758,
        "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.2672,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2993,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.173,
          "after": 0.1758,
          "delta": 0.0028,
          "percent_delta": 0.0159,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.278,
          "after": 0.2672,
          "delta": -0.0108,
          "percent_delta": -0.0389,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.291,
          "after": 0.2993,
          "delta": 0.0083,
          "percent_delta": 0.0287,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.291,
          "after": 0.2993,
          "delta": 0.0083,
          "percent_delta": 0.0287,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.278,
          "after": 0.2672,
          "delta": -0.0108,
          "percent_delta": -0.0389,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.148,
        "after": 0.0,
        "delta": -0.148,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.009,
        "after": 0.0,
        "delta": -0.009,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.639,
        "after": 4.0,
        "delta": 1.361,
        "percent_delta": 0.5157,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.221,
        "after": 0.1758,
        "delta": -0.0452,
        "percent_delta": -0.2045,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.306,
        "after": 0.0,
        "delta": -0.306,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.36,
        "after": 0.0,
        "delta": -0.36,
        "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.308,
        "after": 0.2672,
        "delta": -0.0408,
        "percent_delta": -0.1325,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.352,
        "after": 0.0,
        "delta": -0.352,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.19,
        "after": 0.0,
        "delta": -0.19,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.33,
        "after": 0.2993,
        "delta": -0.0307,
        "percent_delta": -0.093,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.713,
        "after": 1.0,
        "delta": 0.287,
        "percent_delta": 0.4025,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.639,
        "after": 4.0,
        "delta": 1.361,
        "percent_delta": 0.5157,
        "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.148-
predicted_3B0.009-
predicted_AB2.639-
predicted_AVG0.221-
predicted_BB0.306-
predicted_H0.360-
predicted_HR0.050-
predicted_OBP0.308-
predicted_R0.352-
predicted_RBI0.190-
predicted_SLG0.330-
predicted_SO0.713-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.132-0.016
predicted_3B0.008-0.001
predicted_AB2.605-0.034
predicted_AVG0.2300.009
predicted_BB0.3260.020
predicted_H0.4690.109
predicted_HBP0.017-
predicted_HR0.0590.009
predicted_OBP0.3190.011
predicted_R0.303-0.049
predicted_RBI0.1990.009
predicted_SLG0.3480.018
predicted_SO0.7320.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.1320.000
predicted_3B0.0080.000
predicted_AB2.6050.000
predicted_AVG0.176-0.054
predicted_BB0.325-0.001
predicted_H0.458-0.012
predicted_HBP0.0170.000
predicted_HR0.058-0.001
predicted_OBP0.267-0.052
predicted_R0.290-0.012
predicted_RBI0.191-0.008
predicted_SLG0.299-0.049
predicted_SO0.7340.002
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.64), rates preserved: AVG=0.173 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. bvp_blend

Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
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. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0001.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.000
SO1.0000.000
8. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.132
predicted_3B0.000-0.008
predicted_AB3.0000.395
predicted_AVG0.173-0.003
predicted_BB0.000-0.325
predicted_H1.0000.542
predicted_HR0.000-0.058
predicted_OBP0.2780.011
predicted_R0.000-0.290
predicted_RBI0.000-0.191
predicted_SLG0.291-0.008
predicted_SO1.0000.266
9. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.000-1.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.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: 108
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-10.0003.0000.0000.0000.0000.0000.0002.0004.0000.30000.41670.30000.30000.00000.00000.20000.4000
last_100.2010-23.0005.0001.0000.0001.0001.0001.0004.0007.0000.21740.33330.39130.21740.04350.04350.17390.3044
season0.60108-285.00065.00016.0001.0009.00033.00038.00033.00077.0000.22810.31270.38600.22810.03160.11580.11580.2702
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1100
predicted_3B0.0060
predicted_AB2.5590
predicted_AVG0.2410
predicted_BB0.3530
predicted_H0.6170
predicted_HBP0.0170
predicted_HR0.0720
predicted_OBP0.3349
predicted_R0.2360
predicted_RBI0.2110
predicted_SLG0.3731
predicted_SO0.7580
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14800.11000.1318model_form_blend
predicted_3B0.00900.00600.0077model_form_blend
predicted_AB2.63902.55902.6050model_form_blend
predicted_AVG0.22100.24100.2295model_form_blend
predicted_BB0.30600.35300.3260model_form_blend
predicted_H0.36000.61700.4693model_form_blend
predicted_HBP-0.01700.0170form_only
predicted_HR0.05000.07200.0594model_form_blend
predicted_OBP0.30800.33490.3194model_form_blend
predicted_R0.35200.23600.3027model_form_blend
predicted_RBI0.19000.21100.1989model_form_blend
predicted_SLG0.33000.37310.3483model_form_blend
predicted_SO0.71300.75800.7321model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date323
Season rows before report date323
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
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260826_LAD@ATL
game_typefull
mlbID573262
playerID573262
playerNameMike Yastrzemski
posLF
startedTrue
startingPositionLF
teamATL
teamID2
game_date2026-08-26
sl_k_percent24.6
sl_bb_percent9.8
sl_woba0.301
sl_xwoba0.308
sl_xba0.235
sl_xslg0.366
sl_sweet_spot_percent32.7
sl_barrel_batted_rate6.7
sl_hard_hit_percent43.9
sl_exit_velocity_avg90.7
sl_launch_angle_avg15.8
sl_whiff_percent23.6
sl_swing_percent42.0
Chris Sale (519242) · PITCHER · Starter · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 23
All-history rows before 20260827: 23

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB1.2170.000-0.2171.000
predicted_ER2.0002.0002.000Pitching_ER1.4352.0000.5650.000
predicted_H6.0006.0006.000Pitching_H4.8268.0001.174-2.000
predicted_IP6.0006.0006.000Pitching_InningsPitched5.8096.0000.1910.000
predicted_SO6.0006.0006.000Pitching_SO7.2176.000-1.2170.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics3
Boosted Metrics1
Deboosted Metrics2
Better Metrics3
Worse Metrics0
Biggest Boostpredicted_SO: 3.0000 -> 6.0000 (boost 3.0000, better)
Biggest Deboostpredicted_ER: 3.0000 -> 2.0000 (deboost -1.0000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_guardrail31230predicted_SO: 3.0000 -> 8.0000 (boost 5.0000, better)predicted_ER: 3.0000 -> 2.0000 (deboost -1.0000, better)Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
3current_json_final10101-predicted_SO: 8.0000 -> 6.0000 (deboost -2.0000, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "519242",
  "player_name": "Chris Sale",
  "position": "Starter",
  "team": "ATL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 3.0,
        "predicted_H": 6.0,
        "predicted_HR": 1.0,
        "predicted_IP": 6.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 2.0,
        "predicted_H": 6.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_SO": 8.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 8.0,
          "delta": 5.0,
          "percent_delta": 1.6667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 8.0,
          "delta": 5.0,
          "percent_delta": 1.6667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 2.0,
        "predicted_H": 6.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_R": 2.0,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 8.0,
          "after": 6.0,
          "delta": -2.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 8.0,
          "after": 6.0,
          "delta": -2.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 3.0,
        "after": 2.0,
        "delta": -1.0,
        "percent_delta": -0.3333,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 6.0,
        "after": 6.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 6.0,
        "after": 6.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 3.0,
        "after": 6.0,
        "delta": 3.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 3,
      "boosted_metrics": 1,
      "deboosted_metrics": 2,
      "better_metrics": 3,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 3.0,
        "after": 6.0,
        "delta": 3.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_ER",
        "before": 3.0,
        "after": 2.0,
        "delta": -1.0,
        "percent_delta": -0.3333,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER3.000-
predicted_H6.000-
predicted_HR1.000-
predicted_IP6.000-
predicted_SO3.000-
2. pitcher_quality_guardrail

Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.

MetricValueDelta vs Prev Step
predicted_BB1.0000.000
predicted_ER2.000-1.000
predicted_H6.0000.000
predicted_HR0.000-1.000
predicted_IP6.0000.000
predicted_SO8.0005.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: 6.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45530.0009.00025.0003.00043.0000.0002.70000.93330.30000.83330.10001.43330.0000
last_100.351056.20013.00049.0008.00074.0002.0002.06471.00590.22940.86470.14121.30590.0353
season0.2023135.00033.000111.00028.000166.0008.0002.20001.02960.24440.82220.20741.22960.0593
Weighted Prediction From Real Data
MetricValue
predicted_BB1.0470
predicted_ER1.8090
predicted_ERA2.7578
predicted_H5.1120
predicted_HR0.2720
predicted_IP6.0000
predicted_SO7.5340
predicted_WHIP1.0431
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00001.04701.0270model_form_blend
predicted_ER3.00001.80902.3157model_form_blend
predicted_ERA-2.75782.7578form_only
predicted_H6.00005.11205.4898model_form_blend
predicted_HR1.00000.27200.5817model_form_blend
predicted_IP6.00006.00006.0000model_form_blend
predicted_SO3.00007.53405.6050model_form_blend
predicted_WHIP-1.04311.0431form_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
IP6.0
H6
R2
ER2
BB1
SO6
HR0
BF25
Pitches98

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced25
Pitching_ER2
Pitching_ERA2.20
Pitching_Flyouts3
Pitching_Groundouts8
Pitching_H8
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched6.0
Pitching_Pitches94
Pitching_R2
Pitching_SO6
Pitching_Strikes68
Pitching_Wild Pitch0
Pitching_decisionL
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260821_ATL@MIL
game_typefull
mlbID519242
playerID519242
playerNameChris Sale
posP
startedTrue
startingPositionP
teamATL
teamID2
game_date2026-08-21
sl_k_percent30.7
sl_bb_percent4.9
sl_woba0.257
sl_xwoba0.269
sl_sweet_spot_percent34.8
sl_barrel_batted_rate5.3
sl_hard_hit_percent34.0
sl_whiff_percent30.3
sl_swing_percent50.7
sl_avg_best_speed76.974244022
sl_avg_hyper_speed93.351049692
Didier Fuentes (800311) · PITCHER · Middle Reliever (High Leverage) · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 48
All-history rows before 20260827: 48

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0002.0001.000Pitching_BB0.3753.0001.625-1.000
predicted_ER0.0000.0000.000Pitching_ER0.3330.000-0.3330.000
predicted_H0.0000.0000.000Pitching_H1.0001.000-1.000-1.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.1312.000-0.131-1.000
predicted_SO0.0000.0000.000Pitching_SO1.6041.000-1.604-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "800311",
  "player_name": "Didier Fuentes",
  "position": "Middle Reliever (High Leverage)",
  "team": "ATL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "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": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_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: 46
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.2002.0007.0000.0008.0001.0003.17651.23530.35291.23530.00001.41180.1765
last_100.351012.1003.0009.0000.00019.0002.0002.18920.72970.24320.72970.00001.54050.1622
season0.204656.20016.00047.00014.00073.0004.0002.54121.07650.28230.82940.24711.28820.0706
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1650
predicted_ER0.4080
predicted_ERA3.2543
predicted_H1.1010
predicted_HR0.1680
predicted_IP1.0000
predicted_SO1.4470
predicted_WHIP1.1231
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.16500.5650model_form_blend
predicted_ER0.00000.40800.2126model_form_blend
predicted_ERA-3.25433.2543form_only
predicted_H0.00001.10100.5736model_form_blend
predicted_HR0.00000.16800.0875model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.44701.2329model_form_blend
predicted_WHIP-1.12311.1231form_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 date48
Season rows before report date48
Report year2026
Profile rows used46
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
BB2
SO0
HR0
BF5
Pitches21

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB3
Pitching_Balk0
Pitching_Batters Faced9
Pitching_ER0
Pitching_ERA2.43
Pitching_Flyouts0
Pitching_Groundouts3
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners3
Pitching_Inherited Runners Scored1
Pitching_InningsPitched2.0
Pitching_Pitches36
Pitching_R0
Pitching_SO1
Pitching_Strikes21
Pitching_Wild Pitch0
Pitching_decisionBS
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260826_LAD@ATL
game_typefull
mlbID800311
playerID800311
playerNameDidier Fuentes
posP
startedFalse
startingPositionP
teamATL
teamID2
game_date2026-08-26
sl_k_percent31.2
sl_bb_percent7.7
sl_woba0.266
sl_xwoba0.269
sl_sweet_spot_percent34.9
sl_barrel_batted_rate6.1
sl_hard_hit_percent34.9
sl_whiff_percent30.3
sl_swing_percent53.0
sl_avg_best_speed78.337582877
sl_avg_hyper_speed93.273841586
Dylan Lee (669276) · PITCHER · Setup Man · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 63
All-history rows before 20260827: 63

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2381.000-0.238-1.000
predicted_ER0.0000.0000.000Pitching_ER0.2542.000-0.254-2.000
predicted_H0.0000.0000.000Pitching_H0.5713.000-0.571-3.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8290.0000.1711.000
predicted_SO0.0000.0000.000Pitching_SO1.1590.000-1.1590.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics1
Worse Metrics0
Biggest Boost-
Biggest Deboostpredicted_H: 1.0000 -> 0.0000 (deboost -1.0000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10110-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, better)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "669276",
  "player_name": "Dylan Lee",
  "position": "Setup Man",
  "team": "ATL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 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": 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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 1,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO0.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 62
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.1002.0005.0001.0005.0000.0004.15381.38460.46151.15390.23081.15390.0000
last_100.35108.2002.0005.0005.00011.0000.0002.07691.15380.23080.57690.57691.26920.0000
season0.206259.20014.00033.00014.00073.0003.0002.11170.78770.23460.55310.23461.22350.0503
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3570
predicted_ER0.3840
predicted_ERA3.4568
predicted_H0.8740
predicted_HR0.0500
predicted_IP1.0000
predicted_SO1.1310
predicted_WHIP1.2310
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.35700.1876model_form_blend
predicted_ER0.00000.38400.2018model_form_blend
predicted_ERA-3.45683.4568form_only
predicted_H1.00000.87400.9338model_form_blend
predicted_HR0.00000.05000.0263model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.13100.5944model_form_blend
predicted_WHIP-1.23101.2310form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date63
Season rows before report date63
Report year2026
Profile rows used62
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
BB0
SO0
HR0
BF3
Pitches13

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER2
Pitching_ERA2.41
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H3
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches11
Pitching_R2
Pitching_SO0
Pitching_Strikes5
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260826_LAD@ATL
game_typefull
mlbID669276
playerID669276
playerNameDylan Lee
posP
startedFalse
startingPositionP
teamATL
teamID2
game_date2026-08-26
sl_k_percent31.4
sl_bb_percent6.4
sl_woba0.233
sl_xwoba0.248
sl_sweet_spot_percent36.1
sl_barrel_batted_rate5.4
sl_hard_hit_percent32.0
sl_whiff_percent36.3
sl_swing_percent52.8
sl_avg_best_speed76.908452083
sl_avg_hyper_speed93.080081329
Raisel Iglesias (628452) · PITCHER · Closer · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 48
All-history rows before 20260827: 48

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3331.000-0.333-1.000
predicted_ER0.0000.0000.000Pitching_ER0.3330.000-0.3330.000
predicted_H0.0000.0000.000Pitching_H0.8961.000-0.896-1.000
predicted_IP1.0002.1001.000Pitching_InningsPitched0.9771.0001.1231.100
predicted_SO0.0000.0000.000Pitching_SO1.0831.000-1.083-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics2
Boosted Metrics1
Deboosted Metrics1
Better Metrics1
Worse Metrics1
Biggest Boostpredicted_IP: 1.0000 -> 2.1000 (boost 1.1000, better)
Biggest Deboostpredicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final21111predicted_IP: 1.0000 -> 2.1000 (boost 1.1000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "628452",
  "player_name": "Raisel Iglesias",
  "position": "Closer",
  "team": "ATL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "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": 2.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": 2.1,
          "delta": 1.1,
          "percent_delta": 1.1,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 2.1,
          "delta": 1.1,
          "percent_delta": 1.1,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "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.1,
        "delta": 1.1,
        "percent_delta": 1.1,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 1,
      "deboosted_metrics": 1,
      "better_metrics": 1,
      "worse_metrics": 1,
      "biggest_boost": {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 2.1,
        "delta": 1.1,
        "percent_delta": 1.1,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_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: 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.0005.0004.0003.0001.0003.37501.68750.37500.93750.75000.56250.1875
last_100.351010.0006.00011.0007.0009.0001.0005.40001.80000.60001.10000.70000.90000.1000
season0.204849.00016.00043.00016.00052.0005.0002.93881.20410.32650.87760.32651.06120.1020
Weighted Prediction From Real Data
MetricValue
predicted_BB0.5530
predicted_ER0.4630
predicted_ERA4.1684
predicted_H0.9800
predicted_HR0.1420
predicted_IP1.0000
predicted_SO0.8360
predicted_WHIP1.5332
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.55300.2807model_form_blend
predicted_ER0.00000.46300.2350model_form_blend
predicted_ERA-4.16844.1684form_only
predicted_H0.00000.98000.4974model_form_blend
predicted_HR0.00000.14200.0721model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.83600.9168model_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 date48
Season rows before report date48
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
IP2.1
H0
R0
ER0
BB0
SO0
HR0
BF7
Pitches20

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER0
Pitching_ERA2.94
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches16
Pitching_R0
Pitching_SO1
Pitching_Strikes11
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260825_LAD@ATL
game_typefull
mlbID628452
playerID628452
playerNameRaisel Iglesias
posP
startedFalse
startingPositionP
teamATL
teamID2
game_date2026-08-25
sl_k_percent25.1
sl_bb_percent7.7
sl_woba0.291
sl_xwoba0.295
sl_sweet_spot_percent34.1
sl_barrel_batted_rate10.2
sl_hard_hit_percent37.7
sl_whiff_percent29.6
sl_swing_percent52.0
sl_avg_best_speed77.256342754
sl_avg_hyper_speed93.562717883
Brent Suter (608718) · PITCHER · Middle Reliever · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 5
All-history rows before 20260827: 5

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.8000.000-0.8000.000
predicted_ER2.0002.0002.000Pitching_ER0.4000.0001.6002.000
predicted_H2.0002.0002.000Pitching_H2.2002.000-0.2000.000
predicted_IP0.0000.2000.000Pitching_InningsPitched2.4003.000-2.200-2.800
predicted_SO0.0000.0000.000Pitching_SO1.4001.000-1.400-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics4
Boosted Metrics4
Deboosted Metrics0
Better Metrics1
Worse Metrics3
Biggest Boostpredicted_ER: 1.0000 -> 2.0000 (boost 1.0000, worse)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_run_redistribution44013predicted_ER: 1.0000 -> 2.0000 (boost 1.0000, worse)-Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.
3current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "608718",
  "player_name": "Brent Suter",
  "position": "Middle Reliever",
  "team": "ATL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.1,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "pitcher_quality_run_redistribution",
      "description": "Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_IP": 0.2,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 0.1,
          "after": 0.2,
          "delta": 0.1,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_ER",
          "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": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_IP": 0.2,
        "predicted_R": 2.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.2,
          "after": 0.2,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 2.0,
        "delta": 1.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 2.0,
        "delta": 1.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 0.1,
        "after": 0.2,
        "delta": 0.1,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 4,
      "boosted_metrics": 4,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 2.0,
        "delta": 1.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER1.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP0.100-
predicted_SO0.000-
2. pitcher_quality_run_redistribution

Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.

MetricValueDelta vs Prev Step
predicted_BB0.0000.000
predicted_ER2.0001.000
predicted_H2.0001.000
predicted_HR1.0001.000
predicted_IP0.2000.100
predicted_SO0.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 46
Reference playing time: 0.100
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45512.0002.00011.0004.0007.0001.0001.50001.25000.16670.91670.33330.58330.0833
last_100.351020.0003.00016.0007.00014.0002.0001.35001.15000.15000.80000.35000.70000.1000
season0.204675.10031.00074.00021.00062.0008.0003.70351.26110.41150.98230.27880.82300.1062
Weighted Prediction From Real Data
MetricValue
predicted_BB0.5570
predicted_ER0.4650
predicted_ERA2.5388
predicted_H1.5010
predicted_HR0.1760
predicted_IP1.2000
predicted_SO1.2200
predicted_WHIP1.2484
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.55700.3036model_form_blend
predicted_ER1.00000.46500.7084model_form_blend
predicted_ERA-2.53882.5388form_only
predicted_H1.00001.50101.2730model_form_blend
predicted_HR0.00000.17600.0959model_form_blend
predicted_IP0.10001.20001.1000model_form_blend
predicted_SO0.00001.22000.6649model_form_blend
predicted_WHIP-1.24841.2484form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date5
Season rows before report date5
Report year2026
Profile rows used46
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP0.2
H2
R2
ER2
BB0
SO0
HR1
BF4
Pitches14

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced11
Pitching_ER0
Pitching_ERA3.70
Pitching_Flyouts1
Pitching_Groundouts3
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched3.0
Pitching_Pitches34
Pitching_R0
Pitching_SO1
Pitching_Strikes26
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260822_ATL@MIL
game_typefull
mlbID608718
playerID608718
playerNameBrent Suter
posP
startedFalse
startingPositionP
teamATL
teamID2
game_date2026-08-22
sl_k_percent19.5
sl_bb_percent6.8
sl_woba0.316
sl_xwoba0.315
sl_sweet_spot_percent34.7
sl_barrel_batted_rate6.0
sl_hard_hit_percent30.9
sl_whiff_percent22.5
sl_swing_percent46.3
sl_avg_best_speed74.883094825
sl_avg_hyper_speed93.123580529

20260827_MIL@NYM

Prediction Method: enhanced_ml_savant_pitcher_quality_pitcher_opponent_strength
Team Recent Window (Home): 10 games
Team Recent Window (Away): 10 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 4, "home_runs": 2, "confidence": 0.53, "home_win_probability": 0.47, "away_win_probability": 0.53, "predicted_score_text": "MIL 4 - 2 NYM", "embedded_savant_score_adjustment": {"applied": true, "source": "all_players_stats.csv embedded temporal Savant features", "feature_contract": {"training_grain": "one player-game row after collapsing granular at-bat rows", "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game", "hitter_signals": ["xwoba", "xba", "xslg", "barrel_batted_rate", "hard_hit_percent", "bat_speed", "launch_quality", "walk_rate", "strikeout_rate"], "pitcher_signals": ["xwoba_allowed", "barrel_allowed", "hard_hit_allowed", "whiff_rate", "command_score", "movement_score", "faced_est_woba", "faced_strikeout_rate"]}, "away": {"team": "MIL", "original_runs": 4, "run_delta": 0.3628, "adjusted_runs": 4, "lineup": {"players_used": 9, "total_weight": 33.0, "quality": 0.1225543568529379, "contact": 0.19029098891003976, "power": 0.01727846235181143, "discipline": 0.30261032728546855, "xwoba": 0.3210606060606061, "recent_xwoba": 0.3210606060606061, "barrel": 6.836363636363636, "ab_hard_contact": -0.049616900149912754, "ab_bat_speed": 69.69284077517608, "ab_strikeout_rate": 0.22010518576428353, "available_players": 9, "top_players": [{"player_id": "666152", "player_name": "David Hamilton", "position": "3B", "weight": 3.0, "quality": -0.8374973038550482, "contact": -0.9342369383165089, "power": -1.0239412005213757, "discipline": 0.15391917528789695, "xwoba": 0.272, "recent_xwoba": 0.272, "barrel": 3.7, "ab_hard_contact": -1.4353954389989307, "ab_bat_speed": 62.9329625167336, "ab_strikeout_rate": 0.24693486590038316, "available": 1.0}, {"player_id": "669003", "player_name": "Garrett Mitchell", "position": "CF", "weight": 4.0, "quality": 0.6566551432400594, "contact": 0.6433942800097501, "power": 1.0549943878025207, "discipline": -0.35839842961136037, "xwoba": 0.349, "recent_xwoba": 0.349, "barrel": 12.6, "ab_hard_contact": 0.7132210893837494, "ab_bat_speed": 75.80897943376068, "ab_strikeout_rate": 0.3543238993710692, "available": 1.0}, {"player_id": "686217", "player_name": "Sal Frelick", "position": "LF", "weight": 3.0, "quality": -0.487237658735172, "contact": -0.4183151550323042, "power": -1.0321591544237576, "discipline": 0.8354699333282688, "xwoba": 0.281, "recent_xwoba": 0.281, "barrel": 2.0, "ab_hard_contact": -0.6050878503799095, "ab_bat_speed": 66.6186372312638, "ab_strikeout_rate": 0.09959839357429717, "available": 1.0}, {"player_id": "661388", "player_name": "William Contreras", "position": "C", "weight": 5.0, "quality": 0.5679578894200812, "contact": 0.6763862829816858, "power": 0.505257444959145, "discipline": 0.53545652566033, "xwoba": 0.339, "recent_xwoba": 0.339, "barrel": 8.0, "ab_hard_contact": 0.2541012801352795, "ab_bat_speed": 72.18558159722222, "ab_strikeout_rate": 0.14211180124223602, "available": 1.0}, {"player_id": "668930", "player_name": "Brice Turang", "position": "2B", "weight": 5.0, "quality": 0.37432096039409024, "contact": 0.4249535103603479, "power": 0.34273863989037245, "discipline": 0.463352776965777, "xwoba": 0.339, "recent_xwoba": 0.339, "barrel": 7.5, "ab_hard_contact": 0.47610613114078815, "ab_bat_speed": 67.48177702621453, "ab_strikeout_rate": 0.2461441213653603, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "640455", "player_name": "Sean Manaea", "quality": -0.4222211728562413, "contact": -0.5404815737556538, "command": -0.1711776556776558, "movement": -1.0900631249247552, "xwoba": 0.336, "whiff": 22.7, "faced_est_woba": 0.26552359851190477, "faced_launch_speed": 83.8105259224902, "faced_strikeout_rate": 0.23520697818487546, "faced_run_exp": 0.006591593388029562}}, "home": {"team": "NYM", "original_runs": 3, "run_delta": -0.9178, "adjusted_runs": 2, "lineup": {"players_used": 9, "total_weight": 35.0, "quality": 0.2577330907029704, "contact": 0.26595732368917774, "power": 0.3462647564862508, "discipline": -0.02219353721566902, "xwoba": 0.3253142857142857, "recent_xwoba": 0.3253142857142857, "barrel": 8.577142857142857, "ab_hard_contact": 0.21889512972502656, "ab_bat_speed": 70.65195198025792, "ab_strikeout_rate": 0.2318537008529288, "available_players": 9, "top_players": [{"player_id": "596019", "player_name": "Francisco Lindor", "position": "SS", "weight": 5.0, "quality": 0.7079372925453035, "contact": 0.7098819431118241, "power": 0.8181657182837796, "discipline": 0.4227753662400399, "xwoba": 0.347, "recent_xwoba": 0.347, "barrel": 9.6, "ab_hard_contact": 0.9383619847232139, "ab_bat_speed": 71.24822808833679, "ab_strikeout_rate": 0.1855072463768116, "available": 1.0}, {"player_id": "682626", "player_name": "Francisco Alvarez", "position": "C", "weight": 3.0, "quality": 0.3285863344414105, "contact": 0.003902742109684318, "power": 0.9371793778058405, "discipline": -0.368024110072224, "xwoba": 0.327, "recent_xwoba": 0.327, "barrel": 15.7, "ab_hard_contact": 0.2613018418311129, "ab_bat_speed": 72.74291013071895, "ab_strikeout_rate": 0.2918067226890756, "available": 1.0}, {"player_id": "701807", "player_name": "Carson Benge", "position": "RF", "weight": 4.0, "quality": 0.452358627443849, "contact": 0.6714048593047102, "power": 0.3823011685125719, "discipline": -0.0022927502918447563, "xwoba": 0.344, "recent_xwoba": 0.344, "barrel": 7.4, "ab_hard_contact": 0.6075471797752595, "ab_bat_speed": 69.28624552299553, "ab_strikeout_rate": 0.22243250576583912, "available": 1.0}, {"player_id": "673357", "player_name": "Luis Robert Jr.", "position": "DH", "weight": 4.0, "quality": 0.23636734035808743, "contact": 0.18743230750105858, "power": 0.48244084024816086, "discipline": 0.04467391696467782, "xwoba": 0.332, "recent_xwoba": 0.332, "barrel": 9.2, "ab_hard_contact": 0.2343406144870354, "ab_bat_speed": 74.83762379227053, "ab_strikeout_rate": 0.2826086956521739, "available": 1.0}, {"player_id": "666182", "player_name": "Bo Bichette", "position": "3B", "weight": 5.0, "quality": 0.29013619345560776, "contact": 0.5085510821506187, "power": 0.14646308479224962, "discipline": 0.04518620356142618, "xwoba": 0.324, "recent_xwoba": 0.324, "barrel": 6.4, "ab_hard_contact": -0.19873830415498728, "ab_bat_speed": 69.04687873021787, "ab_strikeout_rate": 0.18159640905542546, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "694819", "player_name": "Jacob Misiorowski", "quality": 1.5830103245845584, "contact": 1.8422164244264896, "command": 1.4725366300366298, "movement": 2.0, "xwoba": 0.219, "whiff": 37.9, "faced_est_woba": 0.26552359851190477, "faced_launch_speed": 83.8105259224902, "faced_strikeout_rate": 0.23520697818487546, "faced_run_exp": 0.006591593388029562}}}, "fundamental_edge_target_review": {"applied": false, "method": "post_score_adjustment_fundamental_edge_review_v1", "previous_score": {"away_runs": 4, "home_runs": 2, "winner_side": "away"}, "adjusted_score": {"away_runs": 4, "home_runs": 2, "winner_side": "away"}, "signals": {"season_quality_edge_home_minus_away": -1.2106, "recent_form_edge_home_minus_away": -0.216, "pitcher_matchup_edge_home_minus_away": 0.0623, "composite_home_edge": -0.9428, "existing_home_win_probability": 0.4539, "refreshed_home_win_probability": 0.3, "winner_support_before_review": 0.9428}, "reasons": ["target direction already matched refreshed fundamentals or margin was not fragile"]}, "uncapped_home_win_probability": 0.453904, "uncapped_away_win_probability": 0.546096, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.546096, "discount_factor": 0.85, "published_confidence": 0.53, "guardrail_confidence_cap": 0.53, "guardrail_cap_enforced": true, "applied_discounts": [{"reason": "matchup_recency_guardrail", "factor": 0.85}]}, "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: matchup_recency_guardrail x0.85.", "pre_simulation_target": {"away_runs": 4, "home_runs": 2, "predicted_score_text": "MIL 4 - 2 NYM", "confidence": 0.53, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "stable_final_prediction_policy", "simulation_usage": "organic_simulation_realized_target", "simulation_score_matches_prediction": true, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 4, "home_runs": 2, "score_text": "MIL 4 - 2 NYM", "winner": "MIL"}, "final_simulation_score": {"away_runs": 4, "home_runs": 2, "score_text": "MIL 4 - 2 NYM", "winner": "MIL"}, "winner_flipped_by_simulation": false, "simulation_would_flip_winner": false, "sim_flipped_pre_winner": false, "sim_flip_trusted": false, "sim_flip_policy": "diagnostic_only_unless_independently_supported", "independent_margin_support": false, "independent_margin_support_evidence": {"pitcher_matchup_edge_home_minus_away": 0.0623, "recent_form_edge_home_minus_away": -0.216, "winner_direction": "away", "thresholds": {"pitcher_matchup": 0.35, "recent_form": 0.75}}, "margin_widening_capped": false, "simulation_winner_agrees": true, "away_run_delta": 0, "home_run_delta": 0, "total_run_delta": 0, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "organic_simulation_realized_target", "final_prediction_source": "stable_final_prediction_policy", "final_decision_policy": {"policy_version": "model_target_authoritative_simulation_realizes_v3", "away_runs": 4, "home_runs": 2, "winner": "MIL", "model_winner": "MIL", "simulation_winner": "MIL", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 6, "published_winner": "MIL", "published_winner_draw_share": 0.1667, "draw_majority_team": "NYM", "published_winner_is_draw_majority": false, "sampling": "target_conditioned_selection", "is_unbiased_probability_sample": false, "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."}, "simulation_score_enabled": true, "independent_margin_support": false, "margin_widening_capped": false, "model_margin": 2, "simulation_margin": 2, "simulation_usage": "organic_simulation_realized_target", "score_source": "enhanced_prediction.pre_simulation_target", "simulation_realized_target": true, "model_score": {"away_runs": 4, "home_runs": 2}, "simulation_score": {"away_runs": 4, "home_runs": 2}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 2, "final_margin": 2, "winner_quality_edge": 1.2106, "winner": "MIL", "score_reviewed": {"away_runs": 4, "home_runs": 2, "source": "enhanced_prediction.pre_simulation_target"}, "reason": "published margin is directionally supported or within review threshold"}}, "decision_profile": {"method": "priced_decision_profile_v2", "winner": "MIL", "display_confidence": 0.53, "internal_signal_score": 0.5741, "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability", "model_pick_probability": 0.53, "confidence_compression_detected": true, "moneyline_fit": "unavailable_without_market_price", "betting_status": "price_required_before_betting_analysis", "market_context": null, "margin_fit": "moneyline_preferred_over_margin", "totals_fit": "low_total_lean", "winner_accuracy_and_margin_accuracy_decoupled": true, "signals": {"final_margin": 2, "winner_quality_edge": 1.2106, "winner_recent_form_edge": 0.216, "winner_pitcher_matchup_edge": -0.0623, "winner_simulation_draw_rate": 0.1667, "blowout_draw_rate_margin_4_plus": 0.0, "high_total_draw_rate_11_plus": 0.0, "low_total_draw_rate_6_or_less": 0.5, "total_runs_spread": {"min": 3, "median": 7, "max": 9, "range": 6}}, "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 predictionMIL 4 - 2 NYMMIL0.530enhanced_prediction.pre_simulation_targetTrue
Simulation drawMIL 4 - 2 NYMMIL-organic_simulation_realized_targetTrue

The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.

Full Prediction Process

Optimization Roadmap Runtime Status

This table distinguishes newly generated artifacts from older files. Missing trace data is shown as legacy/unavailable, never inferred.

PriorityChangeRuntime statusEvidence
P1Empirical confidence blendappliedraw=0.5386; empirical=0.5000; weight=0.2900; final=0.5274
P1H2H margin as base featureavailablehome net=-1; abs=1; home delta=-0.0062; away delta=0.0062
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=-1.7462; recent edge=-0.2160; blended=-
P3Continuous calibration audittrace emittedChecked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports.
Process LayerWhat It DoesStored FieldObserved Value
1. Historical modelStarts from trained game model output.score_evolution.steps[historical_ml]-
2. Variance layerApplies bounded game variance before enhanced corrections.score_evolution.steps[variance_applied]-
3. Recent/team formUses latest team form, recent scoring, prevention, and streak state.enhanced_prediction_analysis.recent_formTrue
4. Season qualityUses season run differential and record quality guardrails.season_run_differential_adjustment, season_quality_guardrailTrue
5. Savant hittersApplies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality.savant_batter_quality_adjustmentTrue
6. Savant pitchersApplies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command.savant_pitcher_quality_adjustmentTrue
7. Low-score analysisControls unrealistic totals and preserves the pre-sync low-score expected total.low_score_analysis6.7000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5300
9. Simulation reconciliationReconciles final shipped score with the simulation box score while retaining the pre-simulation target.simulation_reconciliationorganic_simulation_realized_target
10. Score evolution rendered7 stored score steps are rendered below.game.score_evolution.stepstrue

Score Evolution Steps

StepLayerAway RunsHome RunsConfidenceDescription
1historical_ml4.2952.767-Base ML historical model prediction
2variance_applied43-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction430.5300Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail)
4embedded_savant_run_environment42-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
5fundamental_edge_target_review42-Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
6capped_target42-Capped at max 12 realistic runs
7simulation_result42-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.6005298924928367,
  "base_low_score_probability": 0.4355300859598854,
  "low_score_signal_threshold": 0.5155300859598854,
  "low_score_signal_strength": 0.16499980653295132,
  "confidence": 0.78942412,
  "factors": {
    "environmental": 0.9496199999999999,
    "pitcher_form": 1.4520000000000002,
    "team_form": 1.0,
    "situational": 1.0,
    "combined": 1.37884824
  },
  "prediction": "low_scoring",
  "expected_total_runs": 6,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 6.7,
  "low_score_model_expected_total_runs": 6.7,
  "final_simulation_total_runs": 6,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "monotone_reliability_shrinkage",
  "policy": "shrink_toward_even_score_floor_v3",
  "sample_size": 58,
  "near_bucket_sample_size": 58,
  "medium_bucket_sample_size": 64,
  "wide_bucket_sample_size": 70,
  "global_sample_size": 73,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5,
  "bayesian_hit_rate": 0.5,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.5085,
  "raw_pick_probability_unclamped": 0.5085,
  "score_probability_conflict": false,
  "margin_implied_home_probability": 0.4915,
  "margin_implied_pick_probability": 0.5085,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.5085,
  "score_implied_floor_pick_probability": 0.5072,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.4915,
  "uncapped_away_win_probability": 0.5085,
  "calibrated_pick_probability": 0.5072,
  "predicted_side": "away",
  "reliability": 0.763158,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.846053
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.538626,
  "sample_size": 58,
  "empirical_hit_rate": 0.5,
  "empirical_weight": 0.29,
  "blended_confidence": 0.527425,
  "published_confidence": 0.53,
  "published_after_governors": true,
  "governor_mode": "shrinkage_not_clamp"
}
H2H Base Feature
{
  "method": "h2h_net_margin_monotonic_v1",
  "available": true,
  "sample_size": 4,
  "sample_weight": 0.05,
  "home_net_margin": -1.0,
  "absolute_net_margin": 1.0,
  "home_average_margin": -0.25,
  "home_run_delta": -0.0062,
  "away_run_delta": 0.0062,
  "evidence": [
    {
      "game_id": null,
      "home_margin": 1.0
    },
    {
      "game_id": null,
      "home_margin": -1.0
    },
    {
      "game_id": null,
      "home_margin": 4.0
    },
    {
      "game_id": null,
      "home_margin": -5.0
    }
  ],
  "adaptive_parameters": {
    "h2h.history_limit": 5,
    "h2h.maximum_weight": 0.15,
    "h2h.prior_games": 8.0,
    "h2h.maximum_total_shift": 0.65
  }
}
Season Run Differential Adjustment
{
  "applied": true,
  "home": {
    "team": "NYM",
    "games": 132,
    "wins": 60,
    "losses": 72,
    "win_pct": 0.45454545454545453,
    "runs_scored": 549,
    "runs_allowed": 588,
    "run_differential": -39,
    "run_differential_per_game": -0.29545454545454547,
    "available": true
  },
  "away": {
    "team": "MIL",
    "games": 132,
    "wins": 81,
    "losses": 51,
    "win_pct": 0.6136363636363636,
    "runs_scored": 652,
    "runs_allowed": 492,
    "run_differential": 160,
    "run_differential_per_game": 1.2121212121212122,
    "available": true
  },
  "run_differential_edge_per_game": -1.5076,
  "win_pct_edge": -0.1591,
  "quality_edge": -1.2106,
  "season_quality_edge": -1.7462,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": -1.7462,
    "recent_quality_edge": -0.216,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "aligned",
    "blended_quality_edge": -1.2106
  },
  "margin_adjustment": -0.5085,
  "reason": "season-to-date run differential and record moved the score toward the stronger team",
  "margin_adjustment_policy": {
    "adjustment": -0.5085,
    "cap": 1.4,
    "scale": 0.42,
    "quality_edge": -1.2106,
    "season_quality_edge": -1.7462,
    "recent_alignment": "aligned",
    "large_edge_supported_by_recent_form": false,
    "method": "standard_bounded_season_recent_adjustment"
  },
  "adjusted_score": {
    "away_runs": 4.358,
    "home_runs": 1.725,
    "home_win_probability": 0.2762
  }
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 3,
      "away_runs": 3,
      "probability": 0.035665152871626214
    },
    {
      "home_runs": 3,
      "away_runs": 4,
      "probability": 0.03291829088621796
    },
    {
      "home_runs": 2,
      "away_runs": 3,
      "probability": 0.03228643063886041
    },
    {
      "home_runs": 4,
      "away_runs": 3,
      "probability": 0.03217171818652368
    },
    {
      "home_runs": 3,
      "away_runs": 2,
      "probability": 0.03176168909321575
    }
  ],
  "home_distribution": {
    "0": 0.0770126103164497,
    "1": 0.12757737923406262,
    "2": 0.17258045911413677,
    "3": 0.19064072228389192,
    "4": 0.17196728734820757,
    "5": 0.12667243462072847,
    "6": 0.07619465480629913,
    "7": 0.03742596483260658,
    "8": 0.015011621843983127,
    "9": 0.004916865599633876
  },
  "away_distribution": {
    "0": 0.0733778501467933,
    "1": 0.12195513883206367,
    "2": 0.16660495571307135,
    "3": 0.18708045397832465,
    "4": 0.1726718745704174,
    "5": 0.13099884955850827,
    "6": 0.0816894643955559,
    "7": 0.041871382886868015,
    "8": 0.01764092077939789,
    "9": 0.006109109138999365
  },
  "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",
    "recent head-to-head is split and volatile",
    "recent head-to-head margin does not support a strong repeat pick",
    "a prior same-side pick already missed against the actual result",
    "latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design"
  ],
  "signals": {
    "predicted_team": "MIL",
    "opponent_team": "NYM",
    "h2h_net_margin": -4,
    "opponent_breakout": false,
    "opponent_blowout_win": false,
    "split_recent_h2h": true,
    "recent_h2h": [
      {
        "date": "2026-08-25",
        "predicted_team_runs": 2,
        "opponent_runs": 3,
        "margin_for_predicted_team": -1,
        "winner": "NYM"
      },
      {
        "date": "2026-07-22",
        "predicted_team_runs": 4,
        "opponent_runs": 3,
        "margin_for_predicted_team": 1,
        "winner": "MIL"
      },
      {
        "date": "2026-07-21",
        "predicted_team_runs": 0,
        "opponent_runs": 4,
        "margin_for_predicted_team": -4,
        "winner": "NYM"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 1,
      "consecutive_same_pick_count": 1,
      "same_pick_actual_loss_count": 1,
      "same_pick_blowout_loss_count": 0,
      "prior_predictions": [
        {
          "date": "20260825",
          "away": "MIL",
          "home": "NYM",
          "game_number": 1,
          "predicted_team": "MIL",
          "actual_winner": "NYM",
          "actual_margin": 1,
          "raw_pick_probability": 0.564109,
          "artifact": "20260825_MIL@NYM.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "MIL",
    "guardrail_opponent_team": "NYM",
    "output_pre_simulation_winner": "MIL",
    "output_opponent_team": "NYM",
    "simulation_score_winner": "MIL",
    "final_score_winner": "MIL",
    "pre_simulation_winner": "MIL",
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false
  },
  "hard_flip_suppressed": true,
  "flip_authority": "caps_confidence_and_shifts_runs_only",
  "final_prediction_sync": {
    "pre_simulation_score": {
      "away_runs": 4,
      "home_runs": 2,
      "score_text": "MIL 4 - 2 NYM",
      "winner": "MIL"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 2,
      "score_text": "MIL 4 - 2 NYM",
      "winner": "MIL"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": 0.0623,
      "recent_form_edge_home_minus_away": -0.216,
      "winner_direction": "away",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 4,
      "home_runs": 2,
      "winner": "MIL",
      "model_winner": "MIL",
      "simulation_winner": "MIL",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 6,
        "published_winner": "MIL",
        "published_winner_draw_share": 0.1667,
        "draw_majority_team": "NYM",
        "published_winner_is_draw_majority": false,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 2,
      "simulation_margin": 2,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 4,
        "home_runs": 2
      },
      "simulation_score": {
        "away_runs": 4,
        "home_runs": 2
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 2,
      "final_margin": 2,
      "winner_quality_edge": 1.2106,
      "winner": "MIL",
      "score_reviewed": {
        "away_runs": 4,
        "home_runs": 2,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  }
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "hard_flip_suppressed": false,
  "policy": "recency_uncertainty_shrinkage_v2",
  "reasons": [],
  "signals": {
    "home": {
      "team": "NYM",
      "games": 132,
      "wins": 60,
      "losses": 72,
      "win_pct": 0.45454545454545453,
      "runs_scored": 549,
      "runs_allowed": 588,
      "run_differential": -39,
      "run_differential_per_game": -0.29545454545454547,
      "available": true
    },
    "away": {
      "team": "MIL",
      "games": 132,
      "wins": 81,
      "losses": 51,
      "win_pct": 0.6136363636363636,
      "runs_scored": 652,
      "runs_allowed": 492,
      "run_differential": 160,
      "run_differential_per_game": 1.2121212121212122,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": -0.1,
  "final_margin": -0.1,
  "margin_cap": 2.0,
  "season_quality_edge": 1.2106,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.527425,
  "final_confidence": 0.5072,
  "calibrated_pick_probability": 0.5072,
  "shrinkage_weight": 0.846053,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 0.1,
  "calibration_sample_size": 58,
  "calibration_empirical_hit_rate": 0.5,
  "calibration_bayesian_hit_rate": 0.5,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 1.2106,
  "reasons": [
    "confidence aligned to the calibrated pick probability"
  ],
  "score_coherence": {
    "policy": "probability_follows_published_score_v1",
    "published_score": {
      "away_runs": 4,
      "home_runs": 3
    },
    "margin": -1,
    "probability_before": 0.492809,
    "margin_implied_home_probability": 0.415,
    "shrinkage_weight": 0.846053,
    "side_flipped": false,
    "applied": true,
    "probability_after": 0.453904,
    "aligned_pick_probability": 0.546096
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 4,
    "home_runs": 2,
    "score_text": "MIL 4 - 2 NYM",
    "winner": "MIL"
  },
  "final_simulation_score": {
    "away_runs": 4,
    "home_runs": 2,
    "score_text": "MIL 4 - 2 NYM",
    "winner": "MIL"
  },
  "winner_flipped_by_simulation": false,
  "simulation_would_flip_winner": false,
  "sim_flipped_pre_winner": false,
  "sim_flip_trusted": false,
  "sim_flip_policy": "diagnostic_only_unless_independently_supported",
  "independent_margin_support": false,
  "independent_margin_support_evidence": {
    "pitcher_matchup_edge_home_minus_away": 0.0623,
    "recent_form_edge_home_minus_away": -0.216,
    "winner_direction": "away",
    "thresholds": {
      "pitcher_matchup": 0.35,
      "recent_form": 0.75
    }
  },
  "margin_widening_capped": false,
  "simulation_winner_agrees": true,
  "away_run_delta": 0,
  "home_run_delta": 0,
  "total_run_delta": 0,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "organic_simulation_realized_target",
  "final_prediction_source": "stable_final_prediction_policy",
  "final_decision_policy": {
    "policy_version": "model_target_authoritative_simulation_realizes_v3",
    "away_runs": 4,
    "home_runs": 2,
    "winner": "MIL",
    "model_winner": "MIL",
    "simulation_winner": "MIL",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 6,
      "published_winner": "MIL",
      "published_winner_draw_share": 0.1667,
      "draw_majority_team": "NYM",
      "published_winner_is_draw_majority": false,
      "sampling": "target_conditioned_selection",
      "is_unbiased_probability_sample": false,
      "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
    },
    "simulation_score_enabled": true,
    "independent_margin_support": false,
    "margin_widening_capped": false,
    "model_margin": 2,
    "simulation_margin": 2,
    "simulation_usage": "organic_simulation_realized_target",
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_realized_target": true,
    "model_score": {
      "away_runs": 4,
      "home_runs": 2
    },
    "simulation_score": {
      "away_runs": 4,
      "home_runs": 2
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 2,
    "final_margin": 2,
    "winner_quality_edge": 1.2106,
    "winner": "MIL",
    "score_reviewed": {
      "away_runs": 4,
      "home_runs": 2,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 4,
  "home_runs": 2,
  "confidence": 0.53,
  "home_win_probability": 0.47,
  "away_win_probability": 0.53,
  "predicted_score_text": "MIL 4 - 2 NYM",
  "embedded_savant_score_adjustment": {
    "applied": true,
    "source": "all_players_stats.csv embedded temporal Savant features",
    "feature_contract": {
      "training_grain": "one player-game row after collapsing granular at-bat rows",
      "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
      "hitter_signals": [
        "xwoba",
        "xba",
        "xslg",
        "barrel_batted_rate",
        "hard_hit_percent",
        "bat_speed",
        "launch_quality",
        "walk_rate",
        "strikeout_rate"
      ],
      "pitcher_signals": [
        "xwoba_allowed",
        "barrel_allowed",
        "hard_hit_allowed",
        "whiff_rate",
        "command_score",
        "movement_score",
        "faced_est_woba",
        "faced_strikeout_rate"
      ]
    },
    "away": {
      "team": "MIL",
      "original_runs": 4,
      "run_delta": 0.3628,
      "adjusted_runs": 4,
      "lineup": {
        "players_used": 9,
        "total_weight": 33.0,
        "quality": 0.1225543568529379,
        "contact": 0.19029098891003976,
        "power": 0.01727846235181143,
        "discipline": 0.30261032728546855,
        "xwoba": 0.3210606060606061,
        "recent_xwoba": 0.3210606060606061,
        "barrel": 6.836363636363636,
        "ab_hard_contact": -0.049616900149912754,
        "ab_bat_speed": 69.69284077517608,
        "ab_strikeout_rate": 0.22010518576428353,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "666152",
            "player_name": "David Hamilton",
            "position": "3B",
            "weight": 3.0,
            "quality": -0.8374973038550482,
            "contact": -0.9342369383165089,
            "power": -1.0239412005213757,
            "discipline": 0.15391917528789695,
            "xwoba": 0.272,
            "recent_xwoba": 0.272,
            "barrel": 3.7,
            "ab_hard_contact": -1.4353954389989307,
            "ab_bat_speed": 62.9329625167336,
            "ab_strikeout_rate": 0.24693486590038316,
            "available": 1.0
          },
          {
            "player_id": "669003",
            "player_name": "Garrett Mitchell",
            "position": "CF",
            "weight": 4.0,
            "quality": 0.6566551432400594,
            "contact": 0.6433942800097501,
            "power": 1.0549943878025207,
            "discipline": -0.35839842961136037,
            "xwoba": 0.349,
            "recent_xwoba": 0.349,
            "barrel": 12.6,
            "ab_hard_contact": 0.7132210893837494,
            "ab_bat_speed": 75.80897943376068,
            "ab_strikeout_rate": 0.3543238993710692,
            "available": 1.0
          },
          {
            "player_id": "686217",
            "player_name": "Sal Frelick",
            "position": "LF",
            "weight": 3.0,
            "quality": -0.487237658735172,
            "contact": -0.4183151550323042,
            "power": -1.0321591544237576,
            "discipline": 0.8354699333282688,
            "xwoba": 0.281,
            "recent_xwoba": 0.281,
            "barrel": 2.0,
            "ab_hard_contact": -0.6050878503799095,
            "ab_bat_speed": 66.6186372312638,
            "ab_strikeout_rate": 0.09959839357429717,
            "available": 1.0
          },
          {
            "player_id": "661388",
            "player_name": "William Contreras",
            "position": "C",
            "weight": 5.0,
            "quality": 0.5679578894200812,
            "contact": 0.6763862829816858,
            "power": 0.505257444959145,
            "discipline": 0.53545652566033,
            "xwoba": 0.339,
            "recent_xwoba": 0.339,
            "barrel": 8.0,
            "ab_hard_contact": 0.2541012801352795,
            "ab_bat_speed": 72.18558159722222,
            "ab_strikeout_rate": 0.14211180124223602,
            "available": 1.0
          },
          {
            "player_id": "668930",
            "player_name": "Brice Turang",
            "position": "2B",
            "weight": 5.0,
            "quality": 0.37432096039409024,
            "contact": 0.4249535103603479,
            "power": 0.34273863989037245,
            "discipline": 0.463352776965777,
            "xwoba": 0.339,
            "recent_xwoba": 0.339,
            "barrel": 7.5,
            "ab_hard_contact": 0.47610613114078815,
            "ab_bat_speed": 67.48177702621453,
            "ab_strikeout_rate": 0.2461441213653603,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "640455",
        "player_name": "Sean Manaea",
        "quality": -0.4222211728562413,
        "contact": -0.5404815737556538,
        "command": -0.1711776556776558,
        "movement": -1.0900631249247552,
        "xwoba": 0.336,
        "whiff": 22.7,
        "faced_est_woba": 0.26552359851190477,
        "faced_launch_speed": 83.8105259224902,
        "faced_strikeout_rate": 0.23520697818487546,
        "faced_run_exp": 0.006591593388029562
      }
    },
    "home": {
      "team": "NYM",
      "original_runs": 3,
      "run_delta": -0.9178,
      "adjusted_runs": 2,
      "lineup": {
        "players_used": 9,
        "total_weight": 35.0,
        "quality": 0.2577330907029704,
        "contact": 0.26595732368917774,
        "power": 0.3462647564862508,
        "discipline": -0.02219353721566902,
        "xwoba": 0.3253142857142857,
        "recent_xwoba": 0.3253142857142857,
        "barrel": 8.577142857142857,
        "ab_hard_contact": 0.21889512972502656,
        "ab_bat_speed": 70.65195198025792,
        "ab_strikeout_rate": 0.2318537008529288,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "596019",
            "player_name": "Francisco Lindor",
            "position": "SS",
            "weight": 5.0,
            "quality": 0.7079372925453035,
            "contact": 0.7098819431118241,
            "power": 0.8181657182837796,
            "discipline": 0.4227753662400399,
            "xwoba": 0.347,
            "recent_xwoba": 0.347,
            "barrel": 9.6,
            "ab_hard_contact": 0.9383619847232139,
            "ab_bat_speed": 71.24822808833679,
            "ab_strikeout_rate": 0.1855072463768116,
            "available": 1.0
          },
          {
            "player_id": "682626",
            "player_name": "Francisco Alvarez",
            "position": "C",
            "weight": 3.0,
            "quality": 0.3285863344414105,
            "contact": 0.003902742109684318,
            "power": 0.9371793778058405,
            "discipline": -0.368024110072224,
            "xwoba": 0.327,
            "recent_xwoba": 0.327,
            "barrel": 15.7,
            "ab_hard_contact": 0.2613018418311129,
            "ab_bat_speed": 72.74291013071895,
            "ab_strikeout_rate": 0.2918067226890756,
            "available": 1.0
          },
          {
            "player_id": "701807",
            "player_name": "Carson Benge",
            "position": "RF",
            "weight": 4.0,
            "quality": 0.452358627443849,
            "contact": 0.6714048593047102,
            "power": 0.3823011685125719,
            "discipline": -0.0022927502918447563,
            "xwoba": 0.344,
            "recent_xwoba": 0.344,
            "barrel": 7.4,
            "ab_hard_contact": 0.6075471797752595,
            "ab_bat_speed": 69.28624552299553,
            "ab_strikeout_rate": 0.22243250576583912,
            "available": 1.0
          },
          {
            "player_id": "673357",
            "player_name": "Luis Robert Jr.",
            "position": "DH",
            "weight": 4.0,
            "quality": 0.23636734035808743,
            "contact": 0.18743230750105858,
            "power": 0.48244084024816086,
            "discipline": 0.04467391696467782,
            "xwoba": 0.332,
            "recent_xwoba": 0.332,
            "barrel": 9.2,
            "ab_hard_contact": 0.2343406144870354,
            "ab_bat_speed": 74.83762379227053,
            "ab_strikeout_rate": 0.2826086956521739,
            "available": 1.0
          },
          {
            "player_id": "666182",
            "player_name": "Bo Bichette",
            "position": "3B",
            "weight": 5.0,
            "quality": 0.29013619345560776,
            "contact": 0.5085510821506187,
            "power": 0.14646308479224962,
            "discipline": 0.04518620356142618,
            "xwoba": 0.324,
            "recent_xwoba": 0.324,
            "barrel": 6.4,
            "ab_hard_contact": -0.19873830415498728,
            "ab_bat_speed": 69.04687873021787,
            "ab_strikeout_rate": 0.18159640905542546,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "694819",
        "player_name": "Jacob Misiorowski",
        "quality": 1.5830103245845584,
        "contact": 1.8422164244264896,
        "command": 1.4725366300366298,
        "movement": 2.0,
        "xwoba": 0.219,
        "whiff": 37.9,
        "faced_est_woba": 0.26552359851190477,
        "faced_launch_speed": 83.8105259224902,
        "faced_strikeout_rate": 0.23520697818487546,
        "faced_run_exp": 0.006591593388029562
      }
    }
  },
  "fundamental_edge_target_review": {
    "applied": false,
    "method": "post_score_adjustment_fundamental_edge_review_v1",
    "previous_score": {
      "away_runs": 4,
      "home_runs": 2,
      "winner_side": "away"
    },
    "adjusted_score": {
      "away_runs": 4,
      "home_runs": 2,
      "winner_side": "away"
    },
    "signals": {
      "season_quality_edge_home_minus_away": -1.2106,
      "recent_form_edge_home_minus_away": -0.216,
      "pitcher_matchup_edge_home_minus_away": 0.0623,
      "composite_home_edge": -0.9428,
      "existing_home_win_probability": 0.4539,
      "refreshed_home_win_probability": 0.3,
      "winner_support_before_review": 0.9428
    },
    "reasons": [
      "target direction already matched refreshed fundamentals or margin was not fragile"
    ]
  },
  "uncapped_home_win_probability": 0.453904,
  "uncapped_away_win_probability": 0.546096,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.546096,
    "discount_factor": 0.85,
    "published_confidence": 0.53,
    "guardrail_confidence_cap": 0.53,
    "guardrail_cap_enforced": true,
    "applied_discounts": [
      {
        "reason": "matchup_recency_guardrail",
        "factor": 0.85
      }
    ]
  },
  "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: matchup_recency_guardrail x0.85.",
  "pre_simulation_target": {
    "away_runs": 4,
    "home_runs": 2,
    "predicted_score_text": "MIL 4 - 2 NYM",
    "confidence": 0.53,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "stable_final_prediction_policy",
  "simulation_usage": "organic_simulation_realized_target",
  "simulation_score_matches_prediction": true,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 4,
      "home_runs": 2,
      "score_text": "MIL 4 - 2 NYM",
      "winner": "MIL"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 2,
      "score_text": "MIL 4 - 2 NYM",
      "winner": "MIL"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": 0.0623,
      "recent_form_edge_home_minus_away": -0.216,
      "winner_direction": "away",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 4,
      "home_runs": 2,
      "winner": "MIL",
      "model_winner": "MIL",
      "simulation_winner": "MIL",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 6,
        "published_winner": "MIL",
        "published_winner_draw_share": 0.1667,
        "draw_majority_team": "NYM",
        "published_winner_is_draw_majority": false,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 2,
      "simulation_margin": 2,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 4,
        "home_runs": 2
      },
      "simulation_score": {
        "away_runs": 4,
        "home_runs": 2
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 2,
      "final_margin": 2,
      "winner_quality_edge": 1.2106,
      "winner": "MIL",
      "score_reviewed": {
        "away_runs": 4,
        "home_runs": 2,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  },
  "decision_profile": {
    "method": "priced_decision_profile_v2",
    "winner": "MIL",
    "display_confidence": 0.53,
    "internal_signal_score": 0.5741,
    "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
    "model_pick_probability": 0.53,
    "confidence_compression_detected": true,
    "moneyline_fit": "unavailable_without_market_price",
    "betting_status": "price_required_before_betting_analysis",
    "market_context": null,
    "margin_fit": "moneyline_preferred_over_margin",
    "totals_fit": "low_total_lean",
    "winner_accuracy_and_margin_accuracy_decoupled": true,
    "signals": {
      "final_margin": 2,
      "winner_quality_edge": 1.2106,
      "winner_recent_form_edge": 0.216,
      "winner_pitcher_matchup_edge": -0.0623,
      "winner_simulation_draw_rate": 0.1667,
      "blowout_draw_rate_margin_4_plus": 0.0,
      "high_total_draw_rate_11_plus": 0.0,
      "low_total_draw_rate_6_or_less": 0.5,
      "total_runs_spread": {
        "min": 3,
        "median": 7,
        "max": 9,
        "range": 6
      }
    },
    "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 MILTrue1.01621.0162190
Home NYMTrue1.03671.0367190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
LFSal Frelick4940.9616-0.5114neutral0.28100.24300.3220227.8085.909.3010.709.908-0.0286
DHChristian Yelich3961.02220.2958neutral0.31300.23400.391010.1043.80892.9029.6026.609.800.2286
RFLuis Lara2311.01010.1348neutral0.31500.27500.36204.5041.6089.305.4018.3019.209.600.0857
CFGarrett Mitchell661.07290.9723neutral0.34900.25700.441012.6051.5092.901.7036.4031.60120.1429
2BBrice Turang71.04650.6196neutral0.33900.25400.42607.5041.5090.208.7022.8024.9012.60-0.0857
CWilliam Contreras971.05870.7821neutral0.33900.26600.444084490.201220.1013.709.300.4000
SSCooper Pratt1770.9971-0.0380neutral0.30900.25200.34503.4029.7087.1011.8025.1020.3010.500.1429
1BAndrew Vaughn1591.03440.4592negative_batter_regression0.34200.27300.39405.5043.50909.9020.2015.1011.20-0.9143
3BDavid Hamilton1290.9424-0.7685neutral0.27200.21400.30203.702886.6012.3022.6022.109.50-0.6286

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
CFA.J. Ewing801.02750.3673neutral0.31600.25000.39207.5042.7089.3011.2024.5026.409.300.3714
RFCarson Benge521.05790.7724neutral0.34400.28400.44507.4040.6089.1011.6020.6021.107.300.1429
DHLuis Robert Jr.2091.03410.4550neutral0.33200.24600.43409.2041.209014.7028.5023.9010.900.2571
LFBrett Baty2941.02210.2942neutral0.30500.23200.38109.2041.609012.3028.9027.608.800.6857
SSFrancisco Lindor1631.06870.9162neutral0.34700.25000.45709.6047.409119.40241810.700.4000
1BJared Young1361.01900.2528neutral0.31700.24300.40107.7046.4090.1011.2025.8018.706.70-0.6000
2BMarcus Semien3471.01120.1494positive_batter_regression0.30400.24700.38906.5034.1086.6018.4024.4021.707.600.8857
3BBo Bichette2101.04060.5416neutral0.32400.27900.41506.4041.4089.60819.3018.206.400.4286
CFrancisco Alvarez2851.04920.6558neutral0.32700.23000.428015.7044.4090.1011.4034.9029.6010.600.1429
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0367,
    "raw_average_factor": 1.0367,
    "team_espn_average_rank": 197.33,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "CF",
        "player_id": "805999",
        "player_name": "A.J. Ewing",
        "offense_factor": 1.0275,
        "quality_score": 0.3673,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "805999",
          "espn_id": 5208019,
          "player_name": "A.J. Ewing",
          "team": "NYM",
          "role": "batter",
          "espn_rank": 80,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 80,
            "gp_value": 91.0,
            "gp_rank": "216",
            "ab_value": 332.0,
            "ab_rank": "173",
            "r_value": 41.0,
            "r_rank": "175",
            "h_value": 81.0,
            "h_rank": "167",
            "avg_value": 0.2439759,
            "avg_rank": null,
            "2b_value": 16.0,
            "2b_rank": "155",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 7.0,
            "hr_rank": "231",
            "rbi_value": 28.0,
            "rbi_rank": "262",
            "tb_value": 120.0,
            "tb_rank": "1271",
            "bb_value": 35.0,
            "bb_rank": "146",
            "so_value": 99.0,
            "so_rank": "97",
            "sb_value": 19.0,
            "sb_rank": "25",
            "obp_value": 0.3172043,
            "obp_rank": "-",
            "slg_value": 0.3614457,
            "slg_rank": "-",
            "ops_value": 0.67865,
            "ops_rank": null,
            "war_value": 2.3,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 350.0,
          "k_percent": 26.4,
          "bb_percent": 9.3,
          "woba": 0.303,
          "xwoba": 0.316,
          "xba": 0.25,
          "xslg": 0.392,
          "sweet_spot_percent": 34.7,
          "barrel_batted_rate": 7.5,
          "hard_hit_percent": 42.7,
          "exit_velocity_avg": 89.3,
          "launch_angle_avg": 11.2,
          "whiff_percent": 24.5,
          "swing_percent": 46.0
        },
        "components": {
          "expected_quality": 0.3666,
          "regression_edge": 0.3714,
          "xwoba_edge": 0.4,
          "xba_edge": 0.4,
          "xslg_edge": 0.3571,
          "barrel_edge": 0.1778,
          "hard_hit_edge": 0.7,
          "exit_velocity_edge": 0.28,
          "sweet_spot_edge": 0.2333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "RF",
        "player_id": "701807",
        "player_name": "Carson Benge",
        "offense_factor": 1.0579,
        "quality_score": 0.7724,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "701807",
          "espn_id": 4925604,
          "player_name": "Carson Benge",
          "team": "NYM",
          "role": "batter",
          "espn_rank": 52,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 52,
            "gp_value": 126.0,
            "gp_rank": "59",
            "ab_value": 476.0,
            "ab_rank": "46",
            "r_value": 68.0,
            "r_rank": "49",
            "h_value": 134.0,
            "h_rank": "22",
            "avg_value": 0.2815126,
            "avg_rank": 24.0,
            "2b_value": 17.0,
            "2b_rank": "139",
            "3b_value": 3.0,
            "3b_rank": "32",
            "hr_value": 16.0,
            "hr_rank": "91",
            "rbi_value": 53.0,
            "rbi_rank": "104",
            "tb_value": 205.0,
            "tb_rank": "498",
            "bb_value": 38.0,
            "bb_rank": "123",
            "so_value": 110.0,
            "so_rank": "67",
            "sb_value": 19.0,
            "sb_rank": "25",
            "obp_value": 0.3416506,
            "obp_rank": "55",
            "slg_value": 0.4306722,
            "slg_rank": "67",
            "ops_value": 0.7723228,
            "ops_rank": 12.0,
            "war_value": 3.09,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 495.0,
          "k_percent": 21.1,
          "bb_percent": 7.3,
          "woba": 0.339,
          "xwoba": 0.344,
          "xba": 0.284,
          "xslg": 0.445,
          "sweet_spot_percent": 37.9,
          "barrel_batted_rate": 7.4,
          "hard_hit_percent": 40.6,
          "exit_velocity_avg": 89.1,
          "launch_angle_avg": 11.6,
          "whiff_percent": 20.6,
          "swing_percent": 45.9
        },
        "components": {
          "expected_quality": 0.8749,
          "regression_edge": 0.1429,
          "xwoba_edge": 1.2,
          "xba_edge": 1.3714,
          "xslg_edge": 1.1143,
          "barrel_edge": 0.1556,
          "hard_hit_edge": 0.4,
          "exit_velocity_edge": 0.2,
          "sweet_spot_edge": 0.7667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "DH",
        "player_id": "673357",
        "player_name": "Luis Robert Jr.",
        "offense_factor": 1.0341,
        "quality_score": 0.455,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "673357",
          "espn_id": 39631,
          "player_name": "Luis Robert Jr.",
          "team": "NYM",
          "role": "batter",
          "espn_rank": 209,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 209,
            "gp_value": 53.0,
            "gp_rank": "369",
            "ab_value": 177.0,
            "ab_rank": "322",
            "r_value": 23.0,
            "r_rank": "305",
            "h_value": 41.0,
            "h_rank": "317",
            "avg_value": 0.2316384,
            "avg_rank": null,
            "2b_value": 4.0,
            "2b_rank": "393",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 10.0,
            "hr_rank": "163",
            "rbi_value": 23.0,
            "rbi_rank": "293",
            "tb_value": 75.0,
            "tb_rank": "1761",
            "bb_value": 22.0,
            "bb_rank": "247",
            "so_value": 48.0,
            "so_rank": "294",
            "sb_value": 2.0,
            "sb_rank": "260",
            "obp_value": 0.3134328,
            "obp_rank": "-",
            "slg_value": 0.4237288,
            "slg_rank": "-",
            "ops_value": 0.7371616,
            "ops_rank": null,
            "war_value": 0.92,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 181.0,
          "k_percent": 23.9,
          "bb_percent": 10.9,
          "woba": 0.323,
          "xwoba": 0.332,
          "xba": 0.246,
          "xslg": 0.434,
          "sweet_spot_percent": 26.0,
          "barrel_batted_rate": 9.2,
          "hard_hit_percent": 41.2,
          "exit_velocity_avg": 90.0,
          "launch_angle_avg": 14.7,
          "whiff_percent": 28.5,
          "swing_percent": 49.7
        },
        "components": {
          "expected_quality": 0.6012,
          "regression_edge": 0.2571,
          "xwoba_edge": 0.8571,
          "xba_edge": 0.2857,
          "xslg_edge": 0.9571,
          "barrel_edge": 0.5556,
          "hard_hit_edge": 0.4857,
          "exit_velocity_edge": 0.56,
          "sweet_spot_edge": -1.2167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "683146",
        "player_name": "Brett Baty",
        "offense_factor": 1.0221,
        "quality_score": 0.2942,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "683146",
          "espn_id": 42414,
          "player_name": "Brett Baty",
          "team": "NYM",
          "role": "batter",
          "espn_rank": 294,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 294,
            "gp_value": 117.0,
            "gp_rank": "115",
            "ab_value": 356.0,
            "ab_rank": "147",
            "r_value": 44.0,
            "r_rank": "163",
            "h_value": 78.0,
            "h_rank": "178",
            "avg_value": 0.2191011,
            "avg_rank": 136.0,
            "2b_value": 16.0,
            "2b_rank": "155",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 8.0,
            "hr_rank": "207",
            "rbi_value": 40.0,
            "rbi_rank": "173",
            "tb_value": 120.0,
            "tb_rank": "1210",
            "bb_value": 35.0,
            "bb_rank": "146",
            "so_value": 110.0,
            "so_rank": "67",
            "sb_value": 5.0,
            "sb_rank": "166",
            "obp_value": 0.2914572,
            "obp_rank": "141",
            "slg_value": 0.3370786,
            "slg_rank": "147",
            "ops_value": 0.6285358,
            "ops_rank": 288.0,
            "war_value": 0.39,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 384.0,
          "k_percent": 27.6,
          "bb_percent": 8.8,
          "woba": 0.281,
          "xwoba": 0.305,
          "xba": 0.232,
          "xslg": 0.381,
          "sweet_spot_percent": 36.4,
          "barrel_batted_rate": 9.2,
          "hard_hit_percent": 41.6,
          "exit_velocity_avg": 90.0,
          "launch_angle_avg": 12.3,
          "whiff_percent": 28.9,
          "swing_percent": 49.1
        },
        "components": {
          "expected_quality": 0.2305,
          "regression_edge": 0.6857,
          "xwoba_edge": 0.0857,
          "xba_edge": -0.1143,
          "xslg_edge": 0.2,
          "barrel_edge": 0.5556,
          "hard_hit_edge": 0.5429,
          "exit_velocity_edge": 0.56,
          "sweet_spot_edge": 0.5167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "596019",
        "player_name": "Francisco Lindor",
        "offense_factor": 1.0687,
        "quality_score": 0.9162,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "596019",
          "espn_id": 32129,
          "player_name": "Francisco Lindor",
          "team": "NYM",
          "role": "batter",
          "espn_rank": 163,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 163,
            "gp_value": 75.0,
            "gp_rank": "285",
            "ab_value": 289.0,
            "ab_rank": "209",
            "r_value": 42.0,
            "r_rank": "173",
            "h_value": 69.0,
            "h_rank": "207",
            "avg_value": 0.2387543,
            "avg_rank": null,
            "2b_value": 8.0,
            "2b_rank": "298",
            "3b_value": 4.0,
            "3b_rank": "17",
            "hr_value": 13.0,
            "hr_rank": "123",
            "rbi_value": 33.0,
            "rbi_rank": "223",
            "tb_value": 124.0,
            "tb_rank": "908",
            "bb_value": 35.0,
            "bb_rank": "146",
            "so_value": 59.0,
            "so_rank": "245",
            "sb_value": 3.0,
            "sb_rank": "223",
            "obp_value": 0.3272171,
            "obp_rank": "-",
            "slg_value": 0.4290657,
            "slg_rank": "-",
            "ops_value": 0.7562828,
            "ops_rank": null,
            "war_value": 1.29,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 307.0,
          "k_percent": 18.0,
          "bb_percent": 10.7,
          "woba": 0.333,
          "xwoba": 0.347,
          "xba": 0.25,
          "xslg": 0.457,
          "sweet_spot_percent": 30.4,
          "barrel_batted_rate": 9.6,
          "hard_hit_percent": 47.4,
          "exit_velocity_avg": 91.0,
          "launch_angle_avg": 19.4,
          "whiff_percent": 24.0,
          "swing_percent": 45.8
        },
        "components": {
          "expected_quality": 1.0002,
          "regression_edge": 0.4,
          "xwoba_edge": 1.2857,
          "xba_edge": 0.4,
          "xslg_edge": 1.2857,
          "barrel_edge": 0.6444,
          "hard_hit_edge": 1.3714,
          "exit_velocity_edge": 0.96,
          "sweet_spot_edge": -0.4833,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "1B",
        "player_id": "676724",
        "player_name": "Jared Young",
        "offense_factor": 1.019,
        "quality_score": 0.2528,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "676724",
          "espn_id": 41575,
          "player_name": "Jared Young",
          "team": "NYM",
          "role": "batter",
          "espn_rank": 136,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 136,
            "gp_value": 83.0,
            "gp_rank": "248",
            "ab_value": 242.0,
            "ab_rank": "251",
            "r_value": 31.0,
            "r_rank": "245",
            "h_value": 65.0,
            "h_rank": "225",
            "avg_value": 0.268595,
            "avg_rank": null,
            "2b_value": 14.0,
            "2b_rank": "189",
            "3b_value": 2.0,
            "3b_rank": "64",
            "hr_value": 8.0,
            "hr_rank": "207",
            "rbi_value": 31.0,
            "rbi_rank": "241",
            "tb_value": 107.0,
            "tb_rank": "1163",
            "bb_value": 18.0,
            "bb_rank": "285",
            "so_value": 50.0,
            "so_rank": "281",
            "sb_value": 3.0,
            "sb_rank": "223",
            "obp_value": 0.3320895,
            "obp_rank": "-",
            "slg_value": 0.4421487,
            "slg_rank": "-",
            "ops_value": 0.7742382,
            "ops_rank": null,
            "war_value": 1.6,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 250.0,
          "k_percent": 18.7,
          "bb_percent": 6.7,
          "woba": 0.338,
          "xwoba": 0.317,
          "xba": 0.243,
          "xslg": 0.401,
          "sweet_spot_percent": 28.4,
          "barrel_batted_rate": 7.7,
          "hard_hit_percent": 46.4,
          "exit_velocity_avg": 90.1,
          "launch_angle_avg": 11.2,
          "whiff_percent": 25.8,
          "swing_percent": 47.0
        },
        "components": {
          "expected_quality": 0.3916,
          "regression_edge": -0.6,
          "xwoba_edge": 0.4286,
          "xba_edge": 0.2,
          "xslg_edge": 0.4857,
          "barrel_edge": 0.2222,
          "hard_hit_edge": 1.2286,
          "exit_velocity_edge": 0.6,
          "sweet_spot_edge": -0.8167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "2B",
        "player_id": "543760",
        "player_name": "Marcus Semien",
        "offense_factor": 1.0112,
        "quality_score": 0.1494,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "543760",
          "espn_id": 32146,
          "player_name": "Marcus Semien",
          "team": "NYM",
          "role": "batter",
          "espn_rank": 347,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 347,
            "gp_value": 112.0,
            "gp_rank": "137",
            "ab_value": 398.0,
            "ab_rank": "116",
            "r_value": 41.0,
            "r_rank": "175",
            "h_value": 84.0,
            "h_rank": "154",
            "avg_value": 0.2110552,
            "avg_rank": 145.0,
            "2b_value": 10.0,
            "2b_rank": "254",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 14.0,
            "hr_rank": "112",
            "rbi_value": 43.0,
            "rbi_rank": "160",
            "tb_value": 138.0,
            "tb_rank": "692",
            "bb_value": 33.0,
            "bb_rank": "165",
            "so_value": 95.0,
            "so_rank": "106",
            "sb_value": 9.0,
            "sb_rank": "90",
            "obp_value": 0.2706422,
            "obp_rank": "150",
            "slg_value": 0.3467336,
            "slg_rank": "144",
            "ops_value": 0.6173758,
            "ops_rank": 294.0,
            "war_value": 0.16,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 411.0,
          "k_percent": 21.7,
          "bb_percent": 7.6,
          "woba": 0.273,
          "xwoba": 0.304,
          "xba": 0.247,
          "xslg": 0.389,
          "sweet_spot_percent": 35.1,
          "barrel_batted_rate": 6.5,
          "hard_hit_percent": 34.1,
          "exit_velocity_avg": 86.6,
          "launch_angle_avg": 18.4,
          "whiff_percent": 24.4,
          "swing_percent": 50.0
        },
        "components": {
          "expected_quality": 0.0295,
          "regression_edge": 0.8857,
          "xwoba_edge": 0.0571,
          "xba_edge": 0.3143,
          "xslg_edge": 0.3143,
          "barrel_edge": -0.0444,
          "hard_hit_edge": -0.5286,
          "exit_velocity_edge": -0.8,
          "sweet_spot_edge": 0.3,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "666182",
        "player_name": "Bo Bichette",
        "offense_factor": 1.0406,
        "quality_score": 0.5416,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "666182",
          "espn_id": 38904,
          "player_name": "Bo Bichette",
          "team": "NYM",
          "role": "batter",
          "espn_rank": 210,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 210,
            "gp_value": 131.0,
            "gp_rank": "15",
            "ab_value": 521.0,
            "ab_rank": "3",
            "r_value": 64.0,
            "r_rank": "68",
            "h_value": 138.0,
            "h_rank": "17",
            "avg_value": 0.2648752,
            "avg_rank": 52.0,
            "2b_value": 21.0,
            "2b_rank": "78",
            "3b_value": 2.0,
            "3b_rank": "64",
            "hr_value": 14.0,
            "hr_rank": "112",
            "rbi_value": 66.0,
            "rbi_rank": "51",
            "tb_value": 205.0,
            "tb_rank": "559",
            "bb_value": 36.0,
            "bb_rank": "135",
            "so_value": 103.0,
            "so_rank": "85",
            "sb_value": 1.0,
            "sb_rank": "315",
            "obp_value": 0.310954,
            "obp_rank": "111",
            "slg_value": 0.393474,
            "slg_rank": "109",
            "ops_value": 0.704428,
            "ops_rank": 220.0,
            "war_value": 0.91,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 539.0,
          "k_percent": 18.2,
          "bb_percent": 6.4,
          "woba": 0.309,
          "xwoba": 0.324,
          "xba": 0.279,
          "xslg": 0.415,
          "sweet_spot_percent": 36.5,
          "barrel_batted_rate": 6.4,
          "hard_hit_percent": 41.4,
          "exit_velocity_avg": 89.6,
          "launch_angle_avg": 8.0,
          "whiff_percent": 19.3,
          "swing_percent": 53.5
        },
        "components": {
          "expected_quality": 0.56,
          "regression_edge": 0.4286,
          "xwoba_edge": 0.6286,
          "xba_edge": 1.2286,
          "xslg_edge": 0.6857,
          "barrel_edge": -0.0667,
          "hard_hit_edge": 0.5143,
          "exit_velocity_edge": 0.4,
          "sweet_spot_edge": 0.5333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "682626",
        "player_name": "Francisco Alvarez",
        "offense_factor": 1.0492,
        "quality_score": 0.6558,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "682626",
          "espn_id": 41253,
          "player_name": "Francisco Alvarez",
          "team": "NYM",
          "role": "batter",
          "espn_rank": 285,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 285,
            "gp_value": 92.0,
            "gp_rank": "208",
            "ab_value": 298.0,
            "ab_rank": "204",
            "r_value": 29.0,
            "r_rank": "253",
            "h_value": 70.0,
            "h_rank": "203",
            "avg_value": 0.2348993,
            "avg_rank": null,
            "2b_value": 11.0,
            "2b_rank": "239",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 13.0,
            "hr_rank": "123",
            "rbi_value": 30.0,
            "rbi_rank": "248",
            "tb_value": 120.0,
            "tb_rank": "1373",
            "bb_value": 36.0,
            "bb_rank": "135",
            "so_value": 101.0,
            "so_rank": "88",
            "sb_value": 0.0,
            "sb_rank": "421",
            "obp_value": 0.3244837,
            "obp_rank": "-",
            "slg_value": 0.4026845,
            "slg_rank": "-",
            "ops_value": 0.7271682,
            "ops_rank": null,
            "war_value": 0.46,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 329.0,
          "k_percent": 29.6,
          "bb_percent": 10.6,
          "woba": 0.322,
          "xwoba": 0.327,
          "xba": 0.23,
          "xslg": 0.428,
          "sweet_spot_percent": 32.3,
          "barrel_batted_rate": 15.7,
          "hard_hit_percent": 44.4,
          "exit_velocity_avg": 90.1,
          "launch_angle_avg": 11.4,
          "whiff_percent": 34.9,
          "swing_percent": 45.1
        },
        "components": {
          "expected_quality": 0.7393,
          "regression_edge": 0.1429,
          "xwoba_edge": 0.7143,
          "xba_edge": -0.1714,
          "xslg_edge": 0.8714,
          "barrel_edge": 2.0,
          "hard_hit_edge": 0.9429,
          "exit_velocity_edge": 0.6,
          "sweet_spot_edge": -0.1667,
          "launch_angle_hr_bonus": 0.2
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0162,
    "raw_average_factor": 1.0162,
    "team_espn_average_rank": 195.11,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "LF",
        "player_id": "686217",
        "player_name": "Sal Frelick",
        "offense_factor": 0.9616,
        "quality_score": -0.5114,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "686217",
          "espn_id": 4417795,
          "player_name": "Sal Frelick",
          "team": "MIL",
          "role": "batter",
          "espn_rank": 494,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 494,
            "gp_value": 90.0,
            "gp_rank": "220",
            "ab_value": 276.0,
            "ab_rank": "223",
            "r_value": 33.0,
            "r_rank": "230",
            "h_value": 65.0,
            "h_rank": "225",
            "avg_value": 0.2355072,
            "avg_rank": null,
            "2b_value": 14.0,
            "2b_rank": "189",
            "3b_value": 0.0,
            "3b_rank": "281",
            "hr_value": 4.0,
            "hr_rank": "315",
            "rbi_value": 34.0,
            "rbi_rank": "216",
            "tb_value": 91.0,
            "tb_rank": "1921",
            "bb_value": 25.0,
            "bb_rank": "214",
            "so_value": 31.0,
            "so_rank": "385",
            "sb_value": 6.0,
            "sb_rank": "143",
            "obp_value": 0.3006535,
            "obp_rank": "-",
            "slg_value": 0.3297101,
            "slg_rank": "-",
            "ops_value": 0.6303636,
            "ops_rank": null,
            "war_value": -0.16,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 302.0,
          "k_percent": 9.9,
          "bb_percent": 8.0,
          "woba": 0.282,
          "xwoba": 0.281,
          "xba": 0.243,
          "xslg": 0.322,
          "sweet_spot_percent": 28.1,
          "barrel_batted_rate": 2.0,
          "hard_hit_percent": 27.8,
          "exit_velocity_avg": 85.9,
          "launch_angle_avg": 9.3,
          "whiff_percent": 10.7,
          "swing_percent": 42.8
        },
        "components": {
          "expected_quality": -0.5901,
          "regression_edge": -0.0286,
          "xwoba_edge": -0.6,
          "xba_edge": 0.2,
          "xslg_edge": -0.6429,
          "barrel_edge": -1.0444,
          "hard_hit_edge": -1.4286,
          "exit_velocity_edge": -1.08,
          "sweet_spot_edge": -0.8667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "592885",
        "player_name": "Christian Yelich",
        "offense_factor": 1.0222,
        "quality_score": 0.2958,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "592885",
          "espn_id": 31283,
          "player_name": "Christian Yelich",
          "team": "MIL",
          "role": "batter",
          "espn_rank": 396,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 396,
            "gp_value": 92.0,
            "gp_rank": "208",
            "ab_value": 351.0,
            "ab_rank": "155",
            "r_value": 54.0,
            "r_rank": "109",
            "h_value": 82.0,
            "h_rank": "160",
            "avg_value": 0.2336182,
            "avg_rank": 118.0,
            "2b_value": 20.0,
            "2b_rank": "92",
            "3b_value": 2.0,
            "3b_rank": "64",
            "hr_value": 9.0,
            "hr_rank": "187",
            "rbi_value": 45.0,
            "rbi_rank": "147",
            "tb_value": 133.0,
            "tb_rank": "941",
            "bb_value": 39.0,
            "bb_rank": "115",
            "so_value": 106.0,
            "so_rank": "77",
            "sb_value": 10.0,
            "sb_rank": "75",
            "obp_value": 0.3148614,
            "obp_rank": "103",
            "slg_value": 0.3789173,
            "slg_rank": "122",
            "ops_value": 0.6937787,
            "ops_rank": 19.0,
            "war_value": 0.02,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 373.0,
          "k_percent": 26.6,
          "bb_percent": 9.8,
          "woba": 0.305,
          "xwoba": 0.313,
          "xba": 0.234,
          "xslg": 0.391,
          "sweet_spot_percent": 30.1,
          "barrel_batted_rate": 10.1,
          "hard_hit_percent": 43.8,
          "exit_velocity_avg": 89.0,
          "launch_angle_avg": 2.9,
          "whiff_percent": 29.6,
          "swing_percent": 44.7
        },
        "components": {
          "expected_quality": 0.3068,
          "regression_edge": 0.2286,
          "xwoba_edge": 0.3143,
          "xba_edge": -0.0571,
          "xslg_edge": 0.3429,
          "barrel_edge": 0.7556,
          "hard_hit_edge": 0.8571,
          "exit_velocity_edge": 0.16,
          "sweet_spot_edge": -0.5333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "800325",
        "player_name": "Luis Lara",
        "offense_factor": 1.0101,
        "quality_score": 0.1348,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "800325",
          "espn_id": 5138536,
          "player_name": "Luis Lara",
          "team": "MIL",
          "role": "batter",
          "espn_rank": 231,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 231,
            "gp_value": 38.0,
            "gp_rank": "413",
            "ab_value": 112.0,
            "ab_rank": "407",
            "r_value": 15.0,
            "r_rank": "381",
            "h_value": 29.0,
            "h_rank": "380",
            "avg_value": 0.2589285,
            "avg_rank": null,
            "2b_value": 6.0,
            "2b_rank": "343",
            "3b_value": 2.0,
            "3b_rank": "64",
            "hr_value": 1.0,
            "hr_rank": "449",
            "rbi_value": 17.0,
            "rbi_rank": "347",
            "tb_value": 42.0,
            "tb_rank": "2198",
            "bb_value": 12.0,
            "bb_rank": "352",
            "so_value": 24.0,
            "so_rank": "432",
            "sb_value": 2.0,
            "sb_rank": "260",
            "obp_value": 0.328,
            "obp_rank": "-",
            "slg_value": 0.375,
            "slg_rank": "-",
            "ops_value": 0.703,
            "ops_rank": null,
            "war_value": 0.75,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 107.0,
          "k_percent": 19.2,
          "bb_percent": 9.6,
          "woba": 0.312,
          "xwoba": 0.315,
          "xba": 0.275,
          "xslg": 0.362,
          "sweet_spot_percent": 38.2,
          "barrel_batted_rate": 4.5,
          "hard_hit_percent": 41.6,
          "exit_velocity_avg": 89.3,
          "launch_angle_avg": 5.4,
          "whiff_percent": 18.3,
          "swing_percent": 40.7
        },
        "components": {
          "expected_quality": 0.3082,
          "regression_edge": 0.0857,
          "xwoba_edge": 0.3714,
          "xba_edge": 1.1143,
          "xslg_edge": -0.0714,
          "barrel_edge": -0.4889,
          "hard_hit_edge": 0.5429,
          "exit_velocity_edge": 0.28,
          "sweet_spot_edge": 0.8167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "669003",
        "player_name": "Garrett Mitchell",
        "offense_factor": 1.0729,
        "quality_score": 0.9723,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "669003",
          "espn_id": 4313442,
          "player_name": "Garrett Mitchell",
          "team": "MIL",
          "role": "batter",
          "espn_rank": 66,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 66,
            "gp_value": 119.0,
            "gp_rank": "105",
            "ab_value": 374.0,
            "ab_rank": "129",
            "r_value": 54.0,
            "r_rank": "109",
            "h_value": 98.0,
            "h_rank": "118",
            "avg_value": 0.262032,
            "avg_rank": 61.0,
            "2b_value": 26.0,
            "2b_rank": "27",
            "3b_value": 3.0,
            "3b_rank": "32",
            "hr_value": 9.0,
            "hr_rank": "187",
            "rbi_value": 54.0,
            "rbi_rank": "97",
            "tb_value": 157.0,
            "tb_rank": "770",
            "bb_value": 52.0,
            "bb_rank": "57",
            "so_value": 137.0,
            "so_rank": "24",
            "sb_value": 12.0,
            "sb_rank": "61",
            "obp_value": 0.3587962,
            "obp_rank": "33",
            "slg_value": 0.419786,
            "slg_rank": "80",
            "ops_value": 0.7785822,
            "ops_rank": 47.0,
            "war_value": 2.73,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 413.0,
          "k_percent": 31.6,
          "bb_percent": 12.0,
          "woba": 0.344,
          "xwoba": 0.349,
          "xba": 0.257,
          "xslg": 0.441,
          "sweet_spot_percent": 31.4,
          "barrel_batted_rate": 12.6,
          "hard_hit_percent": 51.5,
          "exit_velocity_avg": 92.9,
          "launch_angle_avg": 1.7,
          "whiff_percent": 36.4,
          "swing_percent": 43.1
        },
        "components": {
          "expected_quality": 1.1074,
          "regression_edge": 0.1429,
          "xwoba_edge": 1.3429,
          "xba_edge": 0.6,
          "xslg_edge": 1.0571,
          "barrel_edge": 1.3111,
          "hard_hit_edge": 1.9571,
          "exit_velocity_edge": 1.72,
          "sweet_spot_edge": -0.3167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "668930",
        "player_name": "Brice Turang",
        "offense_factor": 1.0465,
        "quality_score": 0.6196,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "668930",
          "espn_id": 41179,
          "player_name": "Brice Turang",
          "team": "MIL",
          "role": "batter",
          "espn_rank": 7,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 7,
            "gp_value": 122.0,
            "gp_rank": "88",
            "ab_value": 479.0,
            "ab_rank": "44",
            "r_value": 78.0,
            "r_rank": "21",
            "h_value": 123.0,
            "h_rank": "45",
            "avg_value": 0.2567849,
            "avg_rank": 71.0,
            "2b_value": 28.0,
            "2b_rank": "12",
            "3b_value": 3.0,
            "3b_rank": "32",
            "hr_value": 16.0,
            "hr_rank": "91",
            "rbi_value": 75.0,
            "rbi_rank": "23",
            "tb_value": 205.0,
            "tb_rank": "394",
            "bb_value": 70.0,
            "bb_rank": "16",
            "so_value": 138.0,
            "so_rank": "23",
            "sb_value": 18.0,
            "sb_rank": "31",
            "obp_value": 0.3502722,
            "obp_rank": "46",
            "slg_value": 0.4279749,
            "slg_rank": "70",
            "ops_value": 0.7782471,
            "ops_rank": 24.0,
            "war_value": 5.39,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 512.0,
          "k_percent": 24.9,
          "bb_percent": 12.6,
          "woba": 0.342,
          "xwoba": 0.339,
          "xba": 0.254,
          "xslg": 0.426,
          "sweet_spot_percent": 37.8,
          "barrel_batted_rate": 7.5,
          "hard_hit_percent": 41.5,
          "exit_velocity_avg": 90.2,
          "launch_angle_avg": 8.7,
          "whiff_percent": 22.8,
          "swing_percent": 43.2
        },
        "components": {
          "expected_quality": 0.7344,
          "regression_edge": -0.0857,
          "xwoba_edge": 1.0571,
          "xba_edge": 0.5143,
          "xslg_edge": 0.8429,
          "barrel_edge": 0.1778,
          "hard_hit_edge": 0.5286,
          "exit_velocity_edge": 0.64,
          "sweet_spot_edge": 0.75,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "661388",
        "player_name": "William Contreras",
        "offense_factor": 1.0587,
        "quality_score": 0.7821,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "661388",
          "espn_id": 39895,
          "player_name": "William Contreras",
          "team": "MIL",
          "role": "batter",
          "espn_rank": 97,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 97,
            "gp_value": 122.0,
            "gp_rank": "88",
            "ab_value": 468.0,
            "ab_rank": "60",
            "r_value": 65.0,
            "r_rank": "59",
            "h_value": 127.0,
            "h_rank": "35",
            "avg_value": 0.2713675,
            "avg_rank": 43.0,
            "2b_value": 21.0,
            "2b_rank": "78",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 12.0,
            "hr_rank": "139",
            "rbi_value": 65.0,
            "rbi_rank": "59",
            "tb_value": 186.0,
            "tb_rank": "786",
            "bb_value": 49.0,
            "bb_rank": "66",
            "so_value": 72.0,
            "so_rank": "184",
            "sb_value": 1.0,
            "sb_rank": "315",
            "obp_value": 0.3415559,
            "obp_rank": "55",
            "slg_value": 0.3974358,
            "slg_rank": "103",
            "ops_value": 0.7389917,
            "ops_rank": 158.0,
            "war_value": 2.03,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 499.0,
          "k_percent": 13.7,
          "bb_percent": 9.3,
          "woba": 0.325,
          "xwoba": 0.339,
          "xba": 0.266,
          "xslg": 0.444,
          "sweet_spot_percent": 32.8,
          "barrel_batted_rate": 8.0,
          "hard_hit_percent": 44.0,
          "exit_velocity_avg": 90.2,
          "launch_angle_avg": 12.0,
          "whiff_percent": 20.1,
          "swing_percent": 47.0
        },
        "components": {
          "expected_quality": 0.8443,
          "regression_edge": 0.4,
          "xwoba_edge": 1.0571,
          "xba_edge": 0.8571,
          "xslg_edge": 1.1,
          "barrel_edge": 0.2889,
          "hard_hit_edge": 0.8857,
          "exit_velocity_edge": 0.64,
          "sweet_spot_edge": -0.0833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "806198",
        "player_name": "Cooper Pratt",
        "offense_factor": 0.9971,
        "quality_score": -0.038,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "806198",
          "espn_id": 5149101,
          "player_name": "Cooper Pratt",
          "team": "MIL",
          "role": "batter",
          "espn_rank": 177,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 177,
            "gp_value": 49.0,
            "gp_rank": "383",
            "ab_value": 147.0,
            "ab_rank": "357",
            "r_value": 21.0,
            "r_rank": "321",
            "h_value": 38.0,
            "h_rank": "331",
            "avg_value": 0.2585034,
            "avg_rank": null,
            "2b_value": 5.0,
            "2b_rank": "365",
            "3b_value": 1.0,
            "3b_rank": "128",
            "hr_value": 2.0,
            "hr_rank": "396",
            "rbi_value": 18.0,
            "rbi_rank": "343",
            "tb_value": 51.0,
            "tb_rank": "2140",
            "bb_value": 18.0,
            "bb_rank": "285",
            "so_value": 35.0,
            "so_rank": "363",
            "sb_value": 10.0,
            "sb_rank": "75",
            "obp_value": 0.3333333,
            "obp_rank": "-",
            "slg_value": 0.3469387,
            "slg_rank": "-",
            "ops_value": 0.680272,
            "ops_rank": null,
            "war_value": 1.21,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 161.0,
          "k_percent": 20.3,
          "bb_percent": 10.5,
          "woba": 0.304,
          "xwoba": 0.309,
          "xba": 0.252,
          "xslg": 0.345,
          "sweet_spot_percent": 39.0,
          "barrel_batted_rate": 3.4,
          "hard_hit_percent": 29.7,
          "exit_velocity_avg": 87.1,
          "launch_angle_avg": 11.8,
          "whiff_percent": 25.1,
          "swing_percent": 45.9
        },
        "components": {
          "expected_quality": -0.0837,
          "regression_edge": 0.1429,
          "xwoba_edge": 0.2,
          "xba_edge": 0.4571,
          "xslg_edge": -0.3143,
          "barrel_edge": -0.7333,
          "hard_hit_edge": -1.1571,
          "exit_velocity_edge": -0.6,
          "sweet_spot_edge": 0.95,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "683734",
        "player_name": "Andrew Vaughn",
        "offense_factor": 1.0344,
        "quality_score": 0.4592,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "683734",
          "espn_id": 42394,
          "player_name": "Andrew Vaughn",
          "team": "MIL",
          "role": "batter",
          "espn_rank": 159,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 159,
            "gp_value": 86.0,
            "gp_rank": "240",
            "ab_value": 240.0,
            "ab_rank": "253",
            "r_value": 29.0,
            "r_rank": "253",
            "h_value": 74.0,
            "h_rank": "188",
            "avg_value": 0.3083333,
            "avg_rank": null,
            "2b_value": 16.0,
            "2b_rank": "155",
            "3b_value": 2.0,
            "3b_rank": "64",
            "hr_value": 5.0,
            "hr_rank": "289",
            "rbi_value": 37.0,
            "rbi_rank": "198",
            "tb_value": 109.0,
            "tb_rank": "1338",
            "bb_value": 31.0,
            "bb_rank": "175",
            "so_value": 42.0,
            "so_rank": "326",
            "sb_value": 0.0,
            "sb_rank": "421",
            "obp_value": 0.3956834,
            "obp_rank": "-",
            "slg_value": 0.4541666,
            "slg_rank": "-",
            "ops_value": 0.84985,
            "ops_rank": null,
            "war_value": 1.34,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 259.0,
          "k_percent": 15.1,
          "bb_percent": 11.2,
          "woba": 0.374,
          "xwoba": 0.342,
          "xba": 0.273,
          "xslg": 0.394,
          "sweet_spot_percent": 32.5,
          "barrel_batted_rate": 5.5,
          "hard_hit_percent": 43.5,
          "exit_velocity_avg": 90.0,
          "launch_angle_avg": 9.9,
          "whiff_percent": 20.2,
          "swing_percent": 38.6
        },
        "components": {
          "expected_quality": 0.6828,
          "regression_edge": -0.9143,
          "xwoba_edge": 1.1429,
          "xba_edge": 1.0571,
          "xslg_edge": 0.3857,
          "barrel_edge": -0.2667,
          "hard_hit_edge": 0.8143,
          "exit_velocity_edge": 0.56,
          "sweet_spot_edge": -0.1333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "666152",
        "player_name": "David Hamilton",
        "offense_factor": 0.9424,
        "quality_score": -0.7685,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "666152",
          "espn_id": 42987,
          "player_name": "David Hamilton",
          "team": "MIL",
          "role": "batter",
          "espn_rank": 129,
          "espn_total_ranked": 647,
          "metrics": {
            "espn_rank": 129,
            "gp_value": 98.0,
            "gp_rank": "179",
            "ab_value": 273.0,
            "ab_rank": "226",
            "r_value": 40.0,
            "r_rank": "185",
            "h_value": 65.0,
            "h_rank": "225",
            "avg_value": 0.2380952,
            "avg_rank": null,
            "2b_value": 10.0,
            "2b_rank": "254",
            "3b_value": 2.0,
            "3b_rank": "64",
            "hr_value": 4.0,
            "hr_rank": "315",
            "rbi_value": 22.0,
            "rbi_rank": "305",
            "tb_value": 91.0,
            "tb_rank": "1552",
            "bb_value": 30.0,
            "bb_rank": "183",
            "so_value": 70.0,
            "so_rank": "199",
            "sb_value": 24.0,
            "sb_rank": "13",
            "obp_value": 0.3157894,
            "obp_rank": "-",
            "slg_value": 0.3333333,
            "slg_rank": "-",
            "ops_value": 0.6491227,
            "ops_rank": null,
            "war_value": 1.65,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 290.0,
          "k_percent": 22.1,
          "bb_percent": 9.5,
          "woba": 0.294,
          "xwoba": 0.272,
          "xba": 0.214,
          "xslg": 0.302,
          "sweet_spot_percent": 27.9,
          "barrel_batted_rate": 3.7,
          "hard_hit_percent": 28.0,
          "exit_velocity_avg": 86.6,
          "launch_angle_avg": 12.3,
          "whiff_percent": 22.6,
          "swing_percent": 45.0
        },
        "components": {
          "expected_quality": -0.7913,
          "regression_edge": -0.6286,
          "xwoba_edge": -0.8571,
          "xba_edge": -0.6286,
          "xslg_edge": -0.9286,
          "barrel_edge": -0.6667,
          "hard_hit_edge": -1.4,
          "exit_velocity_edge": -0.8,
          "sweet_spot_edge": -0.9,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}

Savant Pitcher Quality

Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.

TeamPitcherAvailableESPN RankQualitySample WtRun PrevK FactorBB FactorHR FactorRegressionxwOBAwOBAK%BB%Whiff%Barrel%HardHit%
Away MILTrue31.423610.87901.16000.93600.8383neutral0.21900.211039.30637.903.8032.90
Home NYMTrue292-0.359911.03060.99200.97001.1224neutral0.33600.343023.107.7022.7011.3042.40

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away MILTrueNone8497.622563000000000.2800
Home NYMTrueNone9185.25211200000000-0.2575
Run FactorValue
away_runs_vs_home_pitcher1.0253
home_runs_vs_away_pitcher0.9245
home_pitcher_starter_only_factor1.0306
away_pitcher_starter_only_factor0.8800
home_pitcher_workload_share0.6667
away_pitcher_workload_share0.6667
home_pitcher_quality_edge-1.1890
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "640455",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 479.0,
      "k_percent": 23.1,
      "bb_percent": 7.7,
      "woba": 0.343,
      "xwoba": 0.336,
      "sweet_spot_percent": 36.8,
      "barrel_batted_rate": 11.3,
      "hard_hit_percent": 42.4,
      "avg_best_speed": 77.7894,
      "avg_hyper_speed": 94.671,
      "whiff_percent": 22.7,
      "swing_percent": 50.0
    },
    "league_medians": {
      "pa": 123.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.316,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.4,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.8,
      "avg_best_speed": 77.614,
      "avg_hyper_speed": 93.9187,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": -0.6513,
      "command_and_miss": 0.0207,
      "regression_edge": 0.2,
      "xwoba_edge": -0.7143,
      "barrel_edge": -0.9333,
      "hard_hit_edge": -0.6571,
      "whiff_edge": -0.3571,
      "bb_edge": 0.375,
      "pitch_design_score": -0.2575
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "640455",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 91,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 91,
        "pitch_usage": 0.0,
        "release_speed": 85.24923102451848,
        "release_spin_rate": 2111.7826014761895,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 91,
          "pitch_usage": 0.0,
          "release_speed": 85.24923102451848,
          "release_spin_rate": 2111.7826014761895,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        }
      ],
      "summary": {
        "release_speed": 85.2492,
        "release_spin_rate": 2111.7826,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.2575,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -1.8395,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -0.0
      },
      "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
    },
    "quality_score": -0.3599,
    "sample_weight": 1.0,
    "run_prevention_factor": 1.0306,
    "strikeout_factor": 0.992,
    "walk_factor": 0.97,
    "homer_factor": 1.1224,
    "woba_minus_xwoba": 0.007,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "640455",
      "espn_id": 33244,
      "player_name": "Sean Manaea",
      "team": "NYM",
      "role": "pitcher",
      "espn_rank": 292,
      "espn_total_ranked": 831,
      "metrics": {
        "espn_rank": 292,
        "gp_value": 27.0,
        "gp_rank": 223,
        "gs_value": 13.0,
        "gs_rank": 143,
        "qs_value": 6.0,
        "qs_rank": 83,
        "era_value": 4.3076,
        "era_rank": null,
        "w_value": 4.0,
        "w_rank": 175,
        "l_value": 5.0,
        "l_rank": 123,
        "sv_value": 0.0,
        "sv_rank": 241,
        "hld_value": 0.0,
        "hld_rank": 331,
        "ip_value": 117.0,
        "ip_rank": 87,
        "h_value": 114.0,
        "h_rank": 72,
        "er_value": 56.0,
        "er_rank": 60,
        "hr_value": 19.0,
        "hr_rank": 30,
        "bb_value": 39.0,
        "bb_rank": 71,
        "k_value": 117.0,
        "k_rank": 58,
        "k_per_9_value": 9.0,
        "k_per_9_rank": 18.0,
        "whip_value": 1.3076,
        "whip_rank": null,
        "war_value": 0.31,
        "war_rank": null
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "694819",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 525.0,
      "k_percent": 39.3,
      "bb_percent": 6.0,
      "woba": 0.211,
      "xwoba": 0.219,
      "sweet_spot_percent": 33.6,
      "barrel_batted_rate": 3.8,
      "hard_hit_percent": 32.9,
      "avg_best_speed": 75.9061,
      "avg_hyper_speed": 92.9088,
      "whiff_percent": 37.9,
      "swing_percent": 51.4
    },
    "league_medians": {
      "pa": 123.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.316,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.4,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.8,
      "avg_best_speed": 77.614,
      "avg_hyper_speed": 93.9187,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 1.6575,
      "command_and_miss": 1.9071,
      "regression_edge": -0.2286,
      "xwoba_edge": 2.5,
      "barrel_edge": 0.7333,
      "hard_hit_edge": 0.7,
      "whiff_edge": 1.8143,
      "bb_edge": 0.8,
      "pitch_design_score": 0.28
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "694819",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 84,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 84,
        "pitch_usage": 0.0,
        "release_speed": 97.61667244035621,
        "release_spin_rate": 2563.200146698222,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 84,
          "pitch_usage": 0.0,
          "release_speed": 97.61667244035621,
          "release_spin_rate": 2563.200146698222,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        }
      ],
      "summary": {
        "release_speed": 97.6167,
        "release_spin_rate": 2563.2001,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.28,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 2.0,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -0.0
      },
      "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
    },
    "quality_score": 1.4236,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.879,
    "strikeout_factor": 1.16,
    "walk_factor": 0.936,
    "homer_factor": 0.8383,
    "woba_minus_xwoba": -0.008,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "694819",
      "espn_id": 5080761,
      "player_name": "Jacob Misiorowski",
      "team": "MIL",
      "role": "pitcher",
      "espn_rank": 3,
      "espn_total_ranked": 831,
      "metrics": {
        "espn_rank": 3,
        "gp_value": 24.0,
        "gp_rank": 299,
        "gs_value": 24.0,
        "gs_rank": 48,
        "qs_value": 16.0,
        "qs_rank": 5,
        "era_value": 1.6758,
        "era_rank": 1.0,
        "w_value": 13.0,
        "w_rank": 6,
        "l_value": 5.0,
        "l_rank": 123,
        "sv_value": 0.0,
        "sv_rank": 241,
        "hld_value": 0.0,
        "hld_rank": 331,
        "ip_value": 145.0,
        "ip_rank": 28,
        "h_value": 77.0,
        "h_rank": 139,
        "er_value": 27.0,
        "er_rank": 197,
        "hr_value": 13.0,
        "hr_rank": 107,
        "bb_value": 33.0,
        "bb_rank": 119,
        "k_value": 216.0,
        "k_rank": 1,
        "k_per_9_value": 13.406897,
        "k_per_9_rank": null,
        "whip_value": 0.7586,
        "whip_rank": 1.0,
        "war_value": 5.45,
        "war_rank": 1.0
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 1.0253,
    "home_runs_vs_away_pitcher": 0.9245,
    "home_pitcher_starter_only_factor": 1.0306,
    "away_pitcher_starter_only_factor": 0.88,
    "home_pitcher_workload_share": 0.6667,
    "away_pitcher_workload_share": 0.6667,
    "home_pitcher_quality_edge": -1.189
  },
  "score_before": {
    "away_runs": 4.0,
    "home_runs": 2.0
  },
  "score_after": {
    "away_runs": 4.1014,
    "home_runs": 1.8489,
    "home_win_probability": 0.2871
  },
  "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 MIL6-40.6005.502.60292Lhotstrong
Home NYM7-30.7003.903.1081Waveragestrong

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away MIL81-510.6141601.212True
Home NYM60-720.455-39-0.295True
Signal---1.508-1.211applied=True

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-08-25MIL @ NYM2 - 3NYM1close
2026-07-22NYM @ MIL3 - 4MIL1close
2026-07-21NYM @ MIL4 - 0NYM4blowout
2026-07-20NYM @ MIL3 - 8MIL5blowout

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target MIL--4----
Game target NYM--2----
Player finalized MIL33951437
Player finalized NYM35841438
Player model fractional MIL31.918.254.350.693.893.196.94
Player model fractional NYM33.207.773.761.173.482.948.10
Simulation box MIL35841428
Simulation box NYM292202311

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 MILStarterJacob Misiorowski618022.470.85True
Away MILSetup ManAaron Ashby110212.371.09True
Away MILMiddle Reliever (High Leverage)Chad Patrick102003.151.52True
Away MILCloserTrevor Megill101001.690.91True
Home NYMStarterSean Manaea6.1024513.961.24True
Home NYMSetup ManDaniel Duarte100003.020.95True
Home NYMCloserKodai Senga122304.951.51True
Home NYMMiddle Reliever (High Leverage)Nathan Lavender0.2002013.251.00True
Market-line comparison is not rendered because no local odds or sportsbook line CSV was found in data/. Add a real odds source before using market deltas as a model feature.

Player Boost/Deboost Impact Summary

SideTeamRolePosPlayerDominantChangedBoostedDeboostedBetterWorseLargest MetricLargest DeltaDirectionEffect
awayMILpitcherStarterJacob Misiorowskibetter11010predicted_SO3.0000boostbetter
awayMILpitcherSetup ManAaron Ashbyworse10101predicted_SO-3.0000deboostworse
homeNYMbatterSSFrancisco Lindorworse12111012predicted_SO2.1920boostworse
homeNYMbatter2BMarcus Semienworse1129110predicted_AB-1.8400deboostworse
awayMILbatterLFSal Frelickbetter96372predicted_AB1.8350boostbetter
homeNYMbatterCFA.J. Ewingworse114756predicted_RBI1.6890boostbetter
homeNYMbatter3BBo Bichetteworse1129110predicted_AB-1.6400deboostworse
awayMILbatterCWilliam Contrerasbetter117483predicted_RBI1.5200boostbetter
homeNYMbatterCFrancisco Alvarezworse1111029predicted_AB-1.2950deboostworse
awayMILbatterRFLuis Laraworse115647predicted_SO1.2730boostworse
awayMILbatter2BBrice Turangworse102819predicted_AB-1.1700deboostworse
awayMILbatterDHChristian Yelichworse113847predicted_SO-1.1590deboostbetter
homeNYMbatterRFCarson Bengeworse115647predicted_SO1.1150boostworse
awayMILbatter3BDavid Hamiltonworse104637predicted_2B0.8900boostbetter
awayMILbatterSSCooper Prattworse103728predicted_AB0.8670boostbetter
homeNYMbatterDHLuis Robert Jr.worse103737predicted_H-0.8200deboostworse
homeNYMbatter1BJared Youngworse92718predicted_H-0.8000deboostworse
awayMILbatter1BAndrew Vaughnbetter107364predicted_BB0.6540boostbetter
homeNYMbatterLFBrett Batyneutral105555predicted_R0.6060boostbetter
awayMILbatterCFGarrett Mitchellbetter115665predicted_R0.5410boostbetter
homeNYMpitcherMiddle Reliever (High Leverage)Nathan Lavenderworse10101predicted_IP-0.4667deboostworse
homeNYMpitcherStarterSean Manaeaworse10101predicted_IP-0.2333deboostworse

This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.

Away Team: MIL

Away Pitcher Deep Analysis

FieldValue
PitcherJacob Misiorowski
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score1.4236
ESPN Rank3
Movement AvailableTrue
Primary Pitch-
Movement Score0.2800
Avg Velo97.6167
Avg Spin2563.2001
HB Inches0
IVB Inches0
Release Extension0
Pre IP6
Pre ER1
Pre H0
Pre BB2
Pre SO8
Season ERA1.6759
Season WHIP0.7586
Role Avg IP6.0420
Recent Avg IP6
Last Start IP6
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "MIL",
    "games": 132,
    "wins": 81,
    "losses": 51,
    "win_pct": 0.6136,
    "runs_scored": 652.0,
    "runs_allowed": 492.0,
    "run_differential": 160.0,
    "run_differential_per_game": 1.2121,
    "avg_runs_scored": 4.9394,
    "avg_runs_allowed": 3.7273,
    "offense_index": 1.1027,
    "defense_index": 1.2018,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 2.6,
      "run_differential": 29.0
    },
    "available": true,
    "quality_score": 0.2804
  },
  "opponent": {
    "team": "NYM",
    "games": 132,
    "wins": 60,
    "losses": 72,
    "win_pct": 0.4545,
    "runs_scored": 549.0,
    "runs_allowed": 588.0,
    "run_differential": -39.0,
    "run_differential_per_game": -0.2955,
    "avg_runs_scored": 4.1591,
    "avg_runs_allowed": 4.4545,
    "offense_index": 0.9285,
    "defense_index": 1.0056,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 3.9,
      "avg_runs_allowed": 3.1,
      "run_differential": 8.0
    },
    "available": true,
    "quality_score": -0.005
  },
  "edges": {
    "quality_edge": 0.2854,
    "offense_edge": 0.1027,
    "opponent_offense_edge": -0.0715,
    "defense_strength": 0.2018,
    "opponent_defense_weakness": -0.0056,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0203,
    "run_prevention": 0.9541,
    "strikeout": 1.0143
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "694819",
    "profile": {
      "available": true,
      "pitcher_id": "694819",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 525.0,
        "k_percent": 39.3,
        "bb_percent": 6.0,
        "woba": 0.211,
        "xwoba": 0.219,
        "sweet_spot_percent": 33.6,
        "barrel_batted_rate": 3.8,
        "hard_hit_percent": 32.9,
        "avg_best_speed": 75.9061,
        "avg_hyper_speed": 92.9088,
        "whiff_percent": 37.9,
        "swing_percent": 51.4
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.6575,
        "command_and_miss": 1.9071,
        "regression_edge": -0.2286,
        "xwoba_edge": 2.5,
        "barrel_edge": 0.7333,
        "hard_hit_edge": 0.7,
        "whiff_edge": 1.8143,
        "bb_edge": 0.8,
        "pitch_design_score": 0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "694819",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 84,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 84,
          "pitch_usage": 0.0,
          "release_speed": 97.61667244035621,
          "release_spin_rate": 2563.200146698222,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 84,
            "pitch_usage": 0.0,
            "release_speed": 97.61667244035621,
            "release_spin_rate": 2563.200146698222,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 97.6167,
          "release_spin_rate": 2563.2001,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.28,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 2.0,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 1.4236,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.879,
      "strikeout_factor": 1.16,
      "walk_factor": 0.936,
      "homer_factor": 0.8383,
      "woba_minus_xwoba": -0.008,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "694819",
        "espn_id": 5080761,
        "player_name": "Jacob Misiorowski",
        "team": "MIL",
        "role": "pitcher",
        "espn_rank": 3,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 3,
          "gp_value": 24.0,
          "gp_rank": 299,
          "gs_value": 24.0,
          "gs_rank": 48,
          "qs_value": 16.0,
          "qs_rank": 5,
          "era_value": 1.6758,
          "era_rank": 1.0,
          "w_value": 13.0,
          "w_rank": 6,
          "l_value": 5.0,
          "l_rank": 123,
          "sv_value": 0.0,
          "sv_rank": 241,
          "hld_value": 0.0,
          "hld_rank": 331,
          "ip_value": 145.0,
          "ip_rank": 28,
          "h_value": 77.0,
          "h_rank": 139,
          "er_value": 27.0,
          "er_rank": 197,
          "hr_value": 13.0,
          "hr_rank": 107,
          "bb_value": 33.0,
          "bb_rank": 119,
          "k_value": 216.0,
          "k_rank": 1,
          "k_per_9_value": 13.406897,
          "k_per_9_rank": null,
          "whip_value": 0.7586,
          "whip_rank": 1.0,
          "war_value": 5.45,
          "war_rank": 1.0
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.879,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 3.0,
        "factor": 0.879,
        "adjusted": 3
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.936,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 0.8383,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 9.0,
        "factor": 1.16,
        "adjusted": 10
      }
    }
  }
}
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": 58.0,
    "ER": 14,
    "H": 35,
    "BB": 11,
    "SO": 85,
    "HR": 9,
    "ERA": 2.1724137931034484,
    "WHIP": 0.7931034482758621,
    "K9": 13.189655172413794,
    "HR9": 1.396551724137931,
    "games_pitched": 10,
    "quality_starts": 7,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-21T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "694819",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 84,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 84,
    "pitch_usage": 0.0,
    "release_speed": 97.61667244035621,
    "release_spin_rate": 2563.200146698222,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 84,
      "pitch_usage": 0.0,
      "release_speed": 97.61667244035621,
      "release_spin_rate": 2563.200146698222,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 97.6167,
    "release_spin_rate": 2563.2001,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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": 24.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8276,
    "prior_weight": 0.1724
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "694819",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 24,
  "reference_playing_time": 6.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 30.0,
        "ER": 7.0,
        "R": 7.0,
        "H": 16.0,
        "BB": 5.0,
        "SO": 43.0,
        "HR": 4.0,
        "BF": 111.0,
        "Pitches": 454.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 1.4,
        "R": 1.4,
        "H": 3.2,
        "BB": 1.0,
        "SO": 8.6,
        "HR": 0.8,
        "BF": 22.2,
        "Pitches": 90.8
      },
      "rates": {
        "ERA": 2.1,
        "WHIP": 0.7,
        "ER_per_IP": 0.23333,
        "H_per_IP": 0.53333,
        "BB_per_IP": 0.16667,
        "SO_per_IP": 1.43333,
        "HR_per_IP": 0.13333
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 58.0,
        "ER": 14.0,
        "R": 19.0,
        "H": 35.0,
        "BB": 11.0,
        "SO": 85.0,
        "HR": 9.0,
        "BF": 221.0,
        "Pitches": 902.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 1.4,
        "R": 1.9,
        "H": 3.5,
        "BB": 1.1,
        "SO": 8.5,
        "HR": 0.9,
        "BF": 22.1,
        "Pitches": 90.2
      },
      "rates": {
        "ERA": 2.1724,
        "WHIP": 0.7931,
        "ER_per_IP": 0.24138,
        "H_per_IP": 0.60345,
        "BB_per_IP": 0.18966,
        "SO_per_IP": 1.46552,
        "HR_per_IP": 0.15517
      }
    },
    "season": {
      "games": 24,
      "totals": {
        "IP": 145.0,
        "ER": 27.0,
        "R": 35.0,
        "H": 77.0,
        "BB": 33.0,
        "SO": 216.0,
        "HR": 13.0,
        "BF": 550.0,
        "Pitches": 2179.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 1.125,
        "R": 1.4583,
        "H": 3.2083,
        "BB": 1.375,
        "SO": 9.0,
        "HR": 0.5417,
        "BF": 22.9167,
        "Pitches": 90.7917
      },
      "rates": {
        "ERA": 1.6759,
        "WHIP": 0.7586,
        "ER_per_IP": 0.18621,
        "H_per_IP": 0.53103,
        "BB_per_IP": 0.22759,
        "SO_per_IP": 1.48966,
        "HR_per_IP": 0.08966
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 6.0,
    "predicted_ER": 1.617,
    "predicted_H": 3.715,
    "predicted_BB": 1.287,
    "predicted_SO": 8.075,
    "predicted_HR": 0.795,
    "predicted_ERA": 2.4656,
    "predicted_WHIP": 0.8474
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4228,
  "form_weight": 0.5772,
  "form_reliability": 0.8276,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 24.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8276,
    "prior_weight": 0.1724
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 6.0,
      "form": 6.0,
      "final": 6.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 1.617,
      "final": 1.3561,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 3.715,
      "final": 2.1442,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 1.287,
      "final": 1.5885,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 5.0,
      "form": 8.075,
      "final": 6.7748,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.795,
      "final": 0.4588,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.4656,
      "final": 2.4656,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.8474,
      "final": 0.8474,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherAaron Ashby
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.7826
ESPN Rank192
Movement AvailableTrue
Primary Pitch-
Movement Score0.1465
Avg Velo92.4637
Avg Spin2246.7855
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H2
Pre BB1
Pre SO0
Season ERA3.2838
Season WHIP1.3649
Role Avg IP1.1750
Recent Avg IP1.1330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "MIL",
    "games": 132,
    "wins": 81,
    "losses": 51,
    "win_pct": 0.6136,
    "runs_scored": 652.0,
    "runs_allowed": 492.0,
    "run_differential": 160.0,
    "run_differential_per_game": 1.2121,
    "avg_runs_scored": 4.9394,
    "avg_runs_allowed": 3.7273,
    "offense_index": 1.1027,
    "defense_index": 1.2018,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 2.6,
      "run_differential": 29.0
    },
    "available": true,
    "quality_score": 0.2804
  },
  "opponent": {
    "team": "NYM",
    "games": 132,
    "wins": 60,
    "losses": 72,
    "win_pct": 0.4545,
    "runs_scored": 549.0,
    "runs_allowed": 588.0,
    "run_differential": -39.0,
    "run_differential_per_game": -0.2955,
    "avg_runs_scored": 4.1591,
    "avg_runs_allowed": 4.4545,
    "offense_index": 0.9285,
    "defense_index": 1.0056,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 3.9,
      "avg_runs_allowed": 3.1,
      "run_differential": 8.0
    },
    "available": true,
    "quality_score": -0.005
  },
  "edges": {
    "quality_edge": 0.2854,
    "offense_edge": 0.1027,
    "opponent_offense_edge": -0.0715,
    "defense_strength": 0.2018,
    "opponent_defense_weakness": -0.0056,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0203,
    "run_prevention": 0.9541,
    "strikeout": 1.0143
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "676879",
    "profile": {
      "available": true,
      "pitcher_id": "676879",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 302.0,
        "k_percent": 31.7,
        "bb_percent": 11.2,
        "woba": 0.293,
        "xwoba": 0.264,
        "sweet_spot_percent": 28.0,
        "barrel_batted_rate": 4.4,
        "hard_hit_percent": 39.6,
        "avg_best_speed": 75.7923,
        "avg_hyper_speed": 94.4446,
        "whiff_percent": 31.9,
        "swing_percent": 40.8
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.83,
        "command_and_miss": 0.8586,
        "regression_edge": 0.8286,
        "xwoba_edge": 1.3429,
        "barrel_edge": 0.6,
        "hard_hit_edge": -0.2571,
        "whiff_edge": 0.9571,
        "bb_edge": -0.5,
        "pitch_design_score": 0.1465
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "676879",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 17,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 17,
          "pitch_usage": 0.0,
          "release_speed": 92.46372937950683,
          "release_spin_rate": 2246.7854933486437,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 17,
            "pitch_usage": 0.0,
            "release_speed": 92.46372937950683,
            "release_spin_rate": 2246.7854933486437,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.4637,
          "release_spin_rate": 2246.7855,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1465,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.0463,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.7826,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9335,
      "strikeout_factor": 1.0937,
      "walk_factor": 1.04,
      "homer_factor": 0.922,
      "woba_minus_xwoba": 0.029,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "676879",
        "espn_id": 41325,
        "player_name": "Aaron Ashby",
        "team": "MIL",
        "role": "pitcher",
        "espn_rank": 192,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 192,
          "gp_value": 62.0,
          "gp_rank": 7,
          "gs_value": 1.0,
          "gs_rank": 290,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 3.2837,
          "era_rank": null,
          "w_value": 13.0,
          "w_rank": 6,
          "l_value": 2.0,
          "l_rank": 301,
          "sv_value": 2.0,
          "sv_rank": 84,
          "hld_value": 12.0,
          "hld_rank": 50,
          "ip_value": 74.0,
          "ip_rank": 157,
          "h_value": 65.0,
          "h_rank": 159,
          "er_value": 27.0,
          "er_rank": 197,
          "hr_value": 6.0,
          "hr_rank": 251,
          "bb_value": 36.0,
          "bb_rank": 90,
          "k_value": 102.0,
          "k_rank": 83,
          "k_per_9_value": 12.405405,
          "k_per_9_rank": 14.0,
          "whip_value": 1.3648,
          "whip_rank": null,
          "war_value": 0.84,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9335,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9335,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.04,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.922,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0937,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 11.1,
    "ER": 1,
    "H": 7,
    "BB": 4,
    "SO": 16,
    "HR": 1,
    "ERA": 0.7941176470588236,
    "WHIP": 0.9705882352941178,
    "K9": 12.705882352941178,
    "HR9": 0.7941176470588236,
    "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-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "676879",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 17,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 17,
    "pitch_usage": 0.0,
    "release_speed": 92.46372937950683,
    "release_spin_rate": 2246.7854933486437,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 17,
      "pitch_usage": 0.0,
      "release_speed": 92.46372937950683,
      "release_spin_rate": 2246.7854933486437,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.4637,
    "release_spin_rate": 2246.7855,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1465,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.0463,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 14.851,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7481,
    "prior_weight": 0.2519
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "676879",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 62,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 3.0,
        "BB": 2.0,
        "SO": 5.0,
        "HR": 1.0,
        "BF": 20.0,
        "Pitches": 91.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.6,
        "BB": 0.4,
        "SO": 1.0,
        "HR": 0.2,
        "BF": 4.0,
        "Pitches": 18.2
      },
      "rates": {
        "ERA": 1.5882,
        "WHIP": 0.8824,
        "ER_per_IP": 0.17647,
        "H_per_IP": 0.52941,
        "BB_per_IP": 0.35294,
        "SO_per_IP": 0.88235,
        "HR_per_IP": 0.17647
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 7.0,
        "BB": 4.0,
        "SO": 16.0,
        "HR": 1.0,
        "BF": 45.0,
        "Pitches": 200.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.1,
        "H": 0.7,
        "BB": 0.4,
        "SO": 1.6,
        "HR": 0.1,
        "BF": 4.5,
        "Pitches": 20.0
      },
      "rates": {
        "ERA": 0.7941,
        "WHIP": 0.9706,
        "ER_per_IP": 0.08824,
        "H_per_IP": 0.61765,
        "BB_per_IP": 0.35294,
        "SO_per_IP": 1.41176,
        "HR_per_IP": 0.08824
      }
    },
    "season": {
      "games": 62,
      "totals": {
        "IP": 74.0,
        "ER": 27.0,
        "R": 32.0,
        "H": 65.0,
        "BB": 36.0,
        "SO": 102.0,
        "HR": 6.0,
        "BF": 322.0,
        "Pitches": 1322.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.4355,
        "R": 0.5161,
        "H": 1.0484,
        "BB": 0.5806,
        "SO": 1.6452,
        "HR": 0.0968,
        "BF": 5.1935,
        "Pitches": 21.3226
      },
      "rates": {
        "ERA": 3.2838,
        "WHIP": 1.3649,
        "ER_per_IP": 0.36486,
        "H_per_IP": 0.87838,
        "BB_per_IP": 0.48649,
        "SO_per_IP": 1.37838,
        "HR_per_IP": 0.08108
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.276,
    "predicted_H": 0.753,
    "predicted_BB": 0.395,
    "predicted_SO": 1.167,
    "predicted_HR": 0.138,
    "predicted_ERA": 2.369,
    "predicted_WHIP": 1.0936
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4564,
  "form_weight": 0.5436,
  "form_reliability": 0.7481,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 14.851,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7481,
    "prior_weight": 0.2519
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.276,
      "final": 0.6065,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.753,
      "final": 1.3222,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.395,
      "final": 0.6711,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 3.0,
      "form": 1.167,
      "final": 2.0036,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.138,
      "final": 0.075,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.369,
      "final": 2.369,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0936,
      "final": 1.0936,
      "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
PitcherChad Patrick
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.0322
ESPN Rank105
Movement AvailableTrue
Primary Pitch-
Movement Score0.1554
Avg Velo92.6221
Avg Spin2361.3166
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO2
Season ERA3.0436
Season WHIP1.2000
Role Avg IP1.6670
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "MIL",
    "games": 132,
    "wins": 81,
    "losses": 51,
    "win_pct": 0.6136,
    "runs_scored": 652.0,
    "runs_allowed": 492.0,
    "run_differential": 160.0,
    "run_differential_per_game": 1.2121,
    "avg_runs_scored": 4.9394,
    "avg_runs_allowed": 3.7273,
    "offense_index": 1.1027,
    "defense_index": 1.2018,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 2.6,
      "run_differential": 29.0
    },
    "available": true,
    "quality_score": 0.2804
  },
  "opponent": {
    "team": "NYM",
    "games": 132,
    "wins": 60,
    "losses": 72,
    "win_pct": 0.4545,
    "runs_scored": 549.0,
    "runs_allowed": 588.0,
    "run_differential": -39.0,
    "run_differential_per_game": -0.2955,
    "avg_runs_scored": 4.1591,
    "avg_runs_allowed": 4.4545,
    "offense_index": 0.9285,
    "defense_index": 1.0056,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 3.9,
      "avg_runs_allowed": 3.1,
      "run_differential": 8.0
    },
    "available": true,
    "quality_score": -0.005
  },
  "edges": {
    "quality_edge": 0.2854,
    "offense_edge": 0.1027,
    "opponent_offense_edge": -0.0715,
    "defense_strength": 0.2018,
    "opponent_defense_weakness": -0.0056,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0203,
    "run_prevention": 0.9541,
    "strikeout": 1.0143
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "694477",
    "profile": {
      "available": true,
      "pitcher_id": "694477",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 354.0,
        "k_percent": 21.7,
        "bb_percent": 9.5,
        "woba": 0.301,
        "xwoba": 0.311,
        "sweet_spot_percent": 34.1,
        "barrel_batted_rate": 6.2,
        "hard_hit_percent": 38.4,
        "avg_best_speed": 77.9829,
        "avg_hyper_speed": 94.0785,
        "whiff_percent": 26.3,
        "swing_percent": 48.8
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.0767,
        "command_and_miss": 0.0207,
        "regression_edge": -0.2857,
        "xwoba_edge": 0.0,
        "barrel_edge": 0.2,
        "hard_hit_edge": -0.0857,
        "whiff_edge": 0.1571,
        "bb_edge": -0.075,
        "pitch_design_score": 0.1554
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "694477",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 15,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 15,
          "pitch_usage": 0.0,
          "release_speed": 92.6221076037981,
          "release_spin_rate": 2361.3165536852007,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 15,
            "pitch_usage": 0.0,
            "release_speed": 92.6221076037981,
            "release_spin_rate": 2361.3165536852007,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.6221,
          "release_spin_rate": 2361.3166,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1554,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.1097,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.0322,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9973,
      "strikeout_factor": 1.0046,
      "walk_factor": 1.006,
      "homer_factor": 0.9874,
      "woba_minus_xwoba": -0.01,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "694477",
        "espn_id": 5131708,
        "player_name": "Chad Patrick",
        "team": "MIL",
        "role": "pitcher",
        "espn_rank": 105,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 105,
          "gp_value": 45.0,
          "gp_rank": 112,
          "gs_value": 6.0,
          "gs_rank": 196,
          "qs_value": 1.0,
          "qs_rank": 173,
          "era_value": 3.3381,
          "era_rank": null,
          "w_value": 7.0,
          "w_rank": 73,
          "l_value": 4.0,
          "l_rank": 162,
          "sv_value": 5.0,
          "sv_rank": 41,
          "hld_value": 9.0,
          "hld_rank": 89,
          "ip_value": 91.2,
          "ip_rank": 123,
          "h_value": 78.0,
          "h_rank": 137,
          "er_value": 34.0,
          "er_rank": 158,
          "hr_value": 9.0,
          "hr_rank": 163,
          "bb_value": 35.0,
          "bb_rank": 103,
          "k_value": 82.0,
          "k_rank": 129,
          "k_per_9_value": 8.050909,
          "k_per_9_rank": 28.0,
          "whip_value": 1.2327,
          "whip_rank": null,
          "war_value": 1.56,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9973,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9973,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.006,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9874,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0046,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 11.1,
    "ER": 2,
    "H": 9,
    "BB": 5,
    "SO": 14,
    "HR": 1,
    "ERA": 1.588235294117647,
    "WHIP": 1.2352941176470587,
    "K9": 11.117647058823529,
    "HR9": 0.7941176470588235,
    "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-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "694477",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 15,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 15,
    "pitch_usage": 0.0,
    "release_speed": 92.6221076037981,
    "release_spin_rate": 2361.3165536852007,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 15,
      "pitch_usage": 0.0,
      "release_speed": 92.6221076037981,
      "release_spin_rate": 2361.3165536852007,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.6221,
    "release_spin_rate": 2361.3166,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1554,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.1097,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.397,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7863,
    "prior_weight": 0.2137
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "694477",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 44,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 7.0,
        "BB": 3.0,
        "SO": 4.0,
        "HR": 1.0,
        "BF": 24.0,
        "Pitches": 105.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.4,
        "BB": 0.6,
        "SO": 0.8,
        "HR": 0.2,
        "BF": 4.8,
        "Pitches": 21.0
      },
      "rates": {
        "ERA": 3.6,
        "WHIP": 2.0,
        "ER_per_IP": 0.4,
        "H_per_IP": 1.4,
        "BB_per_IP": 0.6,
        "SO_per_IP": 0.8,
        "HR_per_IP": 0.2
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 9.0,
        "BB": 5.0,
        "SO": 14.0,
        "HR": 1.0,
        "BF": 47.0,
        "Pitches": 201.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.9,
        "BB": 0.5,
        "SO": 1.4,
        "HR": 0.1,
        "BF": 4.7,
        "Pitches": 20.1
      },
      "rates": {
        "ERA": 1.5882,
        "WHIP": 1.2353,
        "ER_per_IP": 0.17647,
        "H_per_IP": 0.79412,
        "BB_per_IP": 0.44118,
        "SO_per_IP": 1.23529,
        "HR_per_IP": 0.08824
      }
    },
    "season": {
      "games": 44,
      "totals": {
        "IP": 91.2,
        "ER": 31.0,
        "R": 31.0,
        "H": 75.0,
        "BB": 35.0,
        "SO": 82.0,
        "HR": 7.0,
        "BF": 374.0,
        "Pitches": 1487.0
      },
      "per_game": {
        "IP": 2.0,
        "ER": 0.7045,
        "R": 0.7045,
        "H": 1.7045,
        "BB": 0.7955,
        "SO": 1.8636,
        "HR": 0.1591,
        "BF": 8.5,
        "Pitches": 33.7955
      },
      "rates": {
        "ERA": 3.0436,
        "WHIP": 1.2,
        "ER_per_IP": 0.33818,
        "H_per_IP": 0.81818,
        "BB_per_IP": 0.38182,
        "SO_per_IP": 0.89455,
        "HR_per_IP": 0.07636
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.405,
    "predicted_H": 1.216,
    "predicted_BB": 0.547,
    "predicted_SO": 1.118,
    "predicted_HR": 0.16,
    "predicted_ERA": 3.1525,
    "predicted_WHIP": 1.5232
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4403,
  "form_weight": 0.5597,
  "form_reliability": 0.7863,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 18.397,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7863,
    "prior_weight": 0.2137
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.405,
      "final": 0.2267,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.216,
      "final": 0.6806,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.547,
      "final": 0.3062,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.118,
      "final": 1.5063,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.16,
      "final": 0.0896,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.1525,
      "final": 3.1525,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.5232,
      "final": 1.5232,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherTrevor Megill
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5219
ESPN Rank79
Movement AvailableTrue
Primary Pitch-
Movement Score0.2632
Avg Velo94.5471
Avg Spin2503.6529
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA1.5779
Season WHIP0.8182
Role Avg IP1.0070
Recent Avg IP1.2000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "MIL",
    "games": 132,
    "wins": 81,
    "losses": 51,
    "win_pct": 0.6136,
    "runs_scored": 652.0,
    "runs_allowed": 492.0,
    "run_differential": 160.0,
    "run_differential_per_game": 1.2121,
    "avg_runs_scored": 4.9394,
    "avg_runs_allowed": 3.7273,
    "offense_index": 1.1027,
    "defense_index": 1.2018,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 2.6,
      "run_differential": 29.0
    },
    "available": true,
    "quality_score": 0.2804
  },
  "opponent": {
    "team": "NYM",
    "games": 132,
    "wins": 60,
    "losses": 72,
    "win_pct": 0.4545,
    "runs_scored": 549.0,
    "runs_allowed": 588.0,
    "run_differential": -39.0,
    "run_differential_per_game": -0.2955,
    "avg_runs_scored": 4.1591,
    "avg_runs_allowed": 4.4545,
    "offense_index": 0.9285,
    "defense_index": 1.0056,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 3.9,
      "avg_runs_allowed": 3.1,
      "run_differential": 8.0
    },
    "available": true,
    "quality_score": -0.005
  },
  "edges": {
    "quality_edge": 0.2854,
    "offense_edge": 0.1027,
    "opponent_offense_edge": -0.0715,
    "defense_strength": 0.2018,
    "opponent_defense_weakness": -0.0056,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0203,
    "run_prevention": 0.9541,
    "strikeout": 1.0143
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "656730",
    "profile": {
      "available": true,
      "pitcher_id": "656730",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 181.0,
        "k_percent": 28.5,
        "bb_percent": 7.0,
        "woba": 0.193,
        "xwoba": 0.249,
        "sweet_spot_percent": 28.9,
        "barrel_batted_rate": 5.5,
        "hard_hit_percent": 41.4,
        "avg_best_speed": 81.9088,
        "avg_hyper_speed": 94.382,
        "whiff_percent": 32.6,
        "swing_percent": 52.9
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.1184,
        "command_and_miss": 0.8979,
        "regression_edge": -1.6,
        "xwoba_edge": 1.7714,
        "barrel_edge": 0.3556,
        "hard_hit_edge": -0.5143,
        "whiff_edge": 1.0571,
        "bb_edge": 0.55,
        "pitch_design_score": 0.2632
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "656730",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 15,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 15,
          "pitch_usage": 0.0,
          "release_speed": 94.54710376864173,
          "release_spin_rate": 2503.6529055260044,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 15,
            "pitch_usage": 0.0,
            "release_speed": 94.54710376864173,
            "release_spin_rate": 2503.6529055260044,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 94.5471,
          "release_spin_rate": 2503.6529,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.2632,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.8797,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.5219,
      "sample_weight": 0.724,
      "run_prevention_factor": 0.9556,
      "strikeout_factor": 1.0575,
      "walk_factor": 0.9681,
      "homer_factor": 0.9558,
      "woba_minus_xwoba": -0.056,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "656730",
        "espn_id": 40080,
        "player_name": "Trevor Megill",
        "team": "MIL",
        "role": "pitcher",
        "espn_rank": 79,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 79,
          "gp_value": 52.0,
          "gp_rank": 65,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 2.2792,
          "era_rank": null,
          "w_value": 2.0,
          "w_rank": 293,
          "l_value": 3.0,
          "l_rank": 219,
          "sv_value": 24.0,
          "sv_rank": 11,
          "hld_value": 7.0,
          "hld_rank": 120,
          "ip_value": 51.1,
          "ip_rank": 265,
          "h_value": 30.0,
          "h_rank": 383,
          "er_value": 13.0,
          "er_rank": 423,
          "hr_value": 0.0,
          "hr_rank": 716,
          "bb_value": 14.0,
          "bb_rank": 370,
          "k_value": 57.0,
          "k_rank": 220,
          "k_per_9_value": 9.993506,
          "k_per_9_rank": 22.0,
          "whip_value": 0.8571,
          "whip_rank": null,
          "war_value": 1.82,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9679,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9679,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9769,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.968,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0416,
        "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": 2,
    "BB": 3,
    "SO": 7,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.45454545454545453,
    "K9": 5.7272727272727275,
    "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-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "656730",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 15,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 15,
    "pitch_usage": 0.0,
    "release_speed": 94.54710376864173,
    "release_spin_rate": 2503.6529055260044,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 15,
      "pitch_usage": 0.0,
      "release_speed": 94.54710376864173,
      "release_spin_rate": 2503.6529055260044,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 94.5471,
    "release_spin_rate": 2503.6529,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.2632,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.8797,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.302,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6732,
    "prior_weight": 0.3268
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "656730",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 51,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.0,
        "ER": 0.0,
        "R": 1.0,
        "H": 2.0,
        "BB": 3.0,
        "SO": 4.0,
        "HR": 0.0,
        "BF": 23.0,
        "Pitches": 70.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.0,
        "R": 0.2,
        "H": 0.4,
        "BB": 0.6,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 4.6,
        "Pitches": 14.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.8333,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.33333,
        "BB_per_IP": 0.5,
        "SO_per_IP": 0.66667,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.0,
        "ER": 0.0,
        "R": 1.0,
        "H": 2.0,
        "BB": 3.0,
        "SO": 7.0,
        "HR": 0.0,
        "BF": 38.0,
        "Pitches": 115.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.1,
        "H": 0.2,
        "BB": 0.3,
        "SO": 0.7,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 11.5
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.4545,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.18182,
        "BB_per_IP": 0.27273,
        "SO_per_IP": 0.63636,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 51,
      "totals": {
        "IP": 51.1,
        "ER": 9.0,
        "R": 11.0,
        "H": 28.0,
        "BB": 14.0,
        "SO": 57.0,
        "HR": 0.0,
        "BF": 195.0,
        "Pitches": 717.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1765,
        "R": 0.2157,
        "H": 0.549,
        "BB": 0.2745,
        "SO": 1.1176,
        "HR": 0.0,
        "BF": 3.8235,
        "Pitches": 14.0588
      },
      "rates": {
        "ERA": 1.5779,
        "WHIP": 0.8182,
        "ER_per_IP": 0.17532,
        "H_per_IP": 0.54545,
        "BB_per_IP": 0.27273,
        "SO_per_IP": 1.11039,
        "HR_per_IP": 0.0
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.206,
    "predicted_H": 0.59,
    "predicted_BB": 0.41,
    "predicted_SO": 0.892,
    "predicted_HR": 0.053,
    "predicted_ERA": 1.6851,
    "predicted_WHIP": 0.9084
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4881,
  "form_weight": 0.5119,
  "form_reliability": 0.6732,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.302,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6732,
    "prior_weight": 0.3268
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.206,
      "final": 0.1055,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.59,
      "final": 0.302,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.41,
      "final": 0.2099,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.892,
      "final": 0.9447,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.053,
      "final": 0.0271,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.6851,
      "final": 1.6851,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9084,
      "final": 0.9084,
      "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."
}
Sal Frelick (686217) · BATTER · LF · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 313
All-history rows before 20260827: 313
System season_avg: 0.2380
Data season_avg (2026 season-to-date): 0.2475
Diff (system - data): -0.0095
System opponent_avg: 0.2430

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1651.0000.000Hitting_2B0.2011.0000.7990.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.1655.0003.000Hitting_AB3.4604.0001.5401.000
predicted_AVG0.2380.2000.333Hitting_AVG0.2470.750-0.047-0.550
predicted_BB0.2590.0000.000Hitting_BB0.3391.000-0.339-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0260.000-0.0260.000
predicted_H0.7531.0001.000Hitting_H0.8563.0000.144-2.000
predicted_HR0.0470.0000.000Hitting_HR0.0580.000-0.0580.000
predicted_OBP0.2960.2000.333Hitting_OBP0.3160.800-0.116-0.600
predicted_R0.3881.0000.000Hitting_R0.4351.0000.5650.000
predicted_RBI0.3761.0000.000Hitting_RBI0.4662.0000.534-1.000
predicted_SLG0.3350.4000.333Hitting_SLG0.3551.0000.045-0.600
predicted_SO0.3650.0000.000Hitting_SO0.4060.000-0.4060.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_AB: 3.1650 -> 5.0000 (boost 1.8350, better)
Biggest Deboostpredicted_SO: 0.3650 -> 0.0000 (deboost -0.3650, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42213predicted_SO: 0.3650 -> 0.4212 (boost 0.0562, worse)predicted_OBP: 0.2960 -> 0.2791 (deboost -0.0169, worse)Final model input calibrated 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.3411 -> 0.3466 (boost 0.0055, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling71625predicted_H: 0.7318 -> 1.0000 (boost 0.2682, better)predicted_SO: 0.4159 -> 0.0000 (deboost -0.4159, better)AB rounded to 3 (raw=3.17), rates preserved: AVG=0.231 HR/AB=0.022
5consistency_constraints10101-predicted_R: 0.3818 -> 0.0000 (deboost -0.3818, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference44040predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "686217",
  "player_name": "Sal Frelick",
  "position": "LF",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.165,
        "predicted_3B": 0.0,
        "predicted_AB": 3.165,
        "predicted_AVG": 0.238,
        "predicted_BB": 0.259,
        "predicted_H": 0.753,
        "predicted_HR": 0.047,
        "predicted_OBP": 0.296,
        "predicted_R": 0.388,
        "predicted_RBI": 0.376,
        "predicted_SLG": 0.335,
        "predicted_SO": 0.365
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1464,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.1337,
        "predicted_AVG": 0.2292,
        "predicted_BB": 0.2163,
        "predicted_H": 0.7187,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.0673,
        "predicted_OBP": 0.2791,
        "predicted_R": 0.3694,
        "predicted_RBI": 0.3933,
        "predicted_SLG": 0.3411,
        "predicted_SO": 0.4212
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.165,
          "after": 0.1464,
          "delta": -0.0186,
          "percent_delta": -0.1127,
          "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.165,
          "after": 3.1337,
          "delta": -0.0313,
          "percent_delta": -0.0099,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.238,
          "after": 0.2292,
          "delta": -0.0088,
          "percent_delta": -0.037,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.259,
          "after": 0.2163,
          "delta": -0.0427,
          "percent_delta": -0.1649,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.753,
          "after": 0.7187,
          "delta": -0.0343,
          "percent_delta": -0.0456,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.047,
          "after": 0.0673,
          "delta": 0.0203,
          "percent_delta": 0.4319,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.296,
          "after": 0.2791,
          "delta": -0.0169,
          "percent_delta": -0.0571,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.388,
          "after": 0.3694,
          "delta": -0.0186,
          "percent_delta": -0.0479,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.376,
          "after": 0.3933,
          "delta": 0.0173,
          "percent_delta": 0.046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.335,
          "after": 0.3411,
          "delta": 0.0061,
          "percent_delta": 0.0182,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.365,
          "after": 0.4212,
          "delta": 0.0562,
          "percent_delta": 0.154,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.365,
          "after": 0.4212,
          "delta": 0.0562,
          "percent_delta": 0.154,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.296,
          "after": 0.2791,
          "delta": -0.0169,
          "percent_delta": -0.0571,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 85
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1464,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.1337,
        "predicted_AVG": 0.2335,
        "predicted_BB": 0.219,
        "predicted_H": 0.7318,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.069,
        "predicted_OBP": 0.2836,
        "predicted_R": 0.3818,
        "predicted_RBI": 0.4065,
        "predicted_SLG": 0.3466,
        "predicted_SO": 0.4159
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1464,
          "after": 0.1464,
          "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.1337,
          "after": 3.1337,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2292,
          "after": 0.2335,
          "delta": 0.0043,
          "percent_delta": 0.0188,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2163,
          "after": 0.219,
          "delta": 0.0027,
          "percent_delta": 0.0125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7187,
          "after": 0.7318,
          "delta": 0.0131,
          "percent_delta": 0.0182,
          "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.0673,
          "after": 0.069,
          "delta": 0.0017,
          "percent_delta": 0.0253,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2791,
          "after": 0.2836,
          "delta": 0.0045,
          "percent_delta": 0.0161,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3694,
          "after": 0.3818,
          "delta": 0.0124,
          "percent_delta": 0.0336,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3933,
          "after": 0.4065,
          "delta": 0.0132,
          "percent_delta": 0.0336,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3411,
          "after": 0.3466,
          "delta": 0.0055,
          "percent_delta": 0.0161,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4212,
          "after": 0.4159,
          "delta": -0.0053,
          "percent_delta": -0.0126,
          "direction": "no_change",
          "projection_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.3411,
          "after": 0.3466,
          "delta": 0.0055,
          "percent_delta": 0.0161,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.17), rates preserved: AVG=0.231 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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1464,
          "after": 0.0,
          "delta": -0.1464,
          "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.1337,
          "after": 3.0,
          "delta": -0.1337,
          "percent_delta": -0.0427,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.219,
          "after": 0.0,
          "delta": -0.219,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7318,
          "after": 1.0,
          "delta": 0.2682,
          "percent_delta": 0.3665,
          "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.069,
          "after": 0.0,
          "delta": -0.069,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4065,
          "after": 0.0,
          "delta": -0.4065,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4159,
          "after": 0.0,
          "delta": -0.4159,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7318,
          "after": 1.0,
          "delta": 0.2682,
          "percent_delta": 0.3665,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.4159,
          "after": 0.0,
          "delta": -0.4159,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3818,
          "after": 0.0,
          "delta": -0.3818,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.3818,
          "after": 0.0,
          "delta": -0.3818,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "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.231,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.287,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.351,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2335,
          "after": 0.231,
          "delta": -0.0025,
          "percent_delta": -0.0107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.287,
          "delta": 0.0034,
          "percent_delta": 0.012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3466,
          "after": 0.351,
          "delta": 0.0044,
          "percent_delta": 0.0127,
          "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": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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": 5.0,
          "delta": 2.0,
          "percent_delta": 0.6667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 5.0,
          "delta": 2.0,
          "percent_delta": 0.6667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2335,
        "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.2836,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3466,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.231,
          "after": 0.2335,
          "delta": 0.0025,
          "percent_delta": 0.0109,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.287,
          "after": 0.2836,
          "delta": -0.0034,
          "percent_delta": -0.0119,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.351,
          "after": 0.3466,
          "delta": -0.0044,
          "percent_delta": -0.0125,
          "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": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.165,
        "after": 1.0,
        "delta": 0.835,
        "percent_delta": 5.0606,
        "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.165,
        "after": 5.0,
        "delta": 1.835,
        "percent_delta": 0.5798,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.238,
        "after": 0.2335,
        "delta": -0.0045,
        "percent_delta": -0.0189,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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.753,
        "after": 1.0,
        "delta": 0.247,
        "percent_delta": 0.328,
        "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.296,
        "after": 0.2836,
        "delta": -0.0124,
        "percent_delta": -0.0419,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.388,
        "after": 1.0,
        "delta": 0.612,
        "percent_delta": 1.5773,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.376,
        "after": 1.0,
        "delta": 0.624,
        "percent_delta": 1.6596,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.335,
        "after": 0.3466,
        "delta": 0.0116,
        "percent_delta": 0.0346,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.365,
        "after": 0.0,
        "delta": -0.365,
        "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_AB",
        "before": 3.165,
        "after": 5.0,
        "delta": 1.835,
        "percent_delta": 0.5798,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.365,
        "after": 0.0,
        "delta": -0.365,
        "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.165-
predicted_3B0.000-
predicted_AB3.165-
predicted_AVG0.238-
predicted_BB0.259-
predicted_H0.753-
predicted_HR0.047-
predicted_OBP0.296-
predicted_R0.388-
predicted_RBI0.376-
predicted_SLG0.335-
predicted_SO0.365-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.146-0.019
predicted_3B0.0000.000
predicted_AB3.134-0.031
predicted_AVG0.229-0.009
predicted_BB0.216-0.043
predicted_H0.719-0.034
predicted_HBP0.015-
predicted_HR0.0670.020
predicted_OBP0.279-0.017
predicted_R0.369-0.019
predicted_RBI0.3930.017
predicted_SLG0.3410.006
predicted_SO0.4210.056
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1460.000
predicted_3B0.0000.000
predicted_AB3.1340.000
predicted_AVG0.2340.004
predicted_BB0.2190.003
predicted_H0.7320.013
predicted_HBP0.0150.000
predicted_HR0.0690.002
predicted_OBP0.2840.005
predicted_R0.3820.012
predicted_RBI0.4060.013
predicted_SLG0.3470.006
predicted_SO0.416-0.005
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.17), rates preserved: AVG=0.231 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-
SO0.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-
SO0.0000.000
6. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.146
predicted_3B0.000-0.000
predicted_AB3.000-0.134
predicted_AVG0.231-0.003
predicted_BB0.000-0.219
predicted_H1.0000.268
predicted_HR0.000-0.069
predicted_OBP0.2870.003
predicted_R0.000-0.382
predicted_RBI0.000-0.406
predicted_SLG0.3510.004
predicted_SO0.000-0.416
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB5.0002.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0001.000
RBI1.0001.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: 85
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.0003.0001.0000.0003.0000.21430.21430.42860.21430.07140.21430.00000.2143
last_100.2010-28.0004.0001.0000.0001.0003.0003.0000.0006.0000.14290.14290.28570.14290.03570.10710.00000.2143
season0.6085-269.00064.00014.0000.0004.00032.00033.00022.00031.0000.23790.29930.33460.23790.01490.11900.08180.1152
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1210
predicted_3B0.0010
predicted_AB3.0910
predicted_AVG0.2173
predicted_BB0.1580
predicted_H0.6720
predicted_HBP0.0150
predicted_HR0.0950
predicted_OBP0.2560
predicted_R0.3440
predicted_RBI0.4170
predicted_SLG0.3495
predicted_SO0.4980
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16500.12100.1464model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.16503.09103.1337model_form_blend
predicted_AVG0.23800.21730.2292model_form_blend
predicted_BB0.25900.15800.2163model_form_blend
predicted_H0.75300.67200.7187model_form_blend
predicted_HBP-0.01500.0150form_only
predicted_HR0.04700.09500.0673model_form_blend
predicted_OBP0.29600.25600.2791model_form_blend
predicted_R0.38800.34400.3694model_form_blend
predicted_RBI0.37600.41700.3933model_form_blend
predicted_SLG0.33500.34950.3411model_form_blend
predicted_SO0.36500.49800.4212model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date313
Season rows before report date313
Report year2026
Profile rows used85
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H1
2B1
3B0
HR0
R1
RBI1
BB0
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.75
Hitting_BB1
Hitting_GIDP0
Hitting_H3
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB4
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260826_MIL@NYM
game_typefull
mlbID686217
playerID686217
playerNameSal Frelick
posRF
startedTrue
startingPositionLF
teamMIL
teamID16
game_date2026-08-26
sl_k_percent10.8
sl_bb_percent8.4
sl_woba0.286
sl_xwoba0.283
sl_xba0.242
sl_xslg0.322
sl_sweet_spot_percent28.2
sl_barrel_batted_rate2.3
sl_hard_hit_percent28.0
sl_exit_velocity_avg85.9
sl_launch_angle_avg9.7
sl_whiff_percent11.2
sl_swing_percent42.7
Christian Yelich (592885) · BATTER · DH · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 389
All-history rows before 20260827: 389
System season_avg: 0.2260
Data season_avg (2026 season-to-date): 0.2318
Diff (system - data): -0.0058
System opponent_avg: 0.0900

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2051.0000.000Hitting_2B0.2060.0000.7941.000
predicted_3B0.0230.0000.000Hitting_3B0.0260.000-0.0260.000
predicted_AB3.8184.0004.000Hitting_AB4.0154.000-0.0150.000
predicted_AVG0.3160.2500.250Hitting_AVG0.2320.2500.0180.000
predicted_BB0.4430.0001.000Hitting_BB0.4700.000-0.4700.000
predicted_CS-0.0000.000BaseRunning_CS0.0130.000-0.0130.000
predicted_H0.5301.0001.000Hitting_H0.9311.0000.0690.000
predicted_HR0.0500.0000.000Hitting_HR0.1030.000-0.1030.000
predicted_OBP0.3530.2500.400Hitting_OBP0.3190.250-0.0690.000
predicted_R0.5910.0001.000Hitting_R0.6400.000-0.6400.000
predicted_RBI0.2900.0000.000Hitting_RBI0.5121.000-0.512-1.000
predicted_SLG0.5100.5000.250Hitting_SLG0.3730.2500.1270.250
predicted_SO1.1590.0001.000Hitting_SO1.2210.000-1.2210.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.2050 -> 1.0000 (boost 0.7950, better)
Biggest Deboostpredicted_SO: 1.1590 -> 0.0000 (deboost -1.1590, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend72534predicted_H: 0.5300 -> 0.6890 (boost 0.1590, better)predicted_AB: 3.8180 -> 3.7035 (deboost -0.1145, worse)Final model input calibrated 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.4629 -> 0.3128 (deboost -0.1501, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62424predicted_H: 0.7015 -> 1.0000 (boost 0.2985, better)predicted_BB: 0.4587 -> 0.0000 (deboost -0.4587, worse)AB rounded to 4 (raw=3.82), rates preserved: AVG=0.184 HR/AB=0.017
5bvp_blend00000--Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000)
6consistency_constraints11010predicted_R: 0.6047 -> 1.0000 (boost 0.3953, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation11010predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context40404-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference31221predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
10current_json_final33030predicted_SLG: 0.2880 -> 0.3128 (boost 0.0248, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "592885",
  "player_name": "Christian Yelich",
  "position": "DH",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.205,
        "predicted_3B": 0.023,
        "predicted_AB": 3.818,
        "predicted_AVG": 0.316,
        "predicted_BB": 0.443,
        "predicted_H": 0.53,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.353,
        "predicted_R": 0.591,
        "predicted_RBI": 0.29,
        "predicted_SLG": 0.51,
        "predicted_SO": 1.159
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2247,
        "predicted_3B": 0.0187,
        "predicted_AB": 3.7035,
        "predicted_AVG": 0.2893,
        "predicted_BB": 0.4529,
        "predicted_H": 0.689,
        "predicted_HBP": 0.026,
        "predicted_HR": 0.0633,
        "predicted_OBP": 0.3473,
        "predicted_R": 0.585,
        "predicted_RBI": 0.3496,
        "predicted_SLG": 0.4629,
        "predicted_SO": 1.0505
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.205,
          "after": 0.2247,
          "delta": 0.0197,
          "percent_delta": 0.0961,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.023,
          "after": 0.0187,
          "delta": -0.0043,
          "percent_delta": -0.187,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.818,
          "after": 3.7035,
          "delta": -0.1145,
          "percent_delta": -0.03,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.316,
          "after": 0.2893,
          "delta": -0.0267,
          "percent_delta": -0.0845,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.443,
          "after": 0.4529,
          "delta": 0.0099,
          "percent_delta": 0.0223,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.53,
          "after": 0.689,
          "delta": 0.159,
          "percent_delta": 0.3,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.05,
          "after": 0.0633,
          "delta": 0.0133,
          "percent_delta": 0.266,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.353,
          "after": 0.3473,
          "delta": -0.0057,
          "percent_delta": -0.0161,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.591,
          "after": 0.585,
          "delta": -0.006,
          "percent_delta": -0.0102,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.29,
          "after": 0.3496,
          "delta": 0.0596,
          "percent_delta": 0.2055,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.51,
          "after": 0.4629,
          "delta": -0.0471,
          "percent_delta": -0.0924,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.159,
          "after": 1.0505,
          "delta": -0.1085,
          "percent_delta": -0.0936,
          "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.53,
          "after": 0.689,
          "delta": 0.159,
          "percent_delta": 0.3,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.818,
          "after": 3.7035,
          "delta": -0.1145,
          "percent_delta": -0.03,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 88
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2247,
        "predicted_3B": 0.0187,
        "predicted_AB": 3.7035,
        "predicted_AVG": 0.1894,
        "predicted_BB": 0.4587,
        "predicted_H": 0.7015,
        "predicted_HBP": 0.026,
        "predicted_HR": 0.0649,
        "predicted_OBP": 0.2787,
        "predicted_R": 0.6047,
        "predicted_RBI": 0.3613,
        "predicted_SLG": 0.3128,
        "predicted_SO": 1.0372
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2247,
          "after": 0.2247,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0187,
          "after": 0.0187,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7035,
          "after": 3.7035,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2893,
          "after": 0.1894,
          "delta": -0.0999,
          "percent_delta": -0.3453,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4529,
          "after": 0.4587,
          "delta": 0.0058,
          "percent_delta": 0.0128,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.689,
          "after": 0.7015,
          "delta": 0.0125,
          "percent_delta": 0.0181,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.026,
          "after": 0.026,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0633,
          "after": 0.0649,
          "delta": 0.0016,
          "percent_delta": 0.0253,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3473,
          "after": 0.2787,
          "delta": -0.0686,
          "percent_delta": -0.1975,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.585,
          "after": 0.6047,
          "delta": 0.0197,
          "percent_delta": 0.0337,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3496,
          "after": 0.3613,
          "delta": 0.0117,
          "percent_delta": 0.0335,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4629,
          "after": 0.3128,
          "delta": -0.1501,
          "percent_delta": -0.3243,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0505,
          "after": 1.0372,
          "delta": -0.0133,
          "percent_delta": -0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.4629,
          "after": 0.3128,
          "delta": -0.1501,
          "percent_delta": -0.3243,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.82), rates preserved: AVG=0.184 HR/AB=0.017",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2247,
          "after": 0.0,
          "delta": -0.2247,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0187,
          "after": 0.0,
          "delta": -0.0187,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7035,
          "after": 4.0,
          "delta": 0.2965,
          "percent_delta": 0.0801,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4587,
          "after": 0.0,
          "delta": -0.4587,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7015,
          "after": 1.0,
          "delta": 0.2985,
          "percent_delta": 0.4255,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.026,
          "after": 0.0,
          "delta": -0.026,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0649,
          "after": 0.0,
          "delta": -0.0649,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3613,
          "after": 0.0,
          "delta": -0.3613,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0372,
          "after": 1.0,
          "delta": -0.0372,
          "percent_delta": -0.0359,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7015,
          "after": 1.0,
          "delta": 0.2985,
          "percent_delta": 0.4255,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4587,
          "after": 0.0,
          "delta": -0.4587,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9333,
        "bvp": 0.0667
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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.6047,
          "after": 1.0,
          "delta": 0.3953,
          "percent_delta": 0.6537,
          "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.6047,
          "after": 1.0,
          "delta": 0.3953,
          "percent_delta": 0.6537,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "embedded_savant_player_context",
      "description": "Player 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.172,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.261,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.288,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1894,
          "after": 0.172,
          "delta": -0.0174,
          "percent_delta": -0.0919,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2787,
          "after": 0.261,
          "delta": -0.0177,
          "percent_delta": -0.0635,
          "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.3128,
          "after": 0.288,
          "delta": -0.0248,
          "percent_delta": -0.0793,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.1894,
        "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.2787,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3128,
        "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.172,
          "after": 0.1894,
          "delta": 0.0174,
          "percent_delta": 0.1013,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.261,
          "after": 0.2787,
          "delta": 0.0177,
          "percent_delta": 0.068,
          "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.288,
          "after": 0.3128,
          "delta": 0.0248,
          "percent_delta": 0.0861,
          "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.288,
          "after": 0.3128,
          "delta": 0.0248,
          "percent_delta": 0.0861,
          "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.205,
        "after": 1.0,
        "delta": 0.795,
        "percent_delta": 3.878,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.023,
        "after": 0.0,
        "delta": -0.023,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.818,
        "after": 4.0,
        "delta": 0.182,
        "percent_delta": 0.0477,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.316,
        "after": 0.1894,
        "delta": -0.1266,
        "percent_delta": -0.4006,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.443,
        "after": 0.0,
        "delta": -0.443,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.53,
        "after": 1.0,
        "delta": 0.47,
        "percent_delta": 0.8868,
        "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.353,
        "after": 0.2787,
        "delta": -0.0743,
        "percent_delta": -0.2105,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.591,
        "after": 0.0,
        "delta": -0.591,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.29,
        "after": 0.0,
        "delta": -0.29,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.51,
        "after": 0.3128,
        "delta": -0.1972,
        "percent_delta": -0.3867,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.159,
        "after": 0.0,
        "delta": -1.159,
        "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.205,
        "after": 1.0,
        "delta": 0.795,
        "percent_delta": 3.878,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.159,
        "after": 0.0,
        "delta": -1.159,
        "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.205-
predicted_3B0.023-
predicted_AB3.818-
predicted_AVG0.316-
predicted_BB0.443-
predicted_H0.530-
predicted_HR0.050-
predicted_OBP0.353-
predicted_R0.591-
predicted_RBI0.290-
predicted_SLG0.510-
predicted_SO1.159-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.2250.020
predicted_3B0.019-0.004
predicted_AB3.704-0.115
predicted_AVG0.289-0.027
predicted_BB0.4530.010
predicted_H0.6890.159
predicted_HBP0.026-
predicted_HR0.0630.013
predicted_OBP0.347-0.006
predicted_R0.585-0.006
predicted_RBI0.3500.060
predicted_SLG0.463-0.047
predicted_SO1.050-0.109
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.2250.000
predicted_3B0.0190.000
predicted_AB3.7040.000
predicted_AVG0.189-0.100
predicted_BB0.4590.006
predicted_H0.7020.013
predicted_HBP0.0260.000
predicted_HR0.0650.002
predicted_OBP0.279-0.069
predicted_R0.6050.020
predicted_RBI0.3610.012
predicted_SLG0.313-0.150
predicted_SO1.037-0.013
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.82), rates preserved: AVG=0.184 HR/AB=0.017

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
5. bvp_blend

Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
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
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI0.0000.000
SO1.0000.000
8. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.225
predicted_3B0.000-0.019
predicted_AB4.0000.296
predicted_AVG0.172-0.017
predicted_BB0.000-0.459
predicted_H1.0000.298
predicted_HR0.000-0.065
predicted_OBP0.261-0.018
predicted_R1.0000.395
predicted_RBI0.000-0.361
predicted_SLG0.288-0.025
predicted_SO1.000-0.037
9. 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-
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: 88
Reference playing time: 3.818
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-14.0005.0002.0000.0000.0001.0003.0003.0002.0000.35710.47060.50000.35710.00000.07140.21430.1429
last_100.2010-34.0008.0002.0000.0001.0005.0005.0004.0008.0000.23530.30770.38240.23530.02940.14710.11770.2353
season0.6088-336.00076.00018.0002.0009.00043.00052.00039.000102.0000.22620.31150.37200.22620.02680.12800.11610.3036
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2510
predicted_3B0.0130
predicted_AB3.5510
predicted_AVG0.2537
predicted_BB0.4660
predicted_H0.9010
predicted_HBP0.0260
predicted_HR0.0810
predicted_OBP0.3398
predicted_R0.5770
predicted_RBI0.4290
predicted_SLG0.4002
predicted_SO0.9060
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20500.25100.2247model_form_blend
predicted_3B0.02300.01300.0187model_form_blend
predicted_AB3.81803.55103.7035model_form_blend
predicted_AVG0.31600.25370.2893model_form_blend
predicted_BB0.44300.46600.4529model_form_blend
predicted_H0.53000.90100.6890model_form_blend
predicted_HBP-0.02600.0260form_only
predicted_HR0.05000.08100.0633model_form_blend
predicted_OBP0.35300.33980.3473model_form_blend
predicted_R0.59100.57700.5850model_form_blend
predicted_RBI0.29000.42900.3496model_form_blend
predicted_SLG0.51000.40020.4629model_form_blend
predicted_SO1.15900.90601.0505model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date389
Season rows before report date389
Report year2026
Profile rows used88
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_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.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260826_MIL@NYM
game_typefull
mlbID592885
playerID592885
playerNameChristian Yelich
posDH
startedTrue
startingPositionDH
teamMIL
teamID16
game_date2026-08-26
sl_k_percent26.3
sl_bb_percent9.8
sl_woba0.307
sl_xwoba0.315
sl_xba0.236
sl_xslg0.397
sl_sweet_spot_percent30.3
sl_barrel_batted_rate10.3
sl_hard_hit_percent43.2
sl_exit_velocity_avg88.9
sl_launch_angle_avg3.1
sl_whiff_percent29.3
sl_swing_percent45.1
Luis Lara (800325) · BATTER · RF · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 118
All-history rows before 20260827: 118
System season_avg: 0.2570
Data season_avg (2026 season-to-date): 0.2629
Diff (system - data): -0.0059
System opponent_avg: 0.1430

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1520.0000.000Hitting_2B0.1690.000-0.1690.000
predicted_3B0.0610.0000.000Hitting_3B0.0510.000-0.0510.000
predicted_AB3.3034.0003.000Hitting_AB3.4494.0000.5510.000
predicted_AVG0.2570.0000.333Hitting_AVG0.2630.500-0.263-0.500
predicted_BB0.3030.0000.000Hitting_BB0.4241.000-0.424-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0420.000-0.0420.000
predicted_H0.8480.0001.000Hitting_H0.9072.000-0.907-2.000
predicted_HR0.0300.0000.000Hitting_HR0.0510.000-0.0510.000
predicted_OBP0.3190.0000.333Hitting_OBP0.3410.600-0.341-0.600
predicted_R0.4240.0000.000Hitting_R0.5171.000-0.517-1.000
predicted_RBI0.5150.0001.000Hitting_RBI0.6360.000-0.6360.000
predicted_SLG0.3670.0000.333Hitting_SLG0.3860.500-0.386-0.500
predicted_SO0.7272.0001.000Hitting_SO0.6860.0001.3142.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_SO: 0.7270 -> 2.0000 (boost 1.2730, worse)
Biggest Deboostpredicted_H: 0.8480 -> 0.0000 (deboost -0.8480, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend44040predicted_AB: 3.3030 -> 3.3856 (boost 0.0826, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot22020predicted_SLG: 0.3826 -> 0.3887 (boost 0.0061, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_SO: 0.7309 -> 1.0000 (boost 0.2691, worse)predicted_RBI: 0.5283 -> 0.0000 (deboost -0.5283, worse)AB rounded to 3 (raw=3.39), rates preserved: AVG=0.270 HR/AB=0.012
5consistency_constraints10101-predicted_R: 0.4399 -> 0.0000 (deboost -0.4399, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context21111predicted_OBP: 0.3249 -> 0.3300 (boost 0.0051, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_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
9current_json_final10101-predicted_OBP: 0.3300 -> 0.3249 (deboost -0.0051, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "800325",
  "player_name": "Luis Lara",
  "position": "RF",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.152,
        "predicted_3B": 0.061,
        "predicted_AB": 3.303,
        "predicted_AVG": 0.257,
        "predicted_BB": 0.303,
        "predicted_H": 0.848,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.319,
        "predicted_R": 0.424,
        "predicted_RBI": 0.515,
        "predicted_SLG": 0.367,
        "predicted_SO": 0.727
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1414,
        "predicted_3B": 0.0688,
        "predicted_AB": 3.3856,
        "predicted_AVG": 0.2655,
        "predicted_BB": 0.2697,
        "predicted_H": 0.8993,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.0394,
        "predicted_OBP": 0.32,
        "predicted_R": 0.4256,
        "predicted_RBI": 0.5111,
        "predicted_SLG": 0.3826,
        "predicted_SO": 0.7403
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.152,
          "after": 0.1414,
          "delta": -0.0106,
          "percent_delta": -0.0697,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.061,
          "after": 0.0688,
          "delta": 0.0078,
          "percent_delta": 0.1279,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.303,
          "after": 3.3856,
          "delta": 0.0826,
          "percent_delta": 0.025,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.257,
          "after": 0.2655,
          "delta": 0.0085,
          "percent_delta": 0.0331,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.303,
          "after": 0.2697,
          "delta": -0.0333,
          "percent_delta": -0.1099,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.848,
          "after": 0.8993,
          "delta": 0.0513,
          "percent_delta": 0.0605,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.03,
          "after": 0.0394,
          "delta": 0.0094,
          "percent_delta": 0.3133,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.319,
          "after": 0.32,
          "delta": 0.001,
          "percent_delta": 0.0031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.424,
          "after": 0.4256,
          "delta": 0.0016,
          "percent_delta": 0.0038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.515,
          "after": 0.5111,
          "delta": -0.0039,
          "percent_delta": -0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.367,
          "after": 0.3826,
          "delta": 0.0156,
          "percent_delta": 0.0425,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.727,
          "after": 0.7403,
          "delta": 0.0133,
          "percent_delta": 0.0183,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.303,
          "after": 3.3856,
          "delta": 0.0826,
          "percent_delta": 0.025,
          "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": 33
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1414,
        "predicted_3B": 0.0688,
        "predicted_AB": 3.3856,
        "predicted_AVG": 0.2705,
        "predicted_BB": 0.2731,
        "predicted_H": 0.9157,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.0404,
        "predicted_OBP": 0.3249,
        "predicted_R": 0.4399,
        "predicted_RBI": 0.5283,
        "predicted_SLG": 0.3887,
        "predicted_SO": 0.7309
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1414,
          "after": 0.1414,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0688,
          "after": 0.0688,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3856,
          "after": 3.3856,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2655,
          "after": 0.2705,
          "delta": 0.005,
          "percent_delta": 0.0188,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2697,
          "after": 0.2731,
          "delta": 0.0034,
          "percent_delta": 0.0126,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8993,
          "after": 0.9157,
          "delta": 0.0164,
          "percent_delta": 0.0182,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.006,
          "after": 0.006,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0394,
          "after": 0.0404,
          "delta": 0.001,
          "percent_delta": 0.0254,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.32,
          "after": 0.3249,
          "delta": 0.0049,
          "percent_delta": 0.0153,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4256,
          "after": 0.4399,
          "delta": 0.0143,
          "percent_delta": 0.0336,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5111,
          "after": 0.5283,
          "delta": 0.0172,
          "percent_delta": 0.0337,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3826,
          "after": 0.3887,
          "delta": 0.0061,
          "percent_delta": 0.0159,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7403,
          "after": 0.7309,
          "delta": -0.0094,
          "percent_delta": -0.0127,
          "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.3826,
          "after": 0.3887,
          "delta": 0.0061,
          "percent_delta": 0.0159,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.39), rates preserved: AVG=0.270 HR/AB=0.012",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1414,
          "after": 0.0,
          "delta": -0.1414,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0688,
          "after": 0.0,
          "delta": -0.0688,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.3856,
          "after": 3.0,
          "delta": -0.3856,
          "percent_delta": -0.1139,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2731,
          "after": 0.0,
          "delta": -0.2731,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9157,
          "after": 1.0,
          "delta": 0.0843,
          "percent_delta": 0.0921,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.006,
          "after": 0.0,
          "delta": -0.006,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0404,
          "after": 0.0,
          "delta": -0.0404,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5283,
          "after": 0.0,
          "delta": -0.5283,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7309,
          "after": 1.0,
          "delta": 0.2691,
          "percent_delta": 0.3682,
          "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.7309,
          "after": 1.0,
          "delta": 0.2691,
          "percent_delta": 0.3682,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5283,
          "after": 0.0,
          "delta": -0.5283,
          "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.4399,
          "after": 0.0,
          "delta": -0.4399,
          "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.4399,
          "after": 0.0,
          "delta": -0.4399,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.27,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.33,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.389,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2705,
          "after": 0.27,
          "delta": -0.0005,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3249,
          "after": 0.33,
          "delta": 0.0051,
          "percent_delta": 0.0157,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3887,
          "after": 0.389,
          "delta": 0.0003,
          "percent_delta": 0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.3249,
          "after": 0.33,
          "delta": 0.0051,
          "percent_delta": 0.0157,
          "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": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2705,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3249,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3887,
        "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.27,
          "after": 0.2705,
          "delta": 0.0005,
          "percent_delta": 0.0017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.33,
          "after": 0.3249,
          "delta": -0.0051,
          "percent_delta": -0.0154,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.389,
          "after": 0.3887,
          "delta": -0.0003,
          "percent_delta": -0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.33,
          "after": 0.3249,
          "delta": -0.0051,
          "percent_delta": -0.0154,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.152,
        "after": 0.0,
        "delta": -0.152,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.061,
        "after": 0.0,
        "delta": -0.061,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.303,
        "after": 4.0,
        "delta": 0.697,
        "percent_delta": 0.211,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.257,
        "after": 0.2705,
        "delta": 0.0135,
        "percent_delta": 0.0525,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.303,
        "after": 0.0,
        "delta": -0.303,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.848,
        "after": 0.0,
        "delta": -0.848,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.03,
        "after": 0.0,
        "delta": -0.03,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.319,
        "after": 0.3249,
        "delta": 0.0059,
        "percent_delta": 0.0185,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.424,
        "after": 0.0,
        "delta": -0.424,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.515,
        "after": 0.0,
        "delta": -0.515,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.367,
        "after": 0.3887,
        "delta": 0.0217,
        "percent_delta": 0.0591,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.727,
        "after": 2.0,
        "delta": 1.273,
        "percent_delta": 1.751,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.727,
        "after": 2.0,
        "delta": 1.273,
        "percent_delta": 1.751,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.848,
        "after": 0.0,
        "delta": -0.848,
        "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.152-
predicted_3B0.061-
predicted_AB3.303-
predicted_AVG0.257-
predicted_BB0.303-
predicted_H0.848-
predicted_HR0.030-
predicted_OBP0.319-
predicted_R0.424-
predicted_RBI0.515-
predicted_SLG0.367-
predicted_SO0.727-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.141-0.011
predicted_3B0.0690.008
predicted_AB3.3860.083
predicted_AVG0.2660.009
predicted_BB0.270-0.033
predicted_H0.8990.051
predicted_HBP0.006-
predicted_HR0.0390.009
predicted_OBP0.3200.001
predicted_R0.4260.002
predicted_RBI0.511-0.004
predicted_SLG0.3830.016
predicted_SO0.7400.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.1410.000
predicted_3B0.0690.000
predicted_AB3.3860.000
predicted_AVG0.2710.005
predicted_BB0.2730.003
predicted_H0.9160.016
predicted_HBP0.0060.000
predicted_HR0.0400.001
predicted_OBP0.3250.005
predicted_R0.4400.014
predicted_RBI0.5280.017
predicted_SLG0.3890.006
predicted_SO0.731-0.009
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.39), rates preserved: AVG=0.270 HR/AB=0.012

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. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI1.0001.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.141
predicted_3B0.000-0.069
predicted_AB3.000-0.386
predicted_AVG0.270-0.001
predicted_BB0.000-0.273
predicted_H1.0000.084
predicted_HR0.000-0.040
predicted_OBP0.3300.005
predicted_R0.000-0.440
predicted_RBI0.000-0.528
predicted_SLG0.3890.000
predicted_SO1.0000.269
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
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 33
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0006.0000.0001.0000.0002.0001.0000.0004.0000.35290.35290.47060.35290.00000.11770.00000.2353
last_100.2010-39.00012.0001.0001.0001.0006.0006.0001.0007.0000.30770.32500.46150.30770.02560.15380.02560.1795
season0.6033-109.00028.0005.0002.0001.00017.00014.00010.00024.0000.25690.31670.36700.25690.00920.15600.09170.2202
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1250
predicted_3B0.0810
predicted_AB3.5140
predicted_AVG0.2786
predicted_BB0.2180
predicted_H0.9790
predicted_HBP0.0060
predicted_HR0.0540
predicted_OBP0.3215
predicted_R0.4280
predicted_RBI0.5050
predicted_SLG0.4068
predicted_SO0.7610
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15200.12500.1414model_form_blend
predicted_3B0.06100.08100.0688model_form_blend
predicted_AB3.30303.51403.3856model_form_blend
predicted_AVG0.25700.27860.2655model_form_blend
predicted_BB0.30300.21800.2697model_form_blend
predicted_H0.84800.97900.8993model_form_blend
predicted_HBP-0.00600.0060form_only
predicted_HR0.03000.05400.0394model_form_blend
predicted_OBP0.31900.32150.3200model_form_blend
predicted_R0.42400.42800.4256model_form_blend
predicted_RBI0.51500.50500.5111model_form_blend
predicted_SLG0.36700.40680.3826model_form_blend
predicted_SO0.72700.76100.7403model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date118
Season rows before report date118
Report year2026
Profile rows used33
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO2
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
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_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
gameID20260826_MIL@NYM
game_typefull
mlbID800325
playerID800325
playerNameLuis Lara
posCF
startedTrue
startingPositionRF
teamMIL
teamID16
game_date2026-08-26
sl_k_percent19.7
sl_bb_percent9.9
sl_woba0.325
sl_xwoba0.322
sl_xba0.28
sl_xslg0.372
sl_sweet_spot_percent39.0
sl_barrel_batted_rate5.0
sl_hard_hit_percent45.0
sl_exit_velocity_avg89.7
sl_launch_angle_avg5.5
sl_whiff_percent18.6
sl_swing_percent41.3
Garrett Mitchell (669003) · BATTER · CF · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 430
All-history rows before 20260827: 430
System season_avg: 0.2560
Data season_avg (2026 season-to-date): 0.2650
Diff (system - data): -0.0090
System opponent_avg: 0.2140

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2160.0001.000Hitting_2B0.2350.000-0.2350.000
predicted_3B0.0270.0000.000Hitting_3B0.0330.000-0.0330.000
predicted_AB3.7304.0004.000Hitting_AB3.5285.0000.472-1.000
predicted_AVG0.3000.2500.250Hitting_AVG0.2650.400-0.015-0.150
predicted_BB0.4230.0000.000Hitting_BB0.4670.000-0.4670.000
predicted_CS-0.0000.000BaseRunning_CS0.0441.000-0.044-1.000
predicted_H1.1201.0001.000Hitting_H0.9352.0000.065-1.000
predicted_HR0.1400.0000.000Hitting_HR0.0670.000-0.0670.000
predicted_OBP0.4030.2500.250Hitting_OBP0.3570.400-0.107-0.150
predicted_R0.4591.0001.000Hitting_R0.5191.0000.4810.000
predicted_RBI0.5801.0001.000Hitting_RBI0.4791.0000.5210.000
predicted_SLG0.4790.2500.500Hitting_SLG0.4070.400-0.157-0.150
predicted_SO1.1891.0001.000Hitting_SO1.1983.000-0.198-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics6
Worse Metrics5
Biggest Boostpredicted_R: 0.4590 -> 1.0000 (boost 0.5410, better)
Biggest Deboostpredicted_BB: 0.4230 -> 0.0000 (deboost -0.4230, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend62433predicted_SLG: 0.4790 -> 0.4953 (boost 0.0163, better)predicted_AB: 3.7300 -> 3.5204 (deboost -0.2096, worse)Final model input calibrated 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.4953 -> 0.5064 (boost 0.0111, better)predicted_OBP: 0.4036 -> 0.3839 (deboost -0.0197, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling82635predicted_AB: 3.5204 -> 4.0000 (boost 0.4796, better)predicted_BB: 0.3704 -> 0.0000 (deboost -0.3704, worse)AB rounded to 4 (raw=3.73), rates preserved: AVG=0.301 HR/AB=0.034
5consistency_constraints10101-predicted_R: 0.4993 -> 0.0000 (deboost -0.4993, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation22020predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context50505-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference11010predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.4780 -> 0.5064 (boost 0.0284, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669003",
  "player_name": "Garrett Mitchell",
  "position": "CF",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.216,
        "predicted_3B": 0.027,
        "predicted_AB": 3.73,
        "predicted_AVG": 0.3,
        "predicted_BB": 0.423,
        "predicted_H": 1.12,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.403,
        "predicted_R": 0.459,
        "predicted_RBI": 0.58,
        "predicted_SLG": 0.479,
        "predicted_SO": 1.189
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2289,
        "predicted_3B": 0.0223,
        "predicted_AB": 3.5204,
        "predicted_AVG": 0.3144,
        "predicted_BB": 0.3658,
        "predicted_H": 1.1032,
        "predicted_HBP": 0.085,
        "predicted_HR": 0.1254,
        "predicted_OBP": 0.4036,
        "predicted_R": 0.4831,
        "predicted_RBI": 0.5271,
        "predicted_SLG": 0.4953,
        "predicted_SO": 1.118
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.216,
          "after": 0.2289,
          "delta": 0.0129,
          "percent_delta": 0.0597,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.027,
          "after": 0.0223,
          "delta": -0.0047,
          "percent_delta": -0.1741,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.73,
          "after": 3.5204,
          "delta": -0.2096,
          "percent_delta": -0.0562,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3,
          "after": 0.3144,
          "delta": 0.0144,
          "percent_delta": 0.048,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.423,
          "after": 0.3658,
          "delta": -0.0572,
          "percent_delta": -0.1352,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.12,
          "after": 1.1032,
          "delta": -0.0168,
          "percent_delta": -0.015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.1254,
          "delta": -0.0146,
          "percent_delta": -0.1043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.403,
          "after": 0.4036,
          "delta": 0.0006,
          "percent_delta": 0.0015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.459,
          "after": 0.4831,
          "delta": 0.0241,
          "percent_delta": 0.0525,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.58,
          "after": 0.5271,
          "delta": -0.0529,
          "percent_delta": -0.0912,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.479,
          "after": 0.4953,
          "delta": 0.0163,
          "percent_delta": 0.034,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.189,
          "after": 1.118,
          "delta": -0.071,
          "percent_delta": -0.0597,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.479,
          "after": 0.4953,
          "delta": 0.0163,
          "percent_delta": 0.034,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.73,
          "after": 3.5204,
          "delta": -0.2096,
          "percent_delta": -0.0562,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.2289,
        "predicted_3B": 0.0223,
        "predicted_AB": 3.5204,
        "predicted_AVG": 0.3191,
        "predicted_BB": 0.3704,
        "predicted_H": 1.1233,
        "predicted_HBP": 0.085,
        "predicted_HR": 0.1287,
        "predicted_OBP": 0.3839,
        "predicted_R": 0.4993,
        "predicted_RBI": 0.5448,
        "predicted_SLG": 0.5064,
        "predicted_SO": 1.1038
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2289,
          "after": 0.2289,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0223,
          "after": 0.0223,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5204,
          "after": 3.5204,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3144,
          "after": 0.3191,
          "delta": 0.0047,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3658,
          "after": 0.3704,
          "delta": 0.0046,
          "percent_delta": 0.0126,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1032,
          "after": 1.1233,
          "delta": 0.0201,
          "percent_delta": 0.0182,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.085,
          "after": 0.085,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1254,
          "after": 0.1287,
          "delta": 0.0033,
          "percent_delta": 0.0263,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4036,
          "after": 0.3839,
          "delta": -0.0197,
          "percent_delta": -0.0488,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4831,
          "after": 0.4993,
          "delta": 0.0162,
          "percent_delta": 0.0335,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5271,
          "after": 0.5448,
          "delta": 0.0177,
          "percent_delta": 0.0336,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4953,
          "after": 0.5064,
          "delta": 0.0111,
          "percent_delta": 0.0224,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.118,
          "after": 1.1038,
          "delta": -0.0142,
          "percent_delta": -0.0127,
          "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.4953,
          "after": 0.5064,
          "delta": 0.0111,
          "percent_delta": 0.0224,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.4036,
          "after": 0.3839,
          "delta": -0.0197,
          "percent_delta": -0.0488,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.73), rates preserved: AVG=0.301 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.2289,
          "after": 0.0,
          "delta": -0.2289,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0223,
          "after": 0.0,
          "delta": -0.0223,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5204,
          "after": 4.0,
          "delta": 0.4796,
          "percent_delta": 0.1362,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3704,
          "after": 0.0,
          "delta": -0.3704,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1233,
          "after": 1.0,
          "delta": -0.1233,
          "percent_delta": -0.1098,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.085,
          "after": 0.0,
          "delta": -0.085,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1287,
          "after": 0.0,
          "delta": -0.1287,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5448,
          "after": 1.0,
          "delta": 0.4552,
          "percent_delta": 0.8355,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1038,
          "after": 1.0,
          "delta": -0.1038,
          "percent_delta": -0.094,
          "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.5204,
          "after": 4.0,
          "delta": 0.4796,
          "percent_delta": 0.1362,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3704,
          "after": 0.0,
          "delta": -0.3704,
          "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.4993,
          "after": 0.0,
          "delta": -0.4993,
          "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.4993,
          "after": 0.0,
          "delta": -0.4993,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.301,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.369,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.478,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3191,
          "after": 0.301,
          "delta": -0.0181,
          "percent_delta": -0.0567,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3839,
          "after": 0.369,
          "delta": -0.0149,
          "percent_delta": -0.0388,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5064,
          "after": 0.478,
          "delta": -0.0284,
          "percent_delta": -0.0561,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.3191,
        "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.3839,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5064,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.301,
          "after": 0.3191,
          "delta": 0.0181,
          "percent_delta": 0.0601,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.369,
          "after": 0.3839,
          "delta": 0.0149,
          "percent_delta": 0.0404,
          "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.478,
          "after": 0.5064,
          "delta": 0.0284,
          "percent_delta": 0.0594,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.478,
          "after": 0.5064,
          "delta": 0.0284,
          "percent_delta": 0.0594,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.216,
        "after": 0.0,
        "delta": -0.216,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.027,
        "after": 0.0,
        "delta": -0.027,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.73,
        "after": 4.0,
        "delta": 0.27,
        "percent_delta": 0.0724,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.3,
        "after": 0.3191,
        "delta": 0.0191,
        "percent_delta": 0.0637,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "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.12,
        "after": 1.0,
        "delta": -0.12,
        "percent_delta": -0.1071,
        "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.403,
        "after": 0.3839,
        "delta": -0.0191,
        "percent_delta": -0.0474,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.459,
        "after": 1.0,
        "delta": 0.541,
        "percent_delta": 1.1786,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.58,
        "after": 1.0,
        "delta": 0.42,
        "percent_delta": 0.7241,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.479,
        "after": 0.5064,
        "delta": 0.0274,
        "percent_delta": 0.0572,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.189,
        "after": 1.0,
        "delta": -0.189,
        "percent_delta": -0.159,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 6,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_R",
        "before": 0.459,
        "after": 1.0,
        "delta": 0.541,
        "percent_delta": 1.1786,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.423,
        "after": 0.0,
        "delta": -0.423,
        "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.216-
predicted_3B0.027-
predicted_AB3.730-
predicted_AVG0.300-
predicted_BB0.423-
predicted_H1.120-
predicted_HR0.140-
predicted_OBP0.403-
predicted_R0.459-
predicted_RBI0.580-
predicted_SLG0.479-
predicted_SO1.189-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.2290.013
predicted_3B0.022-0.005
predicted_AB3.520-0.210
predicted_AVG0.3140.014
predicted_BB0.366-0.057
predicted_H1.103-0.017
predicted_HBP0.085-
predicted_HR0.125-0.015
predicted_OBP0.4040.001
predicted_R0.4830.024
predicted_RBI0.527-0.053
predicted_SLG0.4950.016
predicted_SO1.118-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.2290.000
predicted_3B0.0220.000
predicted_AB3.5200.000
predicted_AVG0.3190.005
predicted_BB0.3700.005
predicted_H1.1230.020
predicted_HBP0.0850.000
predicted_HR0.1290.003
predicted_OBP0.384-0.020
predicted_R0.4990.016
predicted_RBI0.5450.018
predicted_SLG0.5060.011
predicted_SO1.104-0.014
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.73), rates preserved: AVG=0.301 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. 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. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0001.000
RBI1.0000.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.229
predicted_3B0.000-0.022
predicted_AB4.0000.480
predicted_AVG0.301-0.018
predicted_BB0.000-0.370
predicted_H1.000-0.123
predicted_HR0.000-0.129
predicted_OBP0.369-0.015
predicted_R0.000-0.499
predicted_RBI1.0000.455
predicted_SLG0.478-0.028
predicted_SO1.000-0.104
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.0000.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
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 111
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0009.0002.0000.0001.0003.0004.0000.0003.0000.56250.58820.87500.56250.06250.18750.00000.1875
last_100.2010-30.00011.0002.0000.0001.0004.0004.0002.00010.0000.36670.42420.53330.36670.03330.13330.06670.3333
season0.60111-363.00093.00024.0003.0008.00047.00051.00047.000132.0000.25620.34860.40500.25620.02200.12950.12950.3636
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2460
predicted_3B0.0160
predicted_AB3.2430
predicted_AVG0.3334
predicted_BB0.2900
predicted_H1.0810
predicted_HBP0.0850
predicted_HR0.1060
predicted_OBP0.4045
predicted_R0.5150
predicted_RBI0.4570
predicted_SLG0.5168
predicted_SO1.0240
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21600.24600.2289model_form_blend
predicted_3B0.02700.01600.0223model_form_blend
predicted_AB3.73003.24303.5204model_form_blend
predicted_AVG0.30000.33340.3144model_form_blend
predicted_BB0.42300.29000.3658model_form_blend
predicted_H1.12001.08101.1032model_form_blend
predicted_HBP-0.08500.0850form_only
predicted_HR0.14000.10600.1254model_form_blend
predicted_OBP0.40300.40450.4036model_form_blend
predicted_R0.45900.51500.4831model_form_blend
predicted_RBI0.58000.45700.5271model_form_blend
predicted_SLG0.47900.51680.4953model_form_blend
predicted_SO1.18901.02401.1180model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date430
Season rows before report date430
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
H1
2B0
3B0
HR0
R1
RBI1
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS1
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.4
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO3
Hitting_TB2
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260826_MIL@NYM
game_typefull
mlbID669003
playerID669003
playerNameGarrett Mitchell
posCF
startedTrue
startingPositionCF
teamMIL
teamID16
game_date2026-08-26
sl_k_percent31.4
sl_bb_percent11.7
sl_woba0.339
sl_xwoba0.348
sl_xba0.26
sl_xslg0.437
sl_sweet_spot_percent31.0
sl_barrel_batted_rate11.9
sl_hard_hit_percent51.6
sl_exit_velocity_avg92.9
sl_launch_angle_avg1.8
sl_whiff_percent36.4
sl_swing_percent43.6
Brice Turang (668930) · BATTER · 2B · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 538
All-history rows before 20260827: 538
System season_avg: 0.2650
Data season_avg (2026 season-to-date): 0.2731
Diff (system - data): -0.0081
System opponent_avg: 0.6330

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2350.0000.000Hitting_2B0.2570.000-0.2570.000
predicted_3B0.0250.0000.000Hitting_3B0.0330.000-0.0330.000
predicted_AB5.1704.0005.000Hitting_AB4.0023.000-0.0021.000
predicted_AVG0.2090.2500.200Hitting_AVG0.2730.333-0.023-0.083
predicted_BB0.5550.0001.000Hitting_BB0.5672.000-0.567-2.000
predicted_CS-0.0000.000BaseRunning_CS0.0450.000-0.0450.000
predicted_H1.0801.0001.000Hitting_H1.0931.000-0.0930.000
predicted_HR0.1400.0000.000Hitting_HR0.1451.000-0.145-1.000
predicted_OBP0.2840.2500.333Hitting_OBP0.3620.600-0.112-0.350
predicted_R0.6550.0001.000Hitting_R0.6931.000-0.693-1.000
predicted_RBI0.5400.0001.000Hitting_RBI0.7253.000-0.725-3.000
predicted_SB-0.0000.000BaseRunning_SB0.1470.000-0.1470.000
predicted_SLG0.3780.2500.200Hitting_SLG0.4631.333-0.213-1.083
predicted_SO1.1092.0001.000Hitting_SO1.0950.0000.9052.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics2
Deboosted Metrics8
Better Metrics1
Worse Metrics9
Biggest Boostpredicted_SO: 1.1090 -> 2.0000 (boost 0.8910, worse)
Biggest Deboostpredicted_AB: 5.1700 -> 4.0000 (deboost -1.1700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend30303-predicted_AB: 5.1700 -> 4.6899 (deboost -0.4801, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot21111predicted_OBP: 0.2870 -> 0.2928 (boost 0.0058, better)predicted_SLG: 0.3548 -> 0.3432 (deboost -0.0116, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62433predicted_BB: 0.5234 -> 1.0000 (boost 0.4766, better)predicted_RBI: 0.5128 -> 0.0000 (deboost -0.5128, worse)AB rounded to 5 (raw=5.17), rates preserved: AVG=0.194 HR/AB=0.023
5bvp_blend10101-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=1.000)
6consistency_constraints11010predicted_R: 0.6326 -> 1.0000 (boost 0.3674, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation22020predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context53232predicted_AVG: 0.2139 -> 0.2400 (boost 0.0261, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_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
10current_json_final30303-predicted_AVG: 0.2400 -> 0.2139 (deboost -0.0261, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "668930",
  "player_name": "Brice Turang",
  "position": "2B",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.235,
        "predicted_3B": 0.025,
        "predicted_AB": 5.17,
        "predicted_AVG": 0.209,
        "predicted_BB": 0.555,
        "predicted_H": 1.08,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.284,
        "predicted_R": 0.655,
        "predicted_RBI": 0.54,
        "predicted_SLG": 0.378,
        "predicted_SO": 1.109
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2055,
        "predicted_3B": 0.0211,
        "predicted_AB": 4.6899,
        "predicted_AVG": 0.2103,
        "predicted_BB": 0.5168,
        "predicted_H": 0.9853,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.1165,
        "predicted_OBP": 0.287,
        "predicted_R": 0.612,
        "predicted_RBI": 0.4961,
        "predicted_SLG": 0.3548,
        "predicted_SO": 1.1259
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.235,
          "after": 0.2055,
          "delta": -0.0295,
          "percent_delta": -0.1255,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.025,
          "after": 0.0211,
          "delta": -0.0039,
          "percent_delta": -0.156,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.17,
          "after": 4.6899,
          "delta": -0.4801,
          "percent_delta": -0.0929,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.209,
          "after": 0.2103,
          "delta": 0.0013,
          "percent_delta": 0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.555,
          "after": 0.5168,
          "delta": -0.0382,
          "percent_delta": -0.0688,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.08,
          "after": 0.9853,
          "delta": -0.0947,
          "percent_delta": -0.0877,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.1165,
          "delta": -0.0235,
          "percent_delta": -0.1679,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.284,
          "after": 0.287,
          "delta": 0.003,
          "percent_delta": 0.0106,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.655,
          "after": 0.612,
          "delta": -0.043,
          "percent_delta": -0.0656,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.54,
          "after": 0.4961,
          "delta": -0.0439,
          "percent_delta": -0.0813,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.378,
          "after": 0.3548,
          "delta": -0.0232,
          "percent_delta": -0.0614,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.109,
          "after": 1.1259,
          "delta": 0.0169,
          "percent_delta": 0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.17,
          "after": 4.6899,
          "delta": -0.4801,
          "percent_delta": -0.0929,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.2055,
        "predicted_3B": 0.0211,
        "predicted_AB": 4.6899,
        "predicted_AVG": 0.2139,
        "predicted_BB": 0.5234,
        "predicted_H": 1.0032,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.1195,
        "predicted_OBP": 0.2928,
        "predicted_R": 0.6326,
        "predicted_RBI": 0.5128,
        "predicted_SLG": 0.3432,
        "predicted_SO": 1.1116
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2055,
          "after": 0.2055,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0211,
          "after": 0.0211,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.6899,
          "after": 4.6899,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2103,
          "after": 0.2139,
          "delta": 0.0036,
          "percent_delta": 0.0171,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5168,
          "after": 0.5234,
          "delta": 0.0066,
          "percent_delta": 0.0128,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9853,
          "after": 1.0032,
          "delta": 0.0179,
          "percent_delta": 0.0182,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.002,
          "after": 0.002,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1165,
          "after": 0.1195,
          "delta": 0.003,
          "percent_delta": 0.0258,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.287,
          "after": 0.2928,
          "delta": 0.0058,
          "percent_delta": 0.0202,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.612,
          "after": 0.6326,
          "delta": 0.0206,
          "percent_delta": 0.0337,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4961,
          "after": 0.5128,
          "delta": 0.0167,
          "percent_delta": 0.0337,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3548,
          "after": 0.3432,
          "delta": -0.0116,
          "percent_delta": -0.0327,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1259,
          "after": 1.1116,
          "delta": -0.0143,
          "percent_delta": -0.0127,
          "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.287,
          "after": 0.2928,
          "delta": 0.0058,
          "percent_delta": 0.0202,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3548,
          "after": 0.3432,
          "delta": -0.0116,
          "percent_delta": -0.0327,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=5.17), rates preserved: AVG=0.194 HR/AB=0.023",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2055,
          "after": 0.0,
          "delta": -0.2055,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0211,
          "after": 0.0,
          "delta": -0.0211,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.6899,
          "after": 5.0,
          "delta": 0.3101,
          "percent_delta": 0.0661,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5234,
          "after": 1.0,
          "delta": 0.4766,
          "percent_delta": 0.9106,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0032,
          "after": 1.0,
          "delta": -0.0032,
          "percent_delta": -0.0032,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.002,
          "after": 0.0,
          "delta": -0.002,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1195,
          "after": 0.0,
          "delta": -0.1195,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5128,
          "after": 0.0,
          "delta": -0.5128,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1116,
          "after": 1.0,
          "delta": -0.1116,
          "percent_delta": -0.1004,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.5234,
          "after": 1.0,
          "delta": 0.4766,
          "percent_delta": 0.9106,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5128,
          "after": 0.0,
          "delta": -0.5128,
          "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=1.000)",
      "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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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.6326,
          "after": 1.0,
          "delta": 0.3674,
          "percent_delta": 0.5808,
          "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.6326,
          "after": 1.0,
          "delta": 0.3674,
          "percent_delta": 0.5808,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "embedded_savant_player_context",
      "description": "Player 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.24,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.312,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.353,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.2139,
          "after": 0.24,
          "delta": 0.0261,
          "percent_delta": 0.122,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2928,
          "after": 0.312,
          "delta": 0.0192,
          "percent_delta": 0.0656,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3432,
          "after": 0.353,
          "delta": 0.0098,
          "percent_delta": 0.0286,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2139,
          "after": 0.24,
          "delta": 0.0261,
          "percent_delta": 0.122,
          "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": "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": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 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": 10,
      "step": "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.2139,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2928,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3432,
        "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.24,
          "after": 0.2139,
          "delta": -0.0261,
          "percent_delta": -0.1087,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.312,
          "after": 0.2928,
          "delta": -0.0192,
          "percent_delta": -0.0614,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.353,
          "after": 0.3432,
          "delta": -0.0098,
          "percent_delta": -0.0278,
          "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.24,
          "after": 0.2139,
          "delta": -0.0261,
          "percent_delta": -0.1087,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.235,
        "after": 0.0,
        "delta": -0.235,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.025,
        "after": 0.0,
        "delta": -0.025,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 5.17,
        "after": 4.0,
        "delta": -1.17,
        "percent_delta": -0.2263,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.209,
        "after": 0.2139,
        "delta": 0.0049,
        "percent_delta": 0.0234,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.555,
        "after": 0.0,
        "delta": -0.555,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.08,
        "after": 1.0,
        "delta": -0.08,
        "percent_delta": -0.0741,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.284,
        "after": 0.2928,
        "delta": 0.0088,
        "percent_delta": 0.031,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.655,
        "after": 0.0,
        "delta": -0.655,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.54,
        "after": 0.0,
        "delta": -0.54,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.378,
        "after": 0.3432,
        "delta": -0.0348,
        "percent_delta": -0.0921,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.109,
        "after": 2.0,
        "delta": 0.891,
        "percent_delta": 0.8034,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 1,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.109,
        "after": 2.0,
        "delta": 0.891,
        "percent_delta": 0.8034,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 5.17,
        "after": 4.0,
        "delta": -1.17,
        "percent_delta": -0.2263,
        "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.235-
predicted_3B0.025-
predicted_AB5.170-
predicted_AVG0.209-
predicted_BB0.555-
predicted_H1.080-
predicted_HR0.140-
predicted_OBP0.284-
predicted_R0.655-
predicted_RBI0.540-
predicted_SLG0.378-
predicted_SO1.109-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.205-0.029
predicted_3B0.021-0.004
predicted_AB4.690-0.480
predicted_AVG0.2100.001
predicted_BB0.517-0.038
predicted_H0.985-0.095
predicted_HBP0.002-
predicted_HR0.117-0.024
predicted_OBP0.2870.003
predicted_R0.612-0.043
predicted_RBI0.496-0.044
predicted_SLG0.355-0.023
predicted_SO1.1260.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.2050.000
predicted_3B0.0210.000
predicted_AB4.6900.000
predicted_AVG0.2140.004
predicted_BB0.5230.007
predicted_H1.0030.018
predicted_HBP0.0020.000
predicted_HR0.1190.003
predicted_OBP0.2930.006
predicted_R0.6330.021
predicted_RBI0.5130.017
predicted_SLG0.343-0.012
predicted_SO1.112-0.014
4. ab_floor_and_scaling

AB rounded to 5 (raw=5.17), rates preserved: AVG=0.194 HR/AB=0.023

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB5.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
5. bvp_blend

Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=1.000)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.000-1.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
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. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB1.0001.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI1.0001.000
SO1.0000.000
8. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.205
predicted_3B0.000-0.021
predicted_AB5.0000.310
predicted_AVG0.2400.026
predicted_BB0.000-0.523
predicted_H1.000-0.003
predicted_HR0.000-0.119
predicted_OBP0.3120.019
predicted_R1.0000.367
predicted_RBI0.000-0.513
predicted_SLG0.3530.010
predicted_SO1.000-0.112
9. 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.000-1.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO2.0001.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: 5.170
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-22.0003.0000.0000.0000.0000.0002.0001.0006.0000.13640.17390.13640.13640.00000.00000.04540.2727
last_100.2010-42.0005.0001.0000.0000.0002.0004.0005.00013.0000.11900.21280.14290.11910.00000.04760.11910.3095
season0.60119-468.000124.00028.0003.00016.00076.00078.00066.000132.0000.26500.35450.44020.26500.03420.16240.14100.2821
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1670
predicted_3B0.0160
predicted_AB4.0650
predicted_AVG0.2121
predicted_BB0.4670
predicted_H0.8620
predicted_HBP0.0020
predicted_HR0.0860
predicted_OBP0.2908
predicted_R0.5560
predicted_RBI0.4390
predicted_SLG0.3246
predicted_SO1.1480
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.23500.16700.2055model_form_blend
predicted_3B0.02500.01600.0211model_form_blend
predicted_AB5.17004.06504.6899model_form_blend
predicted_AVG0.20900.21210.2103model_form_blend
predicted_BB0.55500.46700.5168model_form_blend
predicted_H1.08000.86200.9853model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.14000.08600.1165model_form_blend
predicted_OBP0.28400.29080.2870model_form_blend
predicted_R0.65500.55600.6120model_form_blend
predicted_RBI0.54000.43900.4961model_form_blend
predicted_SLG0.37800.32460.3548model_form_blend
predicted_SO1.10901.14801.1259model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date538
Season rows before report date538
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
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO2
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB2
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI3
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB4
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260826_MIL@NYM
game_typefull
mlbID668930
playerID668930
playerNameBrice Turang
pos2B
startedTrue
startingPosition2B
teamMIL
teamID16
game_date2026-08-26
sl_k_percent25.1
sl_bb_percent12.6
sl_woba0.339
sl_xwoba0.336
sl_xba0.25
sl_xslg0.421
sl_sweet_spot_percent36.9
sl_barrel_batted_rate7.5
sl_hard_hit_percent41.1
sl_exit_velocity_avg90.2
sl_launch_angle_avg8.8
sl_whiff_percent22.6
sl_swing_percent43.4
William Contreras (661388) · BATTER · C · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 510
All-history rows before 20260827: 510
System season_avg: 0.2700
Data season_avg (2026 season-to-date): 0.2635
Diff (system - data): 0.0065
System opponent_avg: 0.3640

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1671.0001.000Hitting_2B0.1610.0000.8391.000
predicted_3B0.0080.0000.000Hitting_3B0.0100.000-0.0100.000
predicted_AB4.6204.0005.000Hitting_AB3.9595.0000.041-1.000
predicted_AVG0.3940.5000.400Hitting_AVG0.2630.0000.2370.500
predicted_BB0.4000.0001.000Hitting_BB0.4350.000-0.4350.000
predicted_CS-0.0000.000BaseRunning_CS0.0180.000-0.0180.000
predicted_H1.8202.0002.000Hitting_H1.0430.0000.9572.000
predicted_HR0.1301.0001.000Hitting_HR0.1040.0000.8961.000
predicted_OBP0.4170.5000.500Hitting_OBP0.3370.0000.1630.500
predicted_R0.5331.0001.000Hitting_R0.5650.0000.4351.000
predicted_RBI0.4802.0001.000Hitting_RBI0.5710.0001.4292.000
predicted_SLG0.5041.5001.200Hitting_SLG0.3880.0001.1121.500
predicted_SO0.5920.0001.000Hitting_SO0.6000.000-0.6000.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics7
Deboosted Metrics4
Better Metrics8
Worse Metrics3
Biggest Boostpredicted_RBI: 0.4800 -> 2.0000 (boost 1.5200, better)
Biggest Deboostpredicted_AB: 4.6200 -> 4.0000 (deboost -0.6200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend61515predicted_2B: 0.1670 -> 0.2195 (boost 0.0525, better)predicted_AB: 4.6200 -> 4.3279 (deboost -0.2921, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot33030predicted_OBP: 0.4107 -> 0.4335 (boost 0.0228, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling74334predicted_AB: 4.3279 -> 5.0000 (boost 0.6721, better)predicted_BB: 0.4099 -> 0.0000 (deboost -0.4099, worse)AB rounded to 5 (raw=4.62), rates preserved: AVG=0.356 HR/AB=0.024
5bvp_blend00000--Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.364)
6consistency_constraints11010predicted_R: 0.5940 -> 1.0000 (boost 0.4060, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation33030predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context60606-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference53241predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
10current_json_final33030predicted_AVG: 0.3570 -> 0.3799 (boost 0.0229, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "661388",
  "player_name": "William Contreras",
  "position": "C",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.167,
        "predicted_3B": 0.008,
        "predicted_AB": 4.62,
        "predicted_AVG": 0.394,
        "predicted_BB": 0.4,
        "predicted_H": 1.82,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.417,
        "predicted_R": 0.533,
        "predicted_RBI": 0.48,
        "predicted_SLG": 0.504,
        "predicted_SO": 0.592
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2195,
        "predicted_3B": 0.0071,
        "predicted_AB": 4.3279,
        "predicted_AVG": 0.3712,
        "predicted_BB": 0.4048,
        "predicted_H": 1.6147,
        "predicted_HBP": 0.021,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.4107,
        "predicted_R": 0.5747,
        "predicted_RBI": 0.4974,
        "predicted_SLG": 0.4941,
        "predicted_SO": 0.5607
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.167,
          "after": 0.2195,
          "delta": 0.0525,
          "percent_delta": 0.3144,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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": 4.62,
          "after": 4.3279,
          "delta": -0.2921,
          "percent_delta": -0.0632,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.394,
          "after": 0.3712,
          "delta": -0.0228,
          "percent_delta": -0.0579,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4,
          "after": 0.4048,
          "delta": 0.0048,
          "percent_delta": 0.012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.82,
          "after": 1.6147,
          "delta": -0.2053,
          "percent_delta": -0.1128,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.13,
          "after": 0.11,
          "delta": -0.02,
          "percent_delta": -0.1538,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.417,
          "after": 0.4107,
          "delta": -0.0063,
          "percent_delta": -0.0151,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.533,
          "after": 0.5747,
          "delta": 0.0417,
          "percent_delta": 0.0782,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.48,
          "after": 0.4974,
          "delta": 0.0174,
          "percent_delta": 0.0363,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.504,
          "after": 0.4941,
          "delta": -0.0099,
          "percent_delta": -0.0196,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.592,
          "after": 0.5607,
          "delta": -0.0313,
          "percent_delta": -0.0529,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.167,
          "after": 0.2195,
          "delta": 0.0525,
          "percent_delta": 0.3144,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.62,
          "after": 4.3279,
          "delta": -0.2921,
          "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": 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.2195,
        "predicted_3B": 0.0071,
        "predicted_AB": 4.3279,
        "predicted_AVG": 0.3799,
        "predicted_BB": 0.4099,
        "predicted_H": 1.6441,
        "predicted_HBP": 0.021,
        "predicted_HR": 0.1129,
        "predicted_OBP": 0.4335,
        "predicted_R": 0.594,
        "predicted_RBI": 0.5141,
        "predicted_SLG": 0.5121,
        "predicted_SO": 0.5536
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2195,
          "after": 0.2195,
          "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": 4.3279,
          "after": 4.3279,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3712,
          "after": 0.3799,
          "delta": 0.0087,
          "percent_delta": 0.0234,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4048,
          "after": 0.4099,
          "delta": 0.0051,
          "percent_delta": 0.0126,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.6147,
          "after": 1.6441,
          "delta": 0.0294,
          "percent_delta": 0.0182,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.021,
          "after": 0.021,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.1129,
          "delta": 0.0029,
          "percent_delta": 0.0264,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4107,
          "after": 0.4335,
          "delta": 0.0228,
          "percent_delta": 0.0555,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5747,
          "after": 0.594,
          "delta": 0.0193,
          "percent_delta": 0.0336,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4974,
          "after": 0.5141,
          "delta": 0.0167,
          "percent_delta": 0.0336,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4941,
          "after": 0.5121,
          "delta": 0.018,
          "percent_delta": 0.0364,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5607,
          "after": 0.5536,
          "delta": -0.0071,
          "percent_delta": -0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.4107,
          "after": 0.4335,
          "delta": 0.0228,
          "percent_delta": 0.0555,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=4.62), rates preserved: AVG=0.356 HR/AB=0.024",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2195,
          "after": 0.0,
          "delta": -0.2195,
          "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": 4.3279,
          "after": 5.0,
          "delta": 0.6721,
          "percent_delta": 0.1553,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4099,
          "after": 0.0,
          "delta": -0.4099,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.6441,
          "after": 2.0,
          "delta": 0.3559,
          "percent_delta": 0.2165,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.021,
          "after": 0.0,
          "delta": -0.021,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1129,
          "after": 0.0,
          "delta": -0.1129,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5141,
          "after": 1.0,
          "delta": 0.4859,
          "percent_delta": 0.9451,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5536,
          "after": 1.0,
          "delta": 0.4464,
          "percent_delta": 0.8064,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.3279,
          "after": 5.0,
          "delta": 0.6721,
          "percent_delta": 0.1553,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4099,
          "after": 0.0,
          "delta": -0.4099,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.364)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8927,
        "bvp": 0.1073
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.594,
          "after": 1.0,
          "delta": 0.406,
          "percent_delta": 0.6835,
          "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.594,
          "after": 1.0,
          "delta": 0.406,
          "percent_delta": 0.6835,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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": "embedded_savant_player_context",
      "description": "Player 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.357,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.419,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.502,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3799,
          "after": 0.357,
          "delta": -0.0229,
          "percent_delta": -0.0603,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4335,
          "after": 0.419,
          "delta": -0.0145,
          "percent_delta": -0.0334,
          "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.5121,
          "after": 0.502,
          "delta": -0.0101,
          "percent_delta": -0.0197,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.3799,
        "predicted_BB": 0.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.4335,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5121,
        "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.357,
          "after": 0.3799,
          "delta": 0.0229,
          "percent_delta": 0.0641,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.419,
          "after": 0.4335,
          "delta": 0.0145,
          "percent_delta": 0.0347,
          "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.502,
          "after": 0.5121,
          "delta": 0.0101,
          "percent_delta": 0.0201,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.357,
          "after": 0.3799,
          "delta": 0.0229,
          "percent_delta": 0.0641,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.167,
        "after": 1.0,
        "delta": 0.833,
        "percent_delta": 4.988,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.008,
        "after": 0.0,
        "delta": -0.008,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.62,
        "after": 4.0,
        "delta": -0.62,
        "percent_delta": -0.1342,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.394,
        "after": 0.3799,
        "delta": -0.0141,
        "percent_delta": -0.0358,
        "direction": "deboost",
        "projection_effect": "worse",
        "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.82,
        "after": 2.0,
        "delta": 0.18,
        "percent_delta": 0.0989,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.13,
        "after": 1.0,
        "delta": 0.87,
        "percent_delta": 6.6923,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.417,
        "after": 0.4335,
        "delta": 0.0165,
        "percent_delta": 0.0396,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.533,
        "after": 1.0,
        "delta": 0.467,
        "percent_delta": 0.8762,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.48,
        "after": 2.0,
        "delta": 1.52,
        "percent_delta": 3.1667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.504,
        "after": 0.5121,
        "delta": 0.0081,
        "percent_delta": 0.0161,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.592,
        "after": 0.0,
        "delta": -0.592,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 7,
      "deboosted_metrics": 4,
      "better_metrics": 8,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.48,
        "after": 2.0,
        "delta": 1.52,
        "percent_delta": 3.1667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.62,
        "after": 4.0,
        "delta": -0.62,
        "percent_delta": -0.1342,
        "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.167-
predicted_3B0.008-
predicted_AB4.620-
predicted_AVG0.394-
predicted_BB0.400-
predicted_H1.820-
predicted_HR0.130-
predicted_OBP0.417-
predicted_R0.533-
predicted_RBI0.480-
predicted_SLG0.504-
predicted_SO0.592-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.2200.052
predicted_3B0.007-0.001
predicted_AB4.328-0.292
predicted_AVG0.371-0.023
predicted_BB0.4050.005
predicted_H1.615-0.205
predicted_HBP0.021-
predicted_HR0.110-0.020
predicted_OBP0.411-0.006
predicted_R0.5750.042
predicted_RBI0.4970.017
predicted_SLG0.494-0.010
predicted_SO0.561-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.2200.000
predicted_3B0.0070.000
predicted_AB4.3280.000
predicted_AVG0.3800.009
predicted_BB0.4100.005
predicted_H1.6440.029
predicted_HBP0.0210.000
predicted_HR0.1130.003
predicted_OBP0.4330.023
predicted_R0.5940.019
predicted_RBI0.5140.017
predicted_SLG0.5120.018
predicted_SO0.554-0.007
4. ab_floor_and_scaling

AB rounded to 5 (raw=4.62), rates preserved: AVG=0.356 HR/AB=0.024

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB5.000-
BB0.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
5. bvp_blend

Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.364)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
H2.0000.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB5.0000.000
BB1.0001.000
H2.0000.000
HR1.0001.000
R1.0000.000
RBI1.0000.000
SO1.0000.000
8. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.220
predicted_3B0.000-0.007
predicted_AB5.0000.672
predicted_AVG0.357-0.023
predicted_BB0.000-0.410
predicted_H2.0000.356
predicted_HR0.000-0.113
predicted_OBP0.419-0.015
predicted_R1.0000.406
predicted_RBI1.0000.486
predicted_SLG0.502-0.010
predicted_SO1.0000.446
9. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB4.000-1.000
BB0.000-1.000
CS0.0000.000
H2.0000.000
HBP0.0000.000
HR1.0000.000
PA4.000-
R1.0000.000
RBI2.0001.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 120
Reference playing time: 4.620
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.00011.0003.0000.0000.0002.0004.0002.0001.0000.52380.56520.66670.52380.00000.09520.09520.0476
last_100.2010-40.00016.0004.0000.0001.0006.0008.0005.0005.0000.40000.45650.57500.40000.02500.15000.12500.1250
season0.60120-463.000125.00020.0001.00012.00064.00064.00048.00071.0000.27000.33970.39520.27000.02590.13820.10370.1533
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2880
predicted_3B0.0060
predicted_AB3.9470
predicted_AVG0.3414
predicted_BB0.4110
predicted_H1.3470
predicted_HBP0.0210
predicted_HR0.0840
predicted_OBP0.4026
predicted_R0.6290
predicted_RBI0.5200
predicted_SLG0.4812
predicted_SO0.5200
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16700.28800.2195model_form_blend
predicted_3B0.00800.00600.0071model_form_blend
predicted_AB4.62003.94704.3279model_form_blend
predicted_AVG0.39400.34140.3712model_form_blend
predicted_BB0.40000.41100.4048model_form_blend
predicted_H1.82001.34701.6147model_form_blend
predicted_HBP-0.02100.0210form_only
predicted_HR0.13000.08400.1100model_form_blend
predicted_OBP0.41700.40260.4107model_form_blend
predicted_R0.53300.62900.5747model_form_blend
predicted_RBI0.48000.52000.4974model_form_blend
predicted_SLG0.50400.48120.4941model_form_blend
predicted_SO0.59200.52000.5607model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date510
Season rows before report date510
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
AB4
H2
2B1
3B0
HR1
R1
RBI2
BB0
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_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_SO0
Hitting_TB0
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260826_MIL@NYM
game_typefull
mlbID661388
playerID661388
playerNameWilliam Contreras
posC
startedTrue
startingPositionC
teamMIL
teamID16
game_date2026-08-26
sl_k_percent13.7
sl_bb_percent9.5
sl_woba0.327
sl_xwoba0.337
sl_xba0.264
sl_xslg0.441
sl_sweet_spot_percent32.5
sl_barrel_batted_rate7.9
sl_hard_hit_percent43.5
sl_exit_velocity_avg90.1
sl_launch_angle_avg12.4
sl_whiff_percent20.3
sl_swing_percent46.9
Cooper Pratt (806198) · BATTER · SS · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 169
All-history rows before 20260827: 169
System season_avg: 0.2550
Data season_avg (2026 season-to-date): 0.2734
Diff (system - data): -0.0184
System opponent_avg: 0.3850
System season_avg diverges from 2026 season-to-date by -0.0184. 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.0890.0000.000Hitting_2B0.1180.000-0.1180.000
predicted_3B0.0220.0000.000Hitting_3B0.0530.000-0.0530.000
predicted_AB3.1334.0003.000Hitting_AB3.2904.0000.7100.000
predicted_AVG0.2480.0000.333Hitting_AVG0.2730.500-0.273-0.500
predicted_BB0.3560.0000.000Hitting_BB0.4140.000-0.4140.000
predicted_CS-0.0000.000BaseRunning_CS0.0300.000-0.0300.000
predicted_H0.6800.0001.000Hitting_H0.8992.000-0.899-2.000
predicted_HR0.0300.0000.000Hitting_HR0.0470.000-0.0470.000
predicted_OBP0.2510.0000.333Hitting_OBP0.3510.500-0.351-0.500
predicted_R0.4000.0000.000Hitting_R0.4972.000-0.497-2.000
predicted_RBI0.2600.0000.000Hitting_RBI0.4440.000-0.4440.000
predicted_SLG0.2940.0000.333Hitting_SLG0.3850.500-0.385-0.500
predicted_SO0.7331.0001.000Hitting_SO0.6980.0000.3021.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.1330 -> 4.0000 (boost 0.8670, better)
Biggest Deboostpredicted_H: 0.6800 -> 0.0000 (deboost -0.6800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41304predicted_SO: 0.7330 -> 0.7872 (boost 0.0542, worse)predicted_BB: 0.3560 -> 0.3002 (deboost -0.0558, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot21111predicted_OBP: 0.2490 -> 0.2836 (boost 0.0346, better)predicted_AVG: 0.2293 -> 0.2146 (deboost -0.0147, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62415predicted_H: 0.6775 -> 1.0000 (boost 0.3225, better)predicted_BB: 0.3040 -> 0.0000 (deboost -0.3040, worse)AB rounded to 3 (raw=3.16), rates preserved: AVG=0.215 HR/AB=0.011
5consistency_constraints10101-predicted_R: 0.3971 -> 0.0000 (deboost -0.3971, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context11010predicted_OBP: 0.2836 -> 0.2890 (boost 0.0054, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_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
9current_json_final10101-predicted_OBP: 0.2890 -> 0.2836 (deboost -0.0054, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "806198",
  "player_name": "Cooper Pratt",
  "position": "SS",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.089,
        "predicted_3B": 0.022,
        "predicted_AB": 3.133,
        "predicted_AVG": 0.248,
        "predicted_BB": 0.356,
        "predicted_H": 0.68,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.251,
        "predicted_R": 0.4,
        "predicted_RBI": 0.26,
        "predicted_SLG": 0.294,
        "predicted_SO": 0.733
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0882,
        "predicted_3B": 0.0184,
        "predicted_AB": 3.1569,
        "predicted_AVG": 0.2293,
        "predicted_BB": 0.3002,
        "predicted_H": 0.6654,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.034,
        "predicted_OBP": 0.249,
        "predicted_R": 0.3842,
        "predicted_RBI": 0.2883,
        "predicted_SLG": 0.2864,
        "predicted_SO": 0.7872
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.089,
          "after": 0.0882,
          "delta": -0.0008,
          "percent_delta": -0.009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.022,
          "after": 0.0184,
          "delta": -0.0036,
          "percent_delta": -0.1636,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.133,
          "after": 3.1569,
          "delta": 0.0239,
          "percent_delta": 0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.248,
          "after": 0.2293,
          "delta": -0.0187,
          "percent_delta": -0.0754,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.356,
          "after": 0.3002,
          "delta": -0.0558,
          "percent_delta": -0.1567,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.68,
          "after": 0.6654,
          "delta": -0.0146,
          "percent_delta": -0.0215,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.03,
          "after": 0.034,
          "delta": 0.004,
          "percent_delta": 0.1333,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.251,
          "after": 0.249,
          "delta": -0.002,
          "percent_delta": -0.008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4,
          "after": 0.3842,
          "delta": -0.0158,
          "percent_delta": -0.0395,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.26,
          "after": 0.2883,
          "delta": 0.0283,
          "percent_delta": 0.1088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.294,
          "after": 0.2864,
          "delta": -0.0076,
          "percent_delta": -0.0259,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.733,
          "after": 0.7872,
          "delta": 0.0542,
          "percent_delta": 0.0739,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.733,
          "after": 0.7872,
          "delta": 0.0542,
          "percent_delta": 0.0739,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.356,
          "after": 0.3002,
          "delta": -0.0558,
          "percent_delta": -0.1567,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 45
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0882,
        "predicted_3B": 0.0184,
        "predicted_AB": 3.1569,
        "predicted_AVG": 0.2146,
        "predicted_BB": 0.304,
        "predicted_H": 0.6775,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0349,
        "predicted_OBP": 0.2836,
        "predicted_R": 0.3971,
        "predicted_RBI": 0.298,
        "predicted_SLG": 0.2874,
        "predicted_SO": 0.7772
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0882,
          "after": 0.0882,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0184,
          "after": 0.0184,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.1569,
          "after": 3.1569,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2293,
          "after": 0.2146,
          "delta": -0.0147,
          "percent_delta": -0.0641,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3002,
          "after": 0.304,
          "delta": 0.0038,
          "percent_delta": 0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6654,
          "after": 0.6775,
          "delta": 0.0121,
          "percent_delta": 0.0182,
          "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.034,
          "after": 0.0349,
          "delta": 0.0009,
          "percent_delta": 0.0265,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.249,
          "after": 0.2836,
          "delta": 0.0346,
          "percent_delta": 0.139,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3842,
          "after": 0.3971,
          "delta": 0.0129,
          "percent_delta": 0.0336,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2883,
          "after": 0.298,
          "delta": 0.0097,
          "percent_delta": 0.0336,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2864,
          "after": 0.2874,
          "delta": 0.001,
          "percent_delta": 0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.7872,
          "after": 0.7772,
          "delta": -0.01,
          "percent_delta": -0.0127,
          "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.249,
          "after": 0.2836,
          "delta": 0.0346,
          "percent_delta": 0.139,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2293,
          "after": 0.2146,
          "delta": -0.0147,
          "percent_delta": -0.0641,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.16), rates preserved: AVG=0.215 HR/AB=0.011",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0882,
          "after": 0.0,
          "delta": -0.0882,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0184,
          "after": 0.0,
          "delta": -0.0184,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.1569,
          "after": 3.0,
          "delta": -0.1569,
          "percent_delta": -0.0497,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.304,
          "after": 0.0,
          "delta": -0.304,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6775,
          "after": 1.0,
          "delta": 0.3225,
          "percent_delta": 0.476,
          "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.0349,
          "after": 0.0,
          "delta": -0.0349,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.298,
          "after": 0.0,
          "delta": -0.298,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7772,
          "after": 1.0,
          "delta": 0.2228,
          "percent_delta": 0.2867,
          "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.6775,
          "after": 1.0,
          "delta": 0.3225,
          "percent_delta": 0.476,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.304,
          "after": 0.0,
          "delta": -0.304,
          "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.3971,
          "after": 0.0,
          "delta": -0.3971,
          "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.3971,
          "after": 0.0,
          "delta": -0.3971,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": {},
      "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.215,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.289,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.287,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2146,
          "after": 0.215,
          "delta": 0.0004,
          "percent_delta": 0.0019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.289,
          "delta": 0.0054,
          "percent_delta": 0.019,
          "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.2874,
          "after": 0.287,
          "delta": -0.0004,
          "percent_delta": -0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2836,
          "after": 0.289,
          "delta": 0.0054,
          "percent_delta": 0.019,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2146,
        "predicted_BB": 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.2874,
        "predicted_SO": 1.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.215,
          "after": 0.2146,
          "delta": -0.0004,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.289,
          "after": 0.2836,
          "delta": -0.0054,
          "percent_delta": -0.0187,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.287,
          "after": 0.2874,
          "delta": 0.0004,
          "percent_delta": 0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.289,
          "after": 0.2836,
          "delta": -0.0054,
          "percent_delta": -0.0187,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.089,
        "after": 0.0,
        "delta": -0.089,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.022,
        "after": 0.0,
        "delta": -0.022,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.133,
        "after": 4.0,
        "delta": 0.867,
        "percent_delta": 0.2767,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.248,
        "after": 0.2146,
        "delta": -0.0334,
        "percent_delta": -0.1347,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.356,
        "after": 0.0,
        "delta": -0.356,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.68,
        "after": 0.0,
        "delta": -0.68,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.03,
        "after": 0.0,
        "delta": -0.03,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.251,
        "after": 0.2836,
        "delta": 0.0326,
        "percent_delta": 0.1299,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.4,
        "after": 0.0,
        "delta": -0.4,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.26,
        "after": 0.0,
        "delta": -0.26,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.294,
        "after": 0.2874,
        "delta": -0.0066,
        "percent_delta": -0.0224,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.733,
        "after": 1.0,
        "delta": 0.267,
        "percent_delta": 0.3643,
        "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.133,
        "after": 4.0,
        "delta": 0.867,
        "percent_delta": 0.2767,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.68,
        "after": 0.0,
        "delta": -0.68,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.089-
predicted_3B0.022-
predicted_AB3.133-
predicted_AVG0.248-
predicted_BB0.356-
predicted_H0.680-
predicted_HR0.030-
predicted_OBP0.251-
predicted_R0.400-
predicted_RBI0.260-
predicted_SLG0.294-
predicted_SO0.733-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.088-0.001
predicted_3B0.018-0.004
predicted_AB3.1570.024
predicted_AVG0.229-0.019
predicted_BB0.300-0.056
predicted_H0.665-0.015
predicted_HBP0.016-
predicted_HR0.0340.004
predicted_OBP0.249-0.002
predicted_R0.384-0.016
predicted_RBI0.2880.028
predicted_SLG0.286-0.008
predicted_SO0.7870.054
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.0880.000
predicted_3B0.0180.000
predicted_AB3.1570.000
predicted_AVG0.215-0.015
predicted_BB0.3040.004
predicted_H0.6770.012
predicted_HBP0.0160.000
predicted_HR0.0350.001
predicted_OBP0.2840.035
predicted_R0.3970.013
predicted_RBI0.2980.010
predicted_SLG0.2870.001
predicted_SO0.777-0.010
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.16), rates preserved: AVG=0.215 HR/AB=0.011

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. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.088
predicted_3B0.000-0.018
predicted_AB3.000-0.157
predicted_AVG0.2150.000
predicted_BB0.000-0.304
predicted_H1.0000.323
predicted_HR0.000-0.035
predicted_OBP0.2890.005
predicted_R0.000-0.397
predicted_RBI0.000-0.298
predicted_SLG0.287-0.000
predicted_SO1.0000.223
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
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: 45
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0001.0000.0000.0000.0001.0001.0000.0006.0000.06670.06670.06670.06670.00000.06670.00000.4000
last_100.2010-30.0004.0001.0000.0000.0002.0003.0000.0009.0000.13330.13330.16670.13330.00000.06670.00000.3000
season0.6045-141.00036.0004.0001.0002.00017.00018.00016.00033.0000.25530.32520.34040.25530.01420.12060.11350.2340
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0870
predicted_3B0.0130
predicted_AB3.1920
predicted_AVG0.2017
predicted_BB0.2180
predicted_H0.6440
predicted_HBP0.0160
predicted_HR0.0400
predicted_OBP0.2460
predicted_R0.3610
predicted_RBI0.3300
predicted_SLG0.2753
predicted_SO0.8670
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.08900.08700.0882model_form_blend
predicted_3B0.02200.01300.0184model_form_blend
predicted_AB3.13303.19203.1569model_form_blend
predicted_AVG0.24800.20170.2293model_form_blend
predicted_BB0.35600.21800.3002model_form_blend
predicted_H0.68000.64400.6654model_form_blend
predicted_HBP-0.01600.0160form_only
predicted_HR0.03000.04000.0340model_form_blend
predicted_OBP0.25100.24600.2490model_form_blend
predicted_R0.40000.36100.3842model_form_blend
predicted_RBI0.26000.33000.2883model_form_blend
predicted_SLG0.29400.27530.2864model_form_blend
predicted_SO0.73300.86700.7872model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date169
Season rows before report date169
Report year2026
Profile rows used45
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R2
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_battingOrder9
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260826_MIL@NYM
game_typefull
mlbID806198
playerID806198
playerNameCooper Pratt
posSS
startedTrue
startingPositionSS
teamMIL
teamID16
game_date2026-08-26
sl_k_percent19.3
sl_bb_percent9.6
sl_woba0.314
sl_xwoba0.311
sl_xba0.257
sl_xslg0.361
sl_sweet_spot_percent39.7
sl_barrel_batted_rate3.9
sl_hard_hit_percent29.8
sl_exit_velocity_avg87.2
sl_launch_angle_avg11.0
sl_whiff_percent23.7
sl_swing_percent46.3
Andrew Vaughn (683734) · BATTER · 1B · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 272
All-history rows before 20260827: 272
System season_avg: 0.3110
Data season_avg (2026 season-to-date): 0.3186
Diff (system - data): -0.0076
System opponent_avg: 0.2620

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1980.0000.000Hitting_2B0.2240.000-0.2240.000
predicted_3B0.0250.0000.000Hitting_3B0.0330.000-0.0330.000
predicted_AB2.9383.0003.000Hitting_AB3.2544.000-0.254-1.000
predicted_AVG0.3160.3330.333Hitting_AVG0.3190.2500.0150.083
predicted_BB0.3461.0000.000Hitting_BB0.4301.0000.5700.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8401.0001.000Hitting_H1.0371.000-0.0370.000
predicted_HR0.0600.0000.000Hitting_HR0.0850.000-0.0850.000
predicted_OBP0.3810.5000.333Hitting_OBP0.4060.4000.0940.100
predicted_R0.3581.0000.000Hitting_R0.4671.0000.5330.000
predicted_RBI0.3700.0000.000Hitting_RBI0.5000.000-0.5000.000
predicted_SLG0.4240.3330.333Hitting_SLG0.4860.250-0.1530.083
predicted_SO0.5191.0000.000Hitting_SO0.5742.0000.426-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics7
Deboosted Metrics3
Better Metrics6
Worse Metrics4
Biggest Boostpredicted_BB: 0.3460 -> 1.0000 (boost 0.6540, better)
Biggest Deboostpredicted_RBI: 0.3700 -> 0.0000 (deboost -0.3700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend33030predicted_H: 0.8400 -> 0.9183 (boost 0.0783, 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.4274 -> 0.4388 (boost 0.0114, better)predicted_AVG: 0.3247 -> 0.3134 (deboost -0.0113, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62415predicted_SO: 0.5216 -> 1.0000 (boost 0.4784, worse)predicted_RBI: 0.3894 -> 0.0000 (deboost -0.3894, worse)AB rounded to 3 (raw=2.98), rates preserved: AVG=0.313 HR/AB=0.018
5bvp_blend00000--Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)
6consistency_constraints10101-predicted_R: 0.3588 -> 0.0000 (deboost -0.3588, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7lineup_integer_allocation10110-predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
8embedded_savant_player_context31203predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse)predicted_SLG: 0.4388 -> 0.4290 (deboost -0.0098, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
9simulation_box_score_reference22020predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
10current_json_final22020predicted_SLG: 0.4290 -> 0.4388 (boost 0.0098, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "683734",
  "player_name": "Andrew Vaughn",
  "position": "1B",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.198,
        "predicted_3B": 0.025,
        "predicted_AB": 2.938,
        "predicted_AVG": 0.316,
        "predicted_BB": 0.346,
        "predicted_H": 0.84,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.381,
        "predicted_R": 0.358,
        "predicted_RBI": 0.37,
        "predicted_SLG": 0.424,
        "predicted_SO": 0.519
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local 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.0208,
        "predicted_AB": 2.9835,
        "predicted_AVG": 0.3247,
        "predicted_BB": 0.3523,
        "predicted_H": 0.9183,
        "predicted_HBP": 0.049,
        "predicted_HR": 0.0537,
        "predicted_OBP": 0.3946,
        "predicted_R": 0.3471,
        "predicted_RBI": 0.3767,
        "predicted_SLG": 0.4274,
        "predicted_SO": 0.5283
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.198,
          "after": 0.1673,
          "delta": -0.0307,
          "percent_delta": -0.1551,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.025,
          "after": 0.0208,
          "delta": -0.0042,
          "percent_delta": -0.168,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.938,
          "after": 2.9835,
          "delta": 0.0455,
          "percent_delta": 0.0155,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.316,
          "after": 0.3247,
          "delta": 0.0087,
          "percent_delta": 0.0275,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.346,
          "after": 0.3523,
          "delta": 0.0063,
          "percent_delta": 0.0182,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.84,
          "after": 0.9183,
          "delta": 0.0783,
          "percent_delta": 0.0932,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.0537,
          "delta": -0.0063,
          "percent_delta": -0.105,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.381,
          "after": 0.3946,
          "delta": 0.0136,
          "percent_delta": 0.0357,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.358,
          "after": 0.3471,
          "delta": -0.0109,
          "percent_delta": -0.0304,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.37,
          "after": 0.3767,
          "delta": 0.0067,
          "percent_delta": 0.0181,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.424,
          "after": 0.4274,
          "delta": 0.0034,
          "percent_delta": 0.008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.519,
          "after": 0.5283,
          "delta": 0.0093,
          "percent_delta": 0.0179,
          "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.84,
          "after": 0.9183,
          "delta": 0.0783,
          "percent_delta": 0.0932,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 81
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1673,
        "predicted_3B": 0.0208,
        "predicted_AB": 2.9835,
        "predicted_AVG": 0.3134,
        "predicted_BB": 0.3568,
        "predicted_H": 0.935,
        "predicted_HBP": 0.049,
        "predicted_HR": 0.0551,
        "predicted_OBP": 0.3867,
        "predicted_R": 0.3588,
        "predicted_RBI": 0.3894,
        "predicted_SLG": 0.4388,
        "predicted_SO": 0.5216
      },
      "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.0208,
          "after": 0.0208,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9835,
          "after": 2.9835,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3247,
          "after": 0.3134,
          "delta": -0.0113,
          "percent_delta": -0.0348,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3523,
          "after": 0.3568,
          "delta": 0.0045,
          "percent_delta": 0.0128,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9183,
          "after": 0.935,
          "delta": 0.0167,
          "percent_delta": 0.0182,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.049,
          "after": 0.049,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0537,
          "after": 0.0551,
          "delta": 0.0014,
          "percent_delta": 0.0261,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3946,
          "after": 0.3867,
          "delta": -0.0079,
          "percent_delta": -0.02,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3471,
          "after": 0.3588,
          "delta": 0.0117,
          "percent_delta": 0.0337,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3767,
          "after": 0.3894,
          "delta": 0.0127,
          "percent_delta": 0.0337,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4274,
          "after": 0.4388,
          "delta": 0.0114,
          "percent_delta": 0.0267,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5283,
          "after": 0.5216,
          "delta": -0.0067,
          "percent_delta": -0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.4274,
          "after": 0.4388,
          "delta": 0.0114,
          "percent_delta": 0.0267,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.3247,
          "after": 0.3134,
          "delta": -0.0113,
          "percent_delta": -0.0348,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.98), rates preserved: AVG=0.313 HR/AB=0.018",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1673,
          "after": 0.0,
          "delta": -0.1673,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0208,
          "after": 0.0,
          "delta": -0.0208,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9835,
          "after": 3.0,
          "delta": 0.0165,
          "percent_delta": 0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3568,
          "after": 0.0,
          "delta": -0.3568,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.935,
          "after": 1.0,
          "delta": 0.065,
          "percent_delta": 0.0695,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.049,
          "after": 0.0,
          "delta": -0.049,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0551,
          "after": 0.0,
          "delta": -0.0551,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3894,
          "after": 0.0,
          "delta": -0.3894,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5216,
          "after": 1.0,
          "delta": 0.4784,
          "percent_delta": 0.9172,
          "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.5216,
          "after": 1.0,
          "delta": 0.4784,
          "percent_delta": 0.9172,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3894,
          "after": 0.0,
          "delta": -0.3894,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9158,
        "bvp": 0.0842
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3588,
          "after": 0.0,
          "delta": -0.3588,
          "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.3588,
          "after": 0.0,
          "delta": -0.3588,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "embedded_savant_player_context",
      "description": "Player 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.308,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.387,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.429,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3134,
          "after": 0.308,
          "delta": -0.0054,
          "percent_delta": -0.0172,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3867,
          "after": 0.387,
          "delta": 0.0003,
          "percent_delta": 0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4388,
          "after": 0.429,
          "delta": -0.0098,
          "percent_delta": -0.0223,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4388,
          "after": 0.429,
          "delta": -0.0098,
          "percent_delta": -0.0223,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "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.3134,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3867,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4388,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.308,
          "after": 0.3134,
          "delta": 0.0054,
          "percent_delta": 0.0175,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.387,
          "after": 0.3867,
          "delta": -0.0003,
          "percent_delta": -0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.429,
          "after": 0.4388,
          "delta": 0.0098,
          "percent_delta": 0.0229,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.429,
          "after": 0.4388,
          "delta": 0.0098,
          "percent_delta": 0.0229,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.198,
        "after": 0.0,
        "delta": -0.198,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.025,
        "after": 0.0,
        "delta": -0.025,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.938,
        "after": 3.0,
        "delta": 0.062,
        "percent_delta": 0.0211,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.316,
        "after": 0.3134,
        "delta": -0.0026,
        "percent_delta": -0.0082,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.346,
        "after": 1.0,
        "delta": 0.654,
        "percent_delta": 1.8902,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.84,
        "after": 1.0,
        "delta": 0.16,
        "percent_delta": 0.1905,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 0.0,
        "delta": -0.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.381,
        "after": 0.3867,
        "delta": 0.0057,
        "percent_delta": 0.015,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.358,
        "after": 1.0,
        "delta": 0.642,
        "percent_delta": 1.7933,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.37,
        "after": 0.0,
        "delta": -0.37,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.424,
        "after": 0.4388,
        "delta": 0.0148,
        "percent_delta": 0.0349,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.519,
        "after": 1.0,
        "delta": 0.481,
        "percent_delta": 0.9268,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 7,
      "deboosted_metrics": 3,
      "better_metrics": 6,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.346,
        "after": 1.0,
        "delta": 0.654,
        "percent_delta": 1.8902,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.37,
        "after": 0.0,
        "delta": -0.37,
        "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.198-
predicted_3B0.025-
predicted_AB2.938-
predicted_AVG0.316-
predicted_BB0.346-
predicted_H0.840-
predicted_HR0.060-
predicted_OBP0.381-
predicted_R0.358-
predicted_RBI0.370-
predicted_SLG0.424-
predicted_SO0.519-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.167-0.031
predicted_3B0.021-0.004
predicted_AB2.9830.045
predicted_AVG0.3250.009
predicted_BB0.3520.006
predicted_H0.9180.078
predicted_HBP0.049-
predicted_HR0.054-0.006
predicted_OBP0.3950.014
predicted_R0.347-0.011
predicted_RBI0.3770.007
predicted_SLG0.4270.003
predicted_SO0.5280.009
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1670.000
predicted_3B0.0210.000
predicted_AB2.9830.000
predicted_AVG0.313-0.011
predicted_BB0.3570.005
predicted_H0.9350.017
predicted_HBP0.0490.000
predicted_HR0.0550.001
predicted_OBP0.387-0.008
predicted_R0.3590.012
predicted_RBI0.3890.013
predicted_SLG0.4390.011
predicted_SO0.522-0.007
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.98), rates preserved: AVG=0.313 HR/AB=0.018

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=8.0, weight=0.084, BvP AVG=0.250)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
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. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.000
SO0.000-1.000
8. embedded_savant_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.021
predicted_AB3.0000.017
predicted_AVG0.308-0.005
predicted_BB0.000-0.357
predicted_H1.0000.065
predicted_HR0.000-0.055
predicted_OBP0.3870.000
predicted_R0.000-0.359
predicted_RBI0.000-0.389
predicted_SLG0.429-0.010
predicted_SO1.0000.478
9. 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
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO1.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 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-15.0006.0000.0000.0000.0001.0001.0002.0003.0000.40000.47060.40000.40000.00000.06670.13330.2000
last_100.2010-30.00012.0000.0000.0000.0003.0003.0004.0004.0000.40000.48570.40000.40000.00000.10000.13330.1333
season0.6081-238.00074.00016.0002.0005.00037.00029.00028.00042.0000.31090.38970.45800.31090.02100.15550.11770.1765
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1250
predicted_3B0.0150
predicted_AB3.0460
predicted_AVG0.3367
predicted_BB0.3610
predicted_H1.0260
predicted_HBP0.0490
predicted_HR0.0450
predicted_OBP0.4132
predicted_R0.3320
predicted_RBI0.3860
predicted_SLG0.4321
predicted_SO0.5410
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19800.12500.1673model_form_blend
predicted_3B0.02500.01500.0208model_form_blend
predicted_AB2.93803.04602.9835model_form_blend
predicted_AVG0.31600.33670.3247model_form_blend
predicted_BB0.34600.36100.3523model_form_blend
predicted_H0.84001.02600.9183model_form_blend
predicted_HBP-0.04900.0490form_only
predicted_HR0.06000.04500.0537model_form_blend
predicted_OBP0.38100.41320.3946model_form_blend
predicted_R0.35800.33200.3471model_form_blend
predicted_RBI0.37000.38600.3767model_form_blend
predicted_SLG0.42400.43210.4274model_form_blend
predicted_SO0.51900.54100.5283model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date272
Season rows before report date272
Report year2026
Profile rows used81
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H1
2B0
3B0
HR0
R1
RBI0
BB1
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_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_SO2
Hitting_TB1
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260826_MIL@NYM
game_typefull
mlbID683734
playerID683734
playerNameAndrew Vaughn
pos1B
startedTrue
startingPosition1B
teamMIL
teamID16
game_date2026-08-26
sl_k_percent15.4
sl_bb_percent11.0
sl_woba0.373
sl_xwoba0.338
sl_xba0.271
sl_xslg0.388
sl_sweet_spot_percent31.6
sl_barrel_batted_rate5.3
sl_hard_hit_percent43.1
sl_exit_velocity_avg89.9
sl_launch_angle_avg10.3
sl_whiff_percent19.6
sl_swing_percent38.6
David Hamilton (666152) · BATTER · 3B · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 314
All-history rows before 20260827: 314
System season_avg: 0.2360
Data season_avg (2026 season-to-date): 0.2505
Diff (system - data): -0.0145
System opponent_avg: 0.2360

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1101.0000.000Hitting_2B0.1180.0000.8821.000
predicted_3B0.0220.0000.000Hitting_3B0.0160.000-0.0160.000
predicted_AB2.9783.0003.000Hitting_AB3.1535.000-0.153-2.000
predicted_AVG0.2070.3330.000Hitting_AVG0.2510.2000.0830.133
predicted_BB0.2971.0000.000Hitting_BB0.3570.0000.6431.000
predicted_CS-0.0000.000BaseRunning_CS0.0610.000-0.0610.000
predicted_H0.3001.0000.000Hitting_H0.7901.0000.2100.000
predicted_HR0.0500.0000.000Hitting_HR0.0570.000-0.0570.000
predicted_OBP0.2600.5000.000Hitting_OBP0.3290.2000.1710.300
predicted_R0.4290.0001.000Hitting_R0.5161.000-0.516-1.000
predicted_RBI0.2100.0000.000Hitting_RBI0.2801.000-0.280-1.000
predicted_SLG0.3460.6670.000Hitting_SLG0.3530.2000.3140.467
predicted_SO0.7581.0001.000Hitting_SO0.7740.0000.2261.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics3
Worse Metrics7
Biggest Boostpredicted_2B: 0.1100 -> 1.0000 (boost 0.8900, better)
Biggest Deboostpredicted_R: 0.4290 -> 0.0000 (deboost -0.4290, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend65160predicted_H: 0.3000 -> 0.5104 (boost 0.2104, better)predicted_SO: 0.7580 -> 0.6983 (deboost -0.0597, 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.3689 -> 0.2922 (deboost -0.0767, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62415predicted_H: 0.5197 -> 1.0000 (boost 0.4803, better)predicted_RBI: 0.3299 -> 0.0000 (deboost -0.3299, worse)AB rounded to 3 (raw=3.01), rates preserved: AVG=0.172 HR/AB=0.023
5consistency_constraints10101-predicted_R: 0.4417 -> 0.0000 (deboost -0.4417, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation21111predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context32121predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference22020predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final10101-predicted_OBP: 0.2480 -> 0.2421 (deboost -0.0059, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "666152",
  "player_name": "David Hamilton",
  "position": "3B",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.11,
        "predicted_3B": 0.022,
        "predicted_AB": 2.978,
        "predicted_AVG": 0.207,
        "predicted_BB": 0.297,
        "predicted_H": 0.3,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.26,
        "predicted_R": 0.429,
        "predicted_RBI": 0.21,
        "predicted_SLG": 0.346,
        "predicted_SO": 0.758
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1185,
        "predicted_3B": 0.0182,
        "predicted_AB": 3.0131,
        "predicted_AVG": 0.2296,
        "predicted_BB": 0.2733,
        "predicted_H": 0.5104,
        "predicted_HBP": 0.009,
        "predicted_HR": 0.0669,
        "predicted_OBP": 0.284,
        "predicted_R": 0.4273,
        "predicted_RBI": 0.3192,
        "predicted_SLG": 0.3689,
        "predicted_SO": 0.6983
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.11,
          "after": 0.1185,
          "delta": 0.0085,
          "percent_delta": 0.0773,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.022,
          "after": 0.0182,
          "delta": -0.0038,
          "percent_delta": -0.1727,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.978,
          "after": 3.0131,
          "delta": 0.0351,
          "percent_delta": 0.0118,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.207,
          "after": 0.2296,
          "delta": 0.0226,
          "percent_delta": 0.1092,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.297,
          "after": 0.2733,
          "delta": -0.0237,
          "percent_delta": -0.0798,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.3,
          "after": 0.5104,
          "delta": 0.2104,
          "percent_delta": 0.7013,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.05,
          "after": 0.0669,
          "delta": 0.0169,
          "percent_delta": 0.338,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.26,
          "after": 0.284,
          "delta": 0.024,
          "percent_delta": 0.0923,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.429,
          "after": 0.4273,
          "delta": -0.0017,
          "percent_delta": -0.004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.21,
          "after": 0.3192,
          "delta": 0.1092,
          "percent_delta": 0.52,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.346,
          "after": 0.3689,
          "delta": 0.0229,
          "percent_delta": 0.0662,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.758,
          "after": 0.6983,
          "delta": -0.0597,
          "percent_delta": -0.0788,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.3,
          "after": 0.5104,
          "delta": 0.2104,
          "percent_delta": 0.7013,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.758,
          "after": 0.6983,
          "delta": -0.0597,
          "percent_delta": -0.0788,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 91
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1185,
        "predicted_3B": 0.0182,
        "predicted_AB": 3.0131,
        "predicted_AVG": 0.1725,
        "predicted_BB": 0.2768,
        "predicted_H": 0.5197,
        "predicted_HBP": 0.009,
        "predicted_HR": 0.0686,
        "predicted_OBP": 0.2421,
        "predicted_R": 0.4417,
        "predicted_RBI": 0.3299,
        "predicted_SLG": 0.2922,
        "predicted_SO": 0.6894
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1185,
          "after": 0.1185,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0182,
          "after": 0.0182,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0131,
          "after": 3.0131,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2296,
          "after": 0.1725,
          "delta": -0.0571,
          "percent_delta": -0.2487,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2733,
          "after": 0.2768,
          "delta": 0.0035,
          "percent_delta": 0.0128,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5104,
          "after": 0.5197,
          "delta": 0.0093,
          "percent_delta": 0.0182,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.009,
          "after": 0.009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0669,
          "after": 0.0686,
          "delta": 0.0017,
          "percent_delta": 0.0254,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.284,
          "after": 0.2421,
          "delta": -0.0419,
          "percent_delta": -0.1475,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4273,
          "after": 0.4417,
          "delta": 0.0144,
          "percent_delta": 0.0337,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3192,
          "after": 0.3299,
          "delta": 0.0107,
          "percent_delta": 0.0335,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3689,
          "after": 0.2922,
          "delta": -0.0767,
          "percent_delta": -0.2079,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6983,
          "after": 0.6894,
          "delta": -0.0089,
          "percent_delta": -0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3689,
          "after": 0.2922,
          "delta": -0.0767,
          "percent_delta": -0.2079,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.01), rates preserved: AVG=0.172 HR/AB=0.023",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1185,
          "after": 0.0,
          "delta": -0.1185,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0182,
          "after": 0.0,
          "delta": -0.0182,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0131,
          "after": 3.0,
          "delta": -0.0131,
          "percent_delta": -0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2768,
          "after": 0.0,
          "delta": -0.2768,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5197,
          "after": 1.0,
          "delta": 0.4803,
          "percent_delta": 0.9242,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.009,
          "after": 0.0,
          "delta": -0.009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0686,
          "after": 0.0,
          "delta": -0.0686,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3299,
          "after": 0.0,
          "delta": -0.3299,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6894,
          "after": 1.0,
          "delta": 0.3106,
          "percent_delta": 0.4505,
          "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.5197,
          "after": 1.0,
          "delta": 0.4803,
          "percent_delta": 0.9242,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3299,
          "after": 0.0,
          "delta": -0.3299,
          "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.4417,
          "after": 0.0,
          "delta": -0.4417,
          "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.4417,
          "after": 0.0,
          "delta": -0.4417,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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": 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.172,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.248,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.292,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1725,
          "after": 0.172,
          "delta": -0.0005,
          "percent_delta": -0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2421,
          "after": 0.248,
          "delta": 0.0059,
          "percent_delta": 0.0244,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2922,
          "after": 0.292,
          "delta": -0.0002,
          "percent_delta": -0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 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": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.1725,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2421,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2922,
        "predicted_SO": 1.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.172,
          "after": 0.1725,
          "delta": 0.0005,
          "percent_delta": 0.0028,
          "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.248,
          "after": 0.2421,
          "delta": -0.0059,
          "percent_delta": -0.0238,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.292,
          "after": 0.2922,
          "delta": 0.0002,
          "percent_delta": 0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.248,
          "after": 0.2421,
          "delta": -0.0059,
          "percent_delta": -0.0238,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.11,
        "after": 1.0,
        "delta": 0.89,
        "percent_delta": 8.0909,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.022,
        "after": 0.0,
        "delta": -0.022,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.978,
        "after": 3.0,
        "delta": 0.022,
        "percent_delta": 0.0074,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AVG",
        "before": 0.207,
        "after": 0.1725,
        "delta": -0.0345,
        "percent_delta": -0.1667,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.297,
        "after": 1.0,
        "delta": 0.703,
        "percent_delta": 2.367,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.3,
        "after": 1.0,
        "delta": 0.7,
        "percent_delta": 2.3333,
        "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.26,
        "after": 0.2421,
        "delta": -0.0179,
        "percent_delta": -0.0688,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.429,
        "after": 0.0,
        "delta": -0.429,
        "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.346,
        "after": 0.2922,
        "delta": -0.0538,
        "percent_delta": -0.1555,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.758,
        "after": 1.0,
        "delta": 0.242,
        "percent_delta": 0.3193,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_2B",
        "before": 0.11,
        "after": 1.0,
        "delta": 0.89,
        "percent_delta": 8.0909,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.429,
        "after": 0.0,
        "delta": -0.429,
        "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.110-
predicted_3B0.022-
predicted_AB2.978-
predicted_AVG0.207-
predicted_BB0.297-
predicted_H0.300-
predicted_HR0.050-
predicted_OBP0.260-
predicted_R0.429-
predicted_RBI0.210-
predicted_SLG0.346-
predicted_SO0.758-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.1180.008
predicted_3B0.018-0.004
predicted_AB3.0130.035
predicted_AVG0.2300.023
predicted_BB0.273-0.024
predicted_H0.5100.210
predicted_HBP0.009-
predicted_HR0.0670.017
predicted_OBP0.2840.024
predicted_R0.427-0.002
predicted_RBI0.3190.109
predicted_SLG0.3690.023
predicted_SO0.698-0.060
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1180.000
predicted_3B0.0180.000
predicted_AB3.0130.000
predicted_AVG0.172-0.057
predicted_BB0.2770.004
predicted_H0.5200.009
predicted_HBP0.0090.000
predicted_HR0.0690.002
predicted_OBP0.242-0.042
predicted_R0.4420.014
predicted_RBI0.3300.011
predicted_SLG0.292-0.077
predicted_SO0.689-0.009
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.01), rates preserved: AVG=0.172 HR/AB=0.023

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. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H0.000-1.000
HR0.0000.000
R1.0001.000
RBI0.0000.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.118
predicted_3B0.000-0.018
predicted_AB3.000-0.013
predicted_AVG0.172-0.001
predicted_BB0.000-0.277
predicted_H1.0000.480
predicted_HR0.000-0.069
predicted_OBP0.2480.006
predicted_R0.000-0.442
predicted_RBI0.000-0.330
predicted_SLG0.292-0.000
predicted_SO1.0000.311
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB3.0000.000
BB1.0001.000
CS0.0000.000
H1.0001.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: 91
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.0005.0001.0000.0001.0005.0002.0000.0001.0000.33330.33330.60000.33330.06670.33330.00000.0667
last_100.2010-30.0008.0001.0000.0001.0006.0004.0003.0005.0000.26670.33330.40000.26670.03330.20000.10000.1667
season0.6091-271.00064.00010.0002.0004.00022.00039.00027.00069.0000.23620.30770.33210.23620.01480.08120.09960.2546
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1300
predicted_3B0.0130
predicted_AB3.0610
predicted_AVG0.2605
predicted_BB0.2410
predicted_H0.7970
predicted_HBP0.0090
predicted_HR0.0900
predicted_OBP0.3168
predicted_R0.4250
predicted_RBI0.4680
predicted_SLG0.4000
predicted_SO0.6170
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11000.13000.1185model_form_blend
predicted_3B0.02200.01300.0182model_form_blend
predicted_AB2.97803.06103.0131model_form_blend
predicted_AVG0.20700.26050.2296model_form_blend
predicted_BB0.29700.24100.2733model_form_blend
predicted_H0.30000.79700.5104model_form_blend
predicted_HBP-0.00900.0090form_only
predicted_HR0.05000.09000.0669model_form_blend
predicted_OBP0.26000.31680.2840model_form_blend
predicted_R0.42900.42500.4273model_form_blend
predicted_RBI0.21000.46800.3192model_form_blend
predicted_SLG0.34600.40000.3689model_form_blend
predicted_SO0.75800.61700.6983model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date314
Season rows before report date314
Report year2026
Profile rows used91
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H1
2B1
3B0
HR0
R0
RBI0
BB1
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.2
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260826_MIL@NYM
game_typefull
mlbID666152
playerID666152
playerNameDavid Hamilton
pos3B
startedTrue
startingPosition3B
teamMIL
teamID16
game_date2026-08-26
sl_k_percent21.2
sl_bb_percent8.8
sl_woba0.292
sl_xwoba0.275
sl_xba0.222
sl_xslg0.311
sl_sweet_spot_percent28.5
sl_barrel_batted_rate3.4
sl_hard_hit_percent27.8
sl_exit_velocity_avg87.0
sl_launch_angle_avg12.5
sl_whiff_percent21.7
sl_swing_percent45.3
Jacob Misiorowski (694819) · PITCHER · Starter · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 24
All-history rows before 20260827: 24

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB1.3752.0000.6250.000
predicted_ER1.0001.0001.000Pitching_ER1.1250.000-0.1251.000
predicted_H0.0000.0000.000Pitching_H3.2084.000-3.208-4.000
predicted_IP6.0006.0006.000Pitching_InningsPitched6.0136.000-0.0130.000
predicted_SO8.0008.0008.000Pitching_SO9.0006.000-1.0002.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics1
Boosted Metrics1
Deboosted Metrics0
Better Metrics1
Worse Metrics0
Biggest Boostpredicted_SO: 5.0000 -> 8.0000 (boost 3.0000, better)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_guardrail11010predicted_SO: 5.0000 -> 8.0000 (boost 3.0000, better)-Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
3current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "694819",
  "player_name": "Jacob Misiorowski",
  "position": "Starter",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 1.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_SO": 5.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 1.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_SO": 8.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 8.0,
          "delta": 3.0,
          "percent_delta": 0.6,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 8.0,
          "delta": 3.0,
          "percent_delta": 0.6,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 1.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_R": 1.0,
        "predicted_SO": 8.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 6.0,
        "after": 6.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 5.0,
        "after": 8.0,
        "delta": 3.0,
        "percent_delta": 0.6,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 1,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 5.0,
        "after": 8.0,
        "delta": 3.0,
        "percent_delta": 0.6,
        "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_BB2.000-
predicted_ER1.000-
predicted_H0.000-
predicted_HR0.000-
predicted_IP6.000-
predicted_SO5.000-
2. pitcher_quality_guardrail

Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.

MetricValueDelta vs Prev Step
predicted_BB2.0000.000
predicted_ER1.0000.000
predicted_H0.0000.000
predicted_HR0.0000.000
predicted_IP6.0000.000
predicted_SO8.0003.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 24
Reference playing time: 6.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45530.0007.00016.0005.00043.0004.0002.10000.70000.23330.53330.16671.43330.1333
last_100.351058.00014.00035.00011.00085.0009.0002.17240.79310.24140.60350.18971.46550.1552
season0.2024145.00027.00077.00033.000216.00013.0001.67590.75860.18620.53100.22761.48970.0897
Weighted Prediction From Real Data
MetricValue
predicted_BB1.2870
predicted_ER1.6170
predicted_ERA2.4656
predicted_H3.7150
predicted_HR0.7950
predicted_IP6.0000
predicted_SO8.0750
predicted_WHIP0.8474
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00001.28701.5885model_form_blend
predicted_ER1.00001.61701.3561model_form_blend
predicted_ERA-2.46562.4656form_only
predicted_H0.00003.71502.1442model_form_blend
predicted_HR0.00000.79500.4588model_form_blend
predicted_IP6.00006.00006.0000model_form_blend
predicted_SO5.00008.07506.7748model_form_blend
predicted_WHIP-0.84740.8474form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date24
Season rows before report date24
Report year2026
Profile rows used24
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP6.0
H0
R1
ER1
BB2
SO8
HR0
BF20
Pitches94

Latest Real Data Snapshot (before report date)

Latest 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 Faced23
Pitching_ER0
Pitching_ERA1.68
Pitching_Flyouts5
Pitching_Groundouts5
Pitching_H4
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched6.0
Pitching_Pitches96
Pitching_R0
Pitching_SO6
Pitching_Strikes55
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260821_ATL@MIL
game_typefull
mlbID694819
playerID694819
playerNameJacob Misiorowski
posP
startedTrue
startingPositionP
teamMIL
teamID16
game_date2026-08-21
sl_k_percent38.9
sl_bb_percent6.1
sl_woba0.21
sl_xwoba0.22
sl_sweet_spot_percent33.8
sl_barrel_batted_rate3.6
sl_hard_hit_percent33.4
sl_whiff_percent37.6
sl_swing_percent51.2
sl_avg_best_speed76.228155667
sl_avg_hyper_speed92.995551133
Aaron Ashby (676879) · PITCHER · Setup Man · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 62
All-history rows before 20260827: 62

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.5810.0000.4191.000
predicted_ER1.0001.0001.000Pitching_ER0.4350.0000.5651.000
predicted_H2.0002.0002.000Pitching_H1.0480.0000.9522.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.0811.000-0.0810.000
predicted_SO0.0000.0000.000Pitching_SO1.6450.000-1.6450.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_SO: 3.0000 -> 0.0000 (deboost -3.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_SO: 3.0000 -> 0.0000 (deboost -3.0000, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "676879",
  "player_name": "Aaron Ashby",
  "position": "Setup Man",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 0.0,
          "delta": -3.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 0.0,
          "delta": -3.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 3.0,
        "after": 0.0,
        "delta": -3.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 3.0,
        "after": 0.0,
        "delta": -3.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER1.000-
predicted_H2.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO3.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 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.2001.0003.0002.0005.0001.0001.58820.88240.17650.52940.35290.88230.1765
last_100.351011.1001.0007.0004.00016.0001.0000.79410.97060.08820.61770.35291.41180.0882
season0.206274.00027.00065.00036.000102.0006.0003.28381.36490.36490.87840.48651.37840.0811
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3950
predicted_ER0.2760
predicted_ERA2.3690
predicted_H0.7530
predicted_HR0.1380
predicted_IP1.0000
predicted_SO1.1670
predicted_WHIP1.0936
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.39500.6711model_form_blend
predicted_ER1.00000.27600.6065model_form_blend
predicted_ERA-2.36902.3690form_only
predicted_H2.00000.75301.3222model_form_blend
predicted_HR0.00000.13800.0750model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO3.00001.16702.0036model_form_blend
predicted_WHIP-1.09361.0936form_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
H2
R1
ER1
BB1
SO0
HR0
BF6
Pitches23

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA3.28
Pitching_Flyouts0
Pitching_Groundouts3
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches11
Pitching_R0
Pitching_SO0
Pitching_Strikes5
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260825_MIL@NYM
game_typefull
mlbID676879
playerID676879
playerNameAaron Ashby
posP
startedFalse
startingPositionP
teamMIL
teamID16
game_date2026-08-25
sl_k_percent31.8
sl_bb_percent11.3
sl_woba0.293
sl_xwoba0.263
sl_sweet_spot_percent28.3
sl_barrel_batted_rate4.3
sl_hard_hit_percent39.1
sl_whiff_percent31.9
sl_swing_percent40.7
sl_avg_best_speed75.542882717
sl_avg_hyper_speed94.374202295
Chad Patrick (694477) · PITCHER · Middle Reliever (High Leverage) · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 45
All-history rows before 20260827: 45

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.7780.000-0.7780.000
predicted_ER0.0000.0000.000Pitching_ER0.7561.000-0.756-1.000
predicted_H0.0000.0000.000Pitching_H1.7333.000-1.733-3.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.8870.200-0.8870.800
predicted_SO2.0002.0002.000Pitching_SO1.8220.0000.1782.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": "694477",
  "player_name": "Chad Patrick",
  "position": "Middle Reliever (High Leverage)",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H0.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO2.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 44
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0002.0007.0003.0004.0001.0003.60002.00000.40001.40000.60000.80000.2000
last_100.351011.1002.0009.0005.00014.0001.0001.58821.23530.17650.79410.44121.23530.0882
season0.204491.20031.00075.00035.00082.0007.0003.04361.20000.33820.81820.38180.89450.0764
Weighted Prediction From Real Data
MetricValue
predicted_BB0.5470
predicted_ER0.4050
predicted_ERA3.1525
predicted_H1.2160
predicted_HR0.1600
predicted_IP1.0000
predicted_SO1.1180
predicted_WHIP1.5232
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.54700.3062model_form_blend
predicted_ER0.00000.40500.2267model_form_blend
predicted_ERA-3.15253.1525form_only
predicted_H0.00001.21600.6806model_form_blend
predicted_HR0.00000.16000.0896model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00001.11801.5063model_form_blend
predicted_WHIP-1.52321.5232form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date45
Season rows before report date45
Report year2026
Profile rows used44
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
BB0
SO2
HR0
BF3
Pitches13

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER1
Pitching_ERA3.34
Pitching_Flyouts0
Pitching_Groundouts2
Pitching_H3
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches18
Pitching_R1
Pitching_SO0
Pitching_Strikes12
Pitching_Wild Pitch1
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260825_MIL@NYM
game_typefull
mlbID694477
playerID694477
playerNameChad Patrick
posP
startedFalse
startingPositionP
teamMIL
teamID16
game_date2026-08-25
sl_k_percent20.9
sl_bb_percent9.8
sl_woba0.3
sl_xwoba0.313
sl_sweet_spot_percent33.3
sl_barrel_batted_rate6.2
sl_hard_hit_percent37.4
sl_whiff_percent25.8
sl_swing_percent48.7
sl_avg_best_speed77.70581015
sl_avg_hyper_speed94.040943358
Trevor Megill (656730) · PITCHER · Closer · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 52
All-history rows before 20260827: 52

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2692.000-0.269-2.000
predicted_ER0.0000.0000.000Pitching_ER0.2500.000-0.2500.000
predicted_H0.0000.0000.000Pitching_H0.5771.000-0.577-1.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9691.1000.031-0.100
predicted_SO1.0001.0001.000Pitching_SO1.0961.000-0.0960.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "656730",
  "player_name": "Trevor Megill",
  "position": "Closer",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 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: 51
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4556.0000.0002.0003.0004.0000.0000.00000.83330.00000.33330.50000.66670.0000
last_100.351011.0000.0002.0003.0007.0000.0000.00000.45450.00000.18180.27270.63640.0000
season0.205151.1009.00028.00014.00057.0000.0001.57790.81820.17530.54540.27271.11040.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4100
predicted_ER0.2060
predicted_ERA1.6851
predicted_H0.5900
predicted_HR0.0530
predicted_IP1.0000
predicted_SO0.8920
predicted_WHIP0.9084
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.41000.2099model_form_blend
predicted_ER0.00000.20600.1055model_form_blend
predicted_ERA-1.68511.6851form_only
predicted_H0.00000.59000.3020model_form_blend
predicted_HR0.00000.05300.0271model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.89200.9447model_form_blend
predicted_WHIP-0.90840.9084form_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 date52
Season rows before report date52
Report year2026
Profile rows used51
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
BB0
SO1
HR0
BF3
Pitches13

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs1
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced7
Pitching_ER0
Pitching_ERA2.28
Pitching_Flyouts2
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.1
Pitching_Pitches19
Pitching_R1
Pitching_SO1
Pitching_Strikes14
Pitching_Wild Pitch0
Pitching_decisionL
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260825_MIL@NYM
game_typefull
mlbID656730
playerID656730
playerNameTrevor Megill
posP
startedFalse
startingPositionP
teamMIL
teamID16
game_date2026-08-25
sl_k_percent28.1
sl_bb_percent6.9
sl_woba0.191
sl_xwoba0.249
sl_sweet_spot_percent29.8
sl_barrel_batted_rate5.4
sl_hard_hit_percent41.2
sl_whiff_percent32.1
sl_swing_percent53.1
sl_avg_best_speed81.432819048
sl_avg_hyper_speed94.318856111

Home Team: NYM

Home Pitcher Deep Analysis

FieldValue
PitcherSean Manaea
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.3599
ESPN Rank292
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2575
Avg Velo85.2492
Avg Spin2111.7826
HB Inches0
IVB Inches0
Release Extension0
Pre IP6.1000
Pre ER2
Pre H5
Pre BB1
Pre SO4
Season ERA4.3077
Season WHIP1.3077
Role Avg IP5.6920
Recent Avg IP6.2670
Last Start IP6
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYM",
    "games": 132,
    "wins": 60,
    "losses": 72,
    "win_pct": 0.4545,
    "runs_scored": 549.0,
    "runs_allowed": 588.0,
    "run_differential": -39.0,
    "run_differential_per_game": -0.2955,
    "avg_runs_scored": 4.1591,
    "avg_runs_allowed": 4.4545,
    "offense_index": 0.9285,
    "defense_index": 1.0056,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 3.9,
      "avg_runs_allowed": 3.1,
      "run_differential": 8.0
    },
    "available": true,
    "quality_score": -0.005
  },
  "opponent": {
    "team": "MIL",
    "games": 132,
    "wins": 81,
    "losses": 51,
    "win_pct": 0.6136,
    "runs_scored": 652.0,
    "runs_allowed": 492.0,
    "run_differential": 160.0,
    "run_differential_per_game": 1.2121,
    "avg_runs_scored": 4.9394,
    "avg_runs_allowed": 3.7273,
    "offense_index": 1.1027,
    "defense_index": 1.2018,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 2.6,
      "run_differential": 29.0
    },
    "available": true,
    "quality_score": 0.2804
  },
  "edges": {
    "quality_edge": -0.2854,
    "offense_edge": -0.0715,
    "opponent_offense_edge": 0.1027,
    "defense_strength": 0.0056,
    "opponent_defense_weakness": -0.2018,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 0.9846,
    "run_prevention": 1.0301,
    "strikeout": 0.9832
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "640455",
    "profile": {
      "available": true,
      "pitcher_id": "640455",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 479.0,
        "k_percent": 23.1,
        "bb_percent": 7.7,
        "woba": 0.343,
        "xwoba": 0.336,
        "sweet_spot_percent": 36.8,
        "barrel_batted_rate": 11.3,
        "hard_hit_percent": 42.4,
        "avg_best_speed": 77.7894,
        "avg_hyper_speed": 94.671,
        "whiff_percent": 22.7,
        "swing_percent": 50.0
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.6513,
        "command_and_miss": 0.0207,
        "regression_edge": 0.2,
        "xwoba_edge": -0.7143,
        "barrel_edge": -0.9333,
        "hard_hit_edge": -0.6571,
        "whiff_edge": -0.3571,
        "bb_edge": 0.375,
        "pitch_design_score": -0.2575
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "640455",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 91,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 91,
          "pitch_usage": 0.0,
          "release_speed": 85.24923102451848,
          "release_spin_rate": 2111.7826014761895,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 91,
            "pitch_usage": 0.0,
            "release_speed": 85.24923102451848,
            "release_spin_rate": 2111.7826014761895,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 85.2492,
          "release_spin_rate": 2111.7826,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.2575,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -1.8395,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": -0.3599,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0306,
      "strikeout_factor": 0.992,
      "walk_factor": 0.97,
      "homer_factor": 1.1224,
      "woba_minus_xwoba": 0.007,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "640455",
        "espn_id": 33244,
        "player_name": "Sean Manaea",
        "team": "NYM",
        "role": "pitcher",
        "espn_rank": 292,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 292,
          "gp_value": 27.0,
          "gp_rank": 223,
          "gs_value": 13.0,
          "gs_rank": 143,
          "qs_value": 6.0,
          "qs_rank": 83,
          "era_value": 4.3076,
          "era_rank": null,
          "w_value": 4.0,
          "w_rank": 175,
          "l_value": 5.0,
          "l_rank": 123,
          "sv_value": 0.0,
          "sv_rank": 241,
          "hld_value": 0.0,
          "hld_rank": 331,
          "ip_value": 117.0,
          "ip_rank": 87,
          "h_value": 114.0,
          "h_rank": 72,
          "er_value": 56.0,
          "er_rank": 60,
          "hr_value": 19.0,
          "hr_rank": 30,
          "bb_value": 39.0,
          "bb_rank": 71,
          "k_value": 117.0,
          "k_rank": 58,
          "k_per_9_value": 9.0,
          "k_per_9_rank": 18.0,
          "whip_value": 1.3076,
          "whip_rank": null,
          "war_value": 0.31,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 3.0,
        "factor": 1.0306,
        "adjusted": 3
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 1.0306,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.97,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 1.1224,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 6.0,
        "factor": 0.992,
        "adjusted": 6
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 59.2,
    "ER": 25,
    "H": 53,
    "BB": 19,
    "SO": 57,
    "HR": 13,
    "ERA": 3.7709497206703912,
    "WHIP": 1.2067039106145252,
    "K9": 8.597765363128492,
    "HR9": 1.9608938547486034,
    "games_pitched": 10,
    "quality_starts": 5,
    "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-21T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "640455",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 91,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 91,
    "pitch_usage": 0.0,
    "release_speed": 85.24923102451848,
    "release_spin_rate": 2111.7826014761895,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 91,
      "pitch_usage": 0.0,
      "release_speed": 85.24923102451848,
      "release_spin_rate": 2111.7826014761895,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 85.2492,
    "release_spin_rate": 2111.7826,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.2575,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.8395,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 27.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8438,
    "prior_weight": 0.1562
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "640455",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 27,
  "reference_playing_time": 6.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 31.1,
        "ER": 13.0,
        "R": 13.0,
        "H": 26.0,
        "BB": 11.0,
        "SO": 33.0,
        "HR": 7.0,
        "BF": 129.0,
        "Pitches": 466.0
      },
      "per_game": {
        "IP": 6.1,
        "ER": 2.6,
        "R": 2.6,
        "H": 5.2,
        "BB": 2.2,
        "SO": 6.6,
        "HR": 1.4,
        "BF": 25.8,
        "Pitches": 93.2
      },
      "rates": {
        "ERA": 3.734,
        "WHIP": 1.1809,
        "ER_per_IP": 0.41489,
        "H_per_IP": 0.82979,
        "BB_per_IP": 0.35106,
        "SO_per_IP": 1.05319,
        "HR_per_IP": 0.2234
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 59.2,
        "ER": 25.0,
        "R": 29.0,
        "H": 53.0,
        "BB": 19.0,
        "SO": 57.0,
        "HR": 13.0,
        "BF": 250.0,
        "Pitches": 944.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 2.5,
        "R": 2.9,
        "H": 5.3,
        "BB": 1.9,
        "SO": 5.7,
        "HR": 1.3,
        "BF": 25.0,
        "Pitches": 94.4
      },
      "rates": {
        "ERA": 3.7709,
        "WHIP": 1.2067,
        "ER_per_IP": 0.41899,
        "H_per_IP": 0.88827,
        "BB_per_IP": 0.31844,
        "SO_per_IP": 0.95531,
        "HR_per_IP": 0.21788
      }
    },
    "season": {
      "games": 27,
      "totals": {
        "IP": 117.0,
        "ER": 56.0,
        "R": 63.0,
        "H": 114.0,
        "BB": 39.0,
        "SO": 117.0,
        "HR": 19.0,
        "BF": 506.0,
        "Pitches": 1985.0
      },
      "per_game": {
        "IP": 4.1,
        "ER": 2.0741,
        "R": 2.3333,
        "H": 4.2222,
        "BB": 1.4444,
        "SO": 4.3333,
        "HR": 0.7037,
        "BF": 18.7407,
        "Pitches": 73.5185
      },
      "rates": {
        "ERA": 4.3077,
        "WHIP": 1.3077,
        "ER_per_IP": 0.47863,
        "H_per_IP": 0.97436,
        "BB_per_IP": 0.33333,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.16239
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 6.0,
    "predicted_ER": 2.596,
    "predicted_H": 5.273,
    "predicted_BB": 2.011,
    "predicted_SO": 5.888,
    "predicted_HR": 1.176,
    "predicted_ERA": 3.9623,
    "predicted_WHIP": 1.2352
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.416,
  "form_weight": 0.584,
  "form_reliability": 0.8438,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 27.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8438,
    "prior_weight": 0.1562
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 6.1,
      "form": 6.0,
      "final": 6.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 2.596,
      "final": 2.3481,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 5.0,
      "form": 5.273,
      "final": 5.1594,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 2.011,
      "final": 1.5904,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 4.0,
      "form": 5.888,
      "final": 5.1026,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 1.176,
      "final": 1.1028,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.9623,
      "final": 3.9623,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2352,
      "final": 1.2352,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherDaniel Duarte
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.4175
ESPN Rank140
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0769
Avg Velo88.4738
Avg Spin2386.3092
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA1.1739
Season WHIP0.6522
Role Avg IP1.2780
Recent Avg IP0.9330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYM",
    "games": 132,
    "wins": 60,
    "losses": 72,
    "win_pct": 0.4545,
    "runs_scored": 549.0,
    "runs_allowed": 588.0,
    "run_differential": -39.0,
    "run_differential_per_game": -0.2955,
    "avg_runs_scored": 4.1591,
    "avg_runs_allowed": 4.4545,
    "offense_index": 0.9285,
    "defense_index": 1.0056,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 3.9,
      "avg_runs_allowed": 3.1,
      "run_differential": 8.0
    },
    "available": true,
    "quality_score": -0.005
  },
  "opponent": {
    "team": "MIL",
    "games": 132,
    "wins": 81,
    "losses": 51,
    "win_pct": 0.6136,
    "runs_scored": 652.0,
    "runs_allowed": 492.0,
    "run_differential": 160.0,
    "run_differential_per_game": 1.2121,
    "avg_runs_scored": 4.9394,
    "avg_runs_allowed": 3.7273,
    "offense_index": 1.1027,
    "defense_index": 1.2018,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 2.6,
      "run_differential": 29.0
    },
    "available": true,
    "quality_score": 0.2804
  },
  "edges": {
    "quality_edge": -0.2854,
    "offense_edge": -0.0715,
    "opponent_offense_edge": 0.1027,
    "defense_strength": 0.0056,
    "opponent_defense_weakness": -0.2018,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 0.9846,
    "run_prevention": 1.0301,
    "strikeout": 0.9832
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "650960",
    "profile": {
      "available": true,
      "pitcher_id": "650960",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 76.0,
        "k_percent": 27.7,
        "bb_percent": 6.0,
        "woba": 0.181,
        "xwoba": 0.232,
        "sweet_spot_percent": 35.2,
        "barrel_batted_rate": 5.6,
        "hard_hit_percent": 22.2,
        "avg_best_speed": 68.3561,
        "avg_hyper_speed": 92.0196,
        "whiff_percent": 24.7,
        "swing_percent": 53.4
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.6951,
        "command_and_miss": 0.5014,
        "regression_edge": -1.4571,
        "xwoba_edge": 2.2571,
        "barrel_edge": 0.3333,
        "hard_hit_edge": 2.2286,
        "whiff_edge": -0.0714,
        "bb_edge": 0.8,
        "pitch_design_score": -0.0769
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "650960",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 13,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 13,
          "pitch_usage": 0.0,
          "release_speed": 88.47381105560191,
          "release_spin_rate": 2386.3092298941738,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 13,
            "pitch_usage": 0.0,
            "release_speed": 88.47381105560191,
            "release_spin_rate": 2386.3092298941738,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 88.4738,
          "release_spin_rate": 2386.3092,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0769,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.5496,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.4175,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9645,
      "strikeout_factor": 1.0134,
      "walk_factor": 0.9712,
      "homer_factor": 0.9174,
      "woba_minus_xwoba": -0.051,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "650960",
        "espn_id": 41094,
        "player_name": "Daniel Duarte",
        "team": "NYM",
        "role": "pitcher",
        "espn_rank": 140,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 140,
          "gp_value": 18.0,
          "gp_rank": 387,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 1.1739,
          "era_rank": null,
          "w_value": 1.0,
          "w_rank": 387,
          "l_value": 0.0,
          "l_rank": 554,
          "sv_value": 2.0,
          "sv_rank": 84,
          "hld_value": 4.0,
          "hld_rank": 179,
          "ip_value": 23.0,
          "ip_rank": 462,
          "h_value": 10.0,
          "h_rank": 607,
          "er_value": 3.0,
          "er_rank": 681,
          "hr_value": 1.0,
          "hr_rank": 584,
          "bb_value": 5.0,
          "bb_rank": 597,
          "k_value": 23.0,
          "k_rank": 437,
          "k_per_9_value": 9.0,
          "k_per_9_rank": 25.0,
          "whip_value": 0.6521,
          "whip_rank": null,
          "war_value": 1.19,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.984,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.984,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.987,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9628,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.006,
        "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": 1,
    "H": 3,
    "BB": 3,
    "SO": 11,
    "HR": 0,
    "ERA": 0.870967741935484,
    "WHIP": 0.5806451612903226,
    "K9": 9.580645161290324,
    "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-23T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "650960",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 13,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 13,
    "pitch_usage": 0.0,
    "release_speed": 88.47381105560191,
    "release_spin_rate": 2386.3092298941738,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 13,
      "pitch_usage": 0.0,
      "release_speed": 88.47381105560191,
      "release_spin_rate": 2386.3092298941738,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 88.4738,
    "release_spin_rate": 2386.3092,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0769,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.5496,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": 4.616,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.48,
    "prior_weight": 0.52
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "650960",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 18,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 2.0,
        "BB": 0.0,
        "SO": 9.0,
        "HR": 0.0,
        "BF": 16.0,
        "Pitches": 71.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.4,
        "BB": 0.0,
        "SO": 1.8,
        "HR": 0.0,
        "BF": 3.2,
        "Pitches": 14.2
      },
      "rates": {
        "ERA": 1.9286,
        "WHIP": 0.4286,
        "ER_per_IP": 0.21429,
        "H_per_IP": 0.42857,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.92857,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 3.0,
        "BB": 3.0,
        "SO": 11.0,
        "HR": 0.0,
        "BF": 38.0,
        "Pitches": 162.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.1,
        "H": 0.3,
        "BB": 0.3,
        "SO": 1.1,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 16.2
      },
      "rates": {
        "ERA": 0.871,
        "WHIP": 0.5806,
        "ER_per_IP": 0.09677,
        "H_per_IP": 0.29032,
        "BB_per_IP": 0.29032,
        "SO_per_IP": 1.06452,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 18,
      "totals": {
        "IP": 23.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 10.0,
        "BB": 5.0,
        "SO": 23.0,
        "HR": 1.0,
        "BF": 83.0,
        "Pitches": 348.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.1667,
        "R": 0.1667,
        "H": 0.5556,
        "BB": 0.2778,
        "SO": 1.2778,
        "HR": 0.0556,
        "BF": 4.6111,
        "Pitches": 19.3333
      },
      "rates": {
        "ERA": 1.1739,
        "WHIP": 0.6522,
        "ER_per_IP": 0.13043,
        "H_per_IP": 0.43478,
        "BB_per_IP": 0.21739,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.04348
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.346,
    "predicted_H": 0.712,
    "predicted_BB": 0.269,
    "predicted_SO": 1.221,
    "predicted_HR": 0.083,
    "predicted_ERA": 3.0189,
    "predicted_WHIP": 0.9508
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5697,
  "form_weight": 0.4303,
  "form_reliability": 0.48,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.616,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.48,
    "prior_weight": 0.52
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.346,
      "final": 0.1489,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.712,
      "final": 0.3064,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.269,
      "final": 0.1158,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.221,
      "final": 0.5254,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.083,
      "final": 0.0357,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.0189,
      "final": 3.0189,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9508,
      "final": 0.9508,
      "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
PitcherKodai Senga
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.3628
ESPN Rank830
Movement AvailableTrue
Primary Pitch-
Movement Score0.0364
Avg Velo90.4971
Avg Spin2086.4609
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER2
Pre H3
Pre BB0
Pre SO2
Season ERA7.7885
Season WHIP1.6923
Role Avg IP1.5640
Recent Avg IP0.8670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYM",
    "games": 132,
    "wins": 60,
    "losses": 72,
    "win_pct": 0.4545,
    "runs_scored": 549.0,
    "runs_allowed": 588.0,
    "run_differential": -39.0,
    "run_differential_per_game": -0.2955,
    "avg_runs_scored": 4.1591,
    "avg_runs_allowed": 4.4545,
    "offense_index": 0.9285,
    "defense_index": 1.0056,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 3.9,
      "avg_runs_allowed": 3.1,
      "run_differential": 8.0
    },
    "available": true,
    "quality_score": -0.005
  },
  "opponent": {
    "team": "MIL",
    "games": 132,
    "wins": 81,
    "losses": 51,
    "win_pct": 0.6136,
    "runs_scored": 652.0,
    "runs_allowed": 492.0,
    "run_differential": 160.0,
    "run_differential_per_game": 1.2121,
    "avg_runs_scored": 4.9394,
    "avg_runs_allowed": 3.7273,
    "offense_index": 1.1027,
    "defense_index": 1.2018,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 2.6,
      "run_differential": 29.0
    },
    "available": true,
    "quality_score": 0.2804
  },
  "edges": {
    "quality_edge": -0.2854,
    "offense_edge": -0.0715,
    "opponent_offense_edge": 0.1027,
    "defense_strength": 0.0056,
    "opponent_defense_weakness": -0.2018,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 0.9846,
    "run_prevention": 1.0301,
    "strikeout": 0.9832
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "673540",
    "profile": {
      "available": true,
      "pitcher_id": "673540",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 234.0,
        "k_percent": 25.7,
        "bb_percent": 14.9,
        "woba": 0.383,
        "xwoba": 0.341,
        "sweet_spot_percent": 41.4,
        "barrel_batted_rate": 12.1,
        "hard_hit_percent": 38.6,
        "avg_best_speed": 79.7539,
        "avg_hyper_speed": 94.1548,
        "whiff_percent": 28.9,
        "swing_percent": 45.0
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.9757,
        "command_and_miss": 0.1379,
        "regression_edge": 1.2,
        "xwoba_edge": -0.8571,
        "barrel_edge": -1.1111,
        "hard_hit_edge": -0.1143,
        "whiff_edge": 0.5286,
        "bb_edge": -1.425,
        "pitch_design_score": 0.0364
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "673540",
        "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.49708821372508,
          "release_spin_rate": 2086.4609338184587,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.49708821372508,
            "release_spin_rate": 2086.4609338184587,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.4971,
          "release_spin_rate": 2086.4609,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0364,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.2597,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": -0.3628,
      "sample_weight": 0.936,
      "run_prevention_factor": 1.0308,
      "strikeout_factor": 1.0396,
      "walk_factor": 1.1067,
      "homer_factor": 1.1115,
      "woba_minus_xwoba": 0.042,
      "regression_flag": "positive_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "673540",
        "espn_id": 4142421,
        "player_name": "Kodai Senga",
        "team": "NYM",
        "role": "pitcher",
        "espn_rank": 830,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 830,
          "gp_value": 21.0,
          "gp_rank": 349,
          "gs_value": 8.0,
          "gs_rank": 178,
          "qs_value": 1.0,
          "qs_rank": 173,
          "era_value": 7.7884,
          "era_rank": null,
          "w_value": 0.0,
          "w_rank": 507,
          "l_value": 9.0,
          "l_rank": 19,
          "sv_value": 4.0,
          "sv_rank": 48,
          "hld_value": 0.0,
          "hld_rank": 331,
          "ip_value": 52.0,
          "ip_rank": 259,
          "h_value": 52.0,
          "h_rank": 203,
          "er_value": 45.0,
          "er_rank": 110,
          "hr_value": 13.0,
          "hr_rank": 107,
          "bb_value": 36.0,
          "bb_rank": 90,
          "k_value": 62.0,
          "k_rank": 190,
          "k_per_9_value": 10.730769,
          "k_per_9_rank": 19.0,
          "whip_value": 1.6923,
          "whip_rank": null,
          "war_value": -1.58,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 1.0288,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0288,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.0999,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.1044,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0371,
        "adjusted": 3
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 12.2,
    "ER": 7,
    "H": 10,
    "BB": 9,
    "SO": 15,
    "HR": 1,
    "ERA": 4.973684210526316,
    "WHIP": 1.5,
    "K9": 10.657894736842106,
    "HR9": 0.7105263157894737,
    "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-23T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "673540",
  "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.49708821372508,
    "release_spin_rate": 2086.4609338184587,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.49708821372508,
      "release_spin_rate": 2086.4609338184587,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.4971,
    "release_spin_rate": 2086.4609,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0364,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.2597,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.436,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6761,
    "prior_weight": 0.3239
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "673540",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 21,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 5.0,
        "BB": 2.0,
        "SO": 5.0,
        "HR": 1.0,
        "BF": 20.0,
        "Pitches": 78.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.0,
        "BB": 0.4,
        "SO": 1.0,
        "HR": 0.2,
        "BF": 4.0,
        "Pitches": 15.6
      },
      "rates": {
        "ERA": 4.1538,
        "WHIP": 1.6154,
        "ER_per_IP": 0.46154,
        "H_per_IP": 1.15385,
        "BB_per_IP": 0.46154,
        "SO_per_IP": 1.15385,
        "HR_per_IP": 0.23077
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 12.2,
        "ER": 7.0,
        "R": 7.0,
        "H": 10.0,
        "BB": 9.0,
        "SO": 15.0,
        "HR": 1.0,
        "BF": 57.0,
        "Pitches": 222.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.7,
        "R": 0.7,
        "H": 1.0,
        "BB": 0.9,
        "SO": 1.5,
        "HR": 0.1,
        "BF": 5.7,
        "Pitches": 22.2
      },
      "rates": {
        "ERA": 4.9737,
        "WHIP": 1.5,
        "ER_per_IP": 0.55263,
        "H_per_IP": 0.78947,
        "BB_per_IP": 0.71053,
        "SO_per_IP": 1.18421,
        "HR_per_IP": 0.07895
      }
    },
    "season": {
      "games": 21,
      "totals": {
        "IP": 52.0,
        "ER": 45.0,
        "R": 46.0,
        "H": 52.0,
        "BB": 36.0,
        "SO": 62.0,
        "HR": 13.0,
        "BF": 241.0,
        "Pitches": 963.0
      },
      "per_game": {
        "IP": 2.1,
        "ER": 2.1429,
        "R": 2.1905,
        "H": 2.4762,
        "BB": 1.7143,
        "SO": 2.9524,
        "HR": 0.619,
        "BF": 11.4762,
        "Pitches": 45.8571
      },
      "rates": {
        "ERA": 7.7885,
        "WHIP": 1.6923,
        "ER_per_IP": 0.86538,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.69231,
        "SO_per_IP": 1.19231,
        "HR_per_IP": 0.25
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.693,
    "predicted_H": 1.245,
    "predicted_BB": 0.656,
    "predicted_SO": 1.384,
    "predicted_HR": 0.214,
    "predicted_ERA": 4.9535,
    "predicted_WHIP": 1.5101
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4868,
  "form_weight": 0.5132,
  "form_reliability": 0.6761,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.436,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6761,
    "prior_weight": 0.3239
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.1,
      "final": 1.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 0.693,
      "final": 1.3293,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 3.0,
      "form": 1.245,
      "final": 2.0994,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.656,
      "final": 0.3366,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.384,
      "final": 1.6839,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.214,
      "final": 0.1098,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.9535,
      "final": 4.9535,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.5101,
      "final": 1.5101,
      "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
PitcherNathan Lavender
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.3766
ESPN Rank201
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0535
Avg Velo88.8923
Avg Spin2389.7417
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.2000
Pre ER0
Pre H0
Pre BB1
Pre SO2
Season ERA0
Season WHIP0.3103
Role Avg IP1.0740
Recent Avg IP1.1330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYM",
    "games": 132,
    "wins": 60,
    "losses": 72,
    "win_pct": 0.4545,
    "runs_scored": 549.0,
    "runs_allowed": 588.0,
    "run_differential": -39.0,
    "run_differential_per_game": -0.2955,
    "avg_runs_scored": 4.1591,
    "avg_runs_allowed": 4.4545,
    "offense_index": 0.9285,
    "defense_index": 1.0056,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 3.9,
      "avg_runs_allowed": 3.1,
      "run_differential": 8.0
    },
    "available": true,
    "quality_score": -0.005
  },
  "opponent": {
    "team": "MIL",
    "games": 132,
    "wins": 81,
    "losses": 51,
    "win_pct": 0.6136,
    "runs_scored": 652.0,
    "runs_allowed": 492.0,
    "run_differential": 160.0,
    "run_differential_per_game": 1.2121,
    "avg_runs_scored": 4.9394,
    "avg_runs_allowed": 3.7273,
    "offense_index": 1.1027,
    "defense_index": 1.2018,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 2.6,
      "run_differential": 29.0
    },
    "available": true,
    "quality_score": 0.2804
  },
  "edges": {
    "quality_edge": -0.2854,
    "offense_edge": -0.0715,
    "opponent_offense_edge": 0.1027,
    "defense_strength": 0.0056,
    "opponent_defense_weakness": -0.2018,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 0.9846,
    "run_prevention": 1.0301,
    "strikeout": 0.9832
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "681320",
    "profile": {
      "available": true,
      "pitcher_id": "681320",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 21.0,
        "k_percent": 35.5,
        "bb_percent": 6.5,
        "woba": 0.086,
        "xwoba": 0.189,
        "sweet_spot_percent": 22.2,
        "barrel_batted_rate": 11.1,
        "hard_hit_percent": 38.9,
        "avg_best_speed": 82.471,
        "avg_hyper_speed": 93.4366,
        "whiff_percent": 29.6,
        "swing_percent": 50.5
      },
      "league_medians": {
        "pa": 123.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.316,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.4,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.8,
        "avg_best_speed": 77.614,
        "avg_hyper_speed": 93.9187,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.2917,
        "command_and_miss": 1.2229,
        "regression_edge": -2.0,
        "xwoba_edge": 2.5,
        "barrel_edge": -0.8889,
        "hard_hit_edge": -0.1571,
        "whiff_edge": 0.6286,
        "bb_edge": 0.675,
        "pitch_design_score": -0.0535
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "681320",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 5,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 5,
          "pitch_usage": 0.0,
          "release_speed": 88.89228189521423,
          "release_spin_rate": 2389.741711421411,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 5,
            "pitch_usage": 0.0,
            "release_speed": 88.89228189521423,
            "release_spin_rate": 2389.741711421411,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 88.8923,
          "release_spin_rate": 2389.7417,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0535,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.3822,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.3766,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.968,
      "strikeout_factor": 1.046,
      "walk_factor": 0.9757,
      "homer_factor": 1.0011,
      "woba_minus_xwoba": -0.103,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "681320",
        "espn_id": 4424442,
        "player_name": "Nate Lavender",
        "team": "NYM",
        "role": "pitcher",
        "espn_rank": 201,
        "espn_total_ranked": 831,
        "metrics": {
          "espn_rank": 201,
          "gp_value": 9.0,
          "gp_rank": 517,
          "gs_value": 0.0,
          "gs_rank": 348,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 0.0,
          "era_rank": null,
          "w_value": 1.0,
          "w_rank": 387,
          "l_value": 0.0,
          "l_rank": 554,
          "sv_value": 0.0,
          "sv_rank": 241,
          "hld_value": 6.0,
          "hld_rank": 136,
          "ip_value": 9.2,
          "ip_rank": 593,
          "h_value": 1.0,
          "h_rank": 796,
          "er_value": 0.0,
          "er_rank": 791,
          "hr_value": 0.0,
          "hr_rank": 716,
          "bb_value": 2.0,
          "bb_rank": 689,
          "k_value": 11.0,
          "k_rank": 553,
          "k_per_9_value": 10.24138,
          "k_per_9_rank": 25.0,
          "whip_value": 0.3103,
          "whip_rank": null,
          "war_value": 0.77,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9856,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9856,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9891,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0005,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0207,
        "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": 0,
    "H": 1,
    "BB": 2,
    "SO": 11,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.3103448275862069,
    "K9": 10.241379310344827,
    "HR9": 0.0,
    "games_pitched": 9,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 9,
    "error_prone": false
  },
  "games_count": 9,
  "latest_game_date": "2026-08-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "681320",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 5,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 5,
    "pitch_usage": 0.0,
    "release_speed": 88.89228189521423,
    "release_spin_rate": 2389.741711421411,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 5,
      "pitch_usage": 0.0,
      "release_speed": 88.89228189521423,
      "release_spin_rate": 2389.741711421411,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 88.8923,
    "release_spin_rate": 2389.7417,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0535,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.3822,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.6164383561643836,
    "last_10": 0.3835616438356164
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 1.94,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.2795,
    "prior_weight": 0.7205
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "681320",
  "report_date": "20260827",
  "season_year": 2026,
  "rows_used": 9,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.0,
        "BB": 0.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 17.0,
        "Pitches": 52.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.0,
        "BB": 0.0,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 3.4,
        "Pitches": 10.4
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.0,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.0,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.05882,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 9,
      "totals": {
        "IP": 9.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 2.0,
        "SO": 11.0,
        "HR": 0.0,
        "BF": 31.0,
        "Pitches": 107.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.1111,
        "BB": 0.2222,
        "SO": 1.2222,
        "HR": 0.0,
        "BF": 3.4444,
        "Pitches": 11.8889
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.3103,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.10345,
        "BB_per_IP": 0.2069,
        "SO_per_IP": 1.13793,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 9,
      "totals": {
        "IP": 9.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 2.0,
        "SO": 11.0,
        "HR": 0.0,
        "BF": 31.0,
        "Pitches": 107.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.1111,
        "BB": 0.2222,
        "SO": 1.2222,
        "HR": 0.0,
        "BF": 3.4444,
        "Pitches": 11.8889
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.3103,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.10345,
        "BB_per_IP": 0.2069,
        "SO_per_IP": 1.13793,
        "HR_per_IP": 0.0
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.274,
    "predicted_H": 0.542,
    "predicted_BB": 0.218,
    "predicted_SO": 0.749,
    "predicted_HR": 0.08,
    "predicted_ERA": 3.2468,
    "predicted_WHIP": 1.0005
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.6544,
  "form_weight": 0.3456,
  "form_reliability": 0.2795,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 1.94,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.2795,
    "prior_weight": 0.7205
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.274,
      "final": 0.0947,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.542,
      "final": 0.1873,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.218,
      "final": 0.7297,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 0.749,
      "final": 1.5677,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.08,
      "final": 0.0276,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.2468,
      "final": 3.2468,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0005,
      "final": 1.0005,
      "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."
}
A.J. Ewing (805999) · BATTER · CF · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 361
All-history rows before 20260827: 361
System season_avg: 0.2470
Data season_avg (2026 season-to-date): 0.2602
Diff (system - data): -0.0132
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.1780.0000.000Hitting_2B0.2110.000-0.2110.000
predicted_3B0.0110.0000.000Hitting_3B0.0140.000-0.0140.000
predicted_AB3.6444.0004.000Hitting_AB3.8015.0000.199-1.000
predicted_AVG0.2470.2500.250Hitting_AVG0.2600.200-0.0100.050
predicted_BB0.3890.0001.000Hitting_BB0.4490.000-0.4490.000
predicted_CS-0.0000.000BaseRunning_CS0.0690.000-0.0690.000
predicted_H0.9001.0001.000Hitting_H0.9891.0000.0110.000
predicted_HR0.0780.0000.000Hitting_HR0.0940.000-0.0940.000
predicted_OBP0.3200.2500.400Hitting_OBP0.3390.200-0.0890.050
predicted_R0.4561.0000.000Hitting_R0.5260.0000.4741.000
predicted_RBI0.3112.0000.000Hitting_RBI0.3680.0001.6322.000
predicted_SLG0.3660.2500.250Hitting_SLG0.3970.200-0.1470.050
predicted_SO1.1000.0001.000Hitting_SO1.1521.000-1.152-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_RBI: 0.3110 -> 2.0000 (boost 1.6890, better)
Biggest Deboostpredicted_SO: 1.1000 -> 0.0000 (deboost -1.1000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend30303-predicted_SLG: 0.3660 -> 0.3356 (deboost -0.0304, worse)Final model input calibrated 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.3356 -> 0.3252 (deboost -0.0104, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72534predicted_AB: 3.6898 -> 4.0000 (boost 0.3102, better)predicted_BB: 0.3677 -> 0.0000 (deboost -0.3677, worse)AB rounded to 4 (raw=3.69), rates preserved: AVG=0.227 HR/AB=0.018
5consistency_constraints10101-predicted_R: 0.4247 -> 0.0000 (deboost -0.4247, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context21111predicted_OBP: 0.2966 -> 0.3020 (boost 0.0054, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference32130predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
9current_json_final10101-predicted_OBP: 0.3020 -> 0.2966 (deboost -0.0054, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "805999",
  "player_name": "A.J. Ewing",
  "position": "CF",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.178,
        "predicted_3B": 0.011,
        "predicted_AB": 3.644,
        "predicted_AVG": 0.247,
        "predicted_BB": 0.389,
        "predicted_H": 0.9,
        "predicted_HR": 0.078,
        "predicted_OBP": 0.32,
        "predicted_R": 0.456,
        "predicted_RBI": 0.311,
        "predicted_SLG": 0.366,
        "predicted_SO": 1.1
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.151,
        "predicted_3B": 0.0093,
        "predicted_AB": 3.6898,
        "predicted_AVG": 0.2342,
        "predicted_BB": 0.3719,
        "predicted_H": 0.8632,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.0677,
        "predicted_OBP": 0.3049,
        "predicted_R": 0.4487,
        "predicted_RBI": 0.2691,
        "predicted_SLG": 0.3356,
        "predicted_SO": 1.1086
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.178,
          "after": 0.151,
          "delta": -0.027,
          "percent_delta": -0.1517,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.011,
          "after": 0.0093,
          "delta": -0.0017,
          "percent_delta": -0.1545,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.644,
          "after": 3.6898,
          "delta": 0.0458,
          "percent_delta": 0.0126,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.247,
          "after": 0.2342,
          "delta": -0.0128,
          "percent_delta": -0.0518,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.389,
          "after": 0.3719,
          "delta": -0.0171,
          "percent_delta": -0.044,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9,
          "after": 0.8632,
          "delta": -0.0368,
          "percent_delta": -0.0409,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.078,
          "after": 0.0677,
          "delta": -0.0103,
          "percent_delta": -0.1321,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.32,
          "after": 0.3049,
          "delta": -0.0151,
          "percent_delta": -0.0472,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.456,
          "after": 0.4487,
          "delta": -0.0073,
          "percent_delta": -0.016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.311,
          "after": 0.2691,
          "delta": -0.0419,
          "percent_delta": -0.1347,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.366,
          "after": 0.3356,
          "delta": -0.0304,
          "percent_delta": -0.0831,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1,
          "after": 1.1086,
          "delta": 0.0086,
          "percent_delta": 0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.366,
          "after": 0.3356,
          "delta": -0.0304,
          "percent_delta": -0.0831,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 90
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.151,
        "predicted_3B": 0.0093,
        "predicted_AB": 3.6898,
        "predicted_AVG": 0.2265,
        "predicted_BB": 0.3677,
        "predicted_H": 0.8358,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.0648,
        "predicted_OBP": 0.2966,
        "predicted_R": 0.4247,
        "predicted_RBI": 0.2547,
        "predicted_SLG": 0.3252,
        "predicted_SO": 1.1212
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.151,
          "after": 0.151,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0093,
          "after": 0.0093,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6898,
          "after": 3.6898,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2342,
          "after": 0.2265,
          "delta": -0.0077,
          "percent_delta": -0.0329,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3719,
          "after": 0.3677,
          "delta": -0.0042,
          "percent_delta": -0.0113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8632,
          "after": 0.8358,
          "delta": -0.0274,
          "percent_delta": -0.0317,
          "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.0677,
          "after": 0.0648,
          "delta": -0.0029,
          "percent_delta": -0.0428,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3049,
          "after": 0.2966,
          "delta": -0.0083,
          "percent_delta": -0.0272,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4487,
          "after": 0.4247,
          "delta": -0.024,
          "percent_delta": -0.0535,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2691,
          "after": 0.2547,
          "delta": -0.0144,
          "percent_delta": -0.0535,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3356,
          "after": 0.3252,
          "delta": -0.0104,
          "percent_delta": -0.031,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1086,
          "after": 1.1212,
          "delta": 0.0126,
          "percent_delta": 0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3356,
          "after": 0.3252,
          "delta": -0.0104,
          "percent_delta": -0.031,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.69), rates preserved: AVG=0.227 HR/AB=0.018",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.151,
          "after": 0.0,
          "delta": -0.151,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0093,
          "after": 0.0,
          "delta": -0.0093,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6898,
          "after": 4.0,
          "delta": 0.3102,
          "percent_delta": 0.0841,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3677,
          "after": 0.0,
          "delta": -0.3677,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8358,
          "after": 1.0,
          "delta": 0.1642,
          "percent_delta": 0.1965,
          "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.0648,
          "after": 0.0,
          "delta": -0.0648,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2547,
          "after": 0.0,
          "delta": -0.2547,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1212,
          "after": 1.0,
          "delta": -0.1212,
          "percent_delta": -0.1081,
          "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.6898,
          "after": 4.0,
          "delta": 0.3102,
          "percent_delta": 0.0841,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3677,
          "after": 0.0,
          "delta": -0.3677,
          "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.4247,
          "after": 0.0,
          "delta": -0.4247,
          "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.4247,
          "after": 0.0,
          "delta": -0.4247,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "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.227,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.302,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.325,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2265,
          "after": 0.227,
          "delta": 0.0005,
          "percent_delta": 0.0022,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2966,
          "after": 0.302,
          "delta": 0.0054,
          "percent_delta": 0.0182,
          "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.3252,
          "after": 0.325,
          "delta": -0.0002,
          "percent_delta": -0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2966,
          "after": 0.302,
          "delta": 0.0054,
          "percent_delta": 0.0182,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2265,
        "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.2966,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3252,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.227,
          "after": 0.2265,
          "delta": -0.0005,
          "percent_delta": -0.0021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.302,
          "after": 0.2966,
          "delta": -0.0054,
          "percent_delta": -0.0178,
          "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.325,
          "after": 0.3252,
          "delta": 0.0002,
          "percent_delta": 0.0005,
          "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_OBP",
          "before": 0.302,
          "after": 0.2966,
          "delta": -0.0054,
          "percent_delta": -0.0178,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.178,
        "after": 0.0,
        "delta": -0.178,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.011,
        "after": 0.0,
        "delta": -0.011,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.644,
        "after": 4.0,
        "delta": 0.356,
        "percent_delta": 0.0977,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.247,
        "after": 0.2265,
        "delta": -0.0205,
        "percent_delta": -0.083,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.389,
        "after": 0.0,
        "delta": -0.389,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.9,
        "after": 1.0,
        "delta": 0.1,
        "percent_delta": 0.1111,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.078,
        "after": 0.0,
        "delta": -0.078,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.32,
        "after": 0.2966,
        "delta": -0.0234,
        "percent_delta": -0.0731,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.456,
        "after": 1.0,
        "delta": 0.544,
        "percent_delta": 1.193,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.311,
        "after": 2.0,
        "delta": 1.689,
        "percent_delta": 5.4309,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.366,
        "after": 0.3252,
        "delta": -0.0408,
        "percent_delta": -0.1115,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.1,
        "after": 0.0,
        "delta": -1.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.311,
        "after": 2.0,
        "delta": 1.689,
        "percent_delta": 5.4309,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.1,
        "after": 0.0,
        "delta": -1.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.178-
predicted_3B0.011-
predicted_AB3.644-
predicted_AVG0.247-
predicted_BB0.389-
predicted_H0.900-
predicted_HR0.078-
predicted_OBP0.320-
predicted_R0.456-
predicted_RBI0.311-
predicted_SLG0.366-
predicted_SO1.100-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.151-0.027
predicted_3B0.009-0.002
predicted_AB3.6900.046
predicted_AVG0.234-0.013
predicted_BB0.372-0.017
predicted_H0.863-0.037
predicted_HBP0.015-
predicted_HR0.068-0.010
predicted_OBP0.305-0.015
predicted_R0.449-0.007
predicted_RBI0.269-0.042
predicted_SLG0.336-0.030
predicted_SO1.1090.009
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1510.000
predicted_3B0.0090.000
predicted_AB3.6900.000
predicted_AVG0.227-0.008
predicted_BB0.368-0.004
predicted_H0.836-0.027
predicted_HBP0.0150.000
predicted_HR0.065-0.003
predicted_OBP0.297-0.008
predicted_R0.425-0.024
predicted_RBI0.255-0.014
predicted_SLG0.325-0.010
predicted_SO1.1210.013
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.69), rates preserved: AVG=0.227 HR/AB=0.018

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
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. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.151
predicted_3B0.000-0.009
predicted_AB4.0000.310
predicted_AVG0.2270.001
predicted_BB0.000-0.368
predicted_H1.0000.164
predicted_HR0.000-0.065
predicted_OBP0.3020.005
predicted_R0.000-0.425
predicted_RBI0.000-0.255
predicted_SLG0.325-0.000
predicted_SO1.000-0.121
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-
R1.0001.000
RBI2.0002.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 90
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0004.0000.0000.0000.0000.0002.0001.0005.0000.20000.23810.20000.20000.00000.00000.05000.2500
last_100.2010-38.0005.0000.0000.0000.0000.0004.0004.00014.0000.13160.21430.13160.13160.00000.00000.10530.3684
season0.6090-328.00081.00016.0001.0007.00028.00041.00035.00099.0000.24700.32070.36590.24700.02130.08540.10670.3018
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1150
predicted_3B0.0070
predicted_AB3.7510
predicted_AVG0.2170
predicted_BB0.3490
predicted_H0.8140
predicted_HBP0.0150
predicted_HR0.0540
predicted_OBP0.2846
predicted_R0.4390
predicted_RBI0.2130
predicted_SLG0.2950
predicted_SO1.1200
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17800.11500.1510model_form_blend
predicted_3B0.01100.00700.0093model_form_blend
predicted_AB3.64403.75103.6898model_form_blend
predicted_AVG0.24700.21700.2342model_form_blend
predicted_BB0.38900.34900.3719model_form_blend
predicted_H0.90000.81400.8632model_form_blend
predicted_HBP-0.01500.0150form_only
predicted_HR0.07800.05400.0677model_form_blend
predicted_OBP0.32000.28460.3049model_form_blend
predicted_R0.45600.43900.4487model_form_blend
predicted_RBI0.31100.21300.2691model_form_blend
predicted_SLG0.36600.29500.3356model_form_blend
predicted_SO1.10001.12001.1086model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% 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 used90
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR0
R1
RBI2
BB0
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB2
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.2
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260826_MIL@NYM
game_typefull
mlbID805999
playerID805999
playerNameA.J. Ewing
posLF
startedTrue
startingPositionCF
teamNYM
teamID18
game_date2026-08-26
sl_k_percent26.3
sl_bb_percent9.0
sl_woba0.297
sl_xwoba0.315
sl_xba0.252
sl_xslg0.39
sl_sweet_spot_percent35.8
sl_barrel_batted_rate7.0
sl_hard_hit_percent41.6
sl_exit_velocity_avg89.2
sl_launch_angle_avg11.4
sl_whiff_percent24.4
sl_swing_percent46.4
Carson Benge (701807) · BATTER · RF · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 506
All-history rows before 20260827: 506
System season_avg: 0.2780
Data season_avg (2026 season-to-date): 0.2756
Diff (system - data): 0.0024
System opponent_avg: 0.4620

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1230.0000.000Hitting_2B0.1230.000-0.1230.000
predicted_3B0.0250.0000.000Hitting_3B0.0320.000-0.0320.000
predicted_AB3.8284.0004.000Hitting_AB3.9374.0000.0630.000
predicted_AVG0.2780.0000.250Hitting_AVG0.2760.250-0.276-0.250
predicted_BB0.3110.0000.000Hitting_BB0.3420.000-0.3420.000
predicted_CS-0.0000.000BaseRunning_CS0.0260.000-0.0260.000
predicted_H1.0660.0001.000Hitting_H1.0851.000-1.085-1.000
predicted_HR0.1310.0000.000Hitting_HR0.1260.000-0.1260.000
predicted_OBP0.3330.0000.250Hitting_OBP0.3420.250-0.342-0.250
predicted_R0.5570.0001.000Hitting_R0.5830.000-0.5830.000
predicted_RBI0.4260.0001.000Hitting_RBI0.4550.000-0.4550.000
predicted_SLG0.4260.0000.250Hitting_SLG0.4190.250-0.419-0.250
predicted_SO0.8852.0001.000Hitting_SO0.9091.0001.0911.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_SO: 0.8850 -> 2.0000 (boost 1.1150, worse)
Biggest Deboostpredicted_H: 1.0660 -> 0.0000 (deboost -1.0660, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend44040predicted_H: 1.0660 -> 1.1775 (boost 0.1115, 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.4778 -> 0.4631 (deboost -0.0147, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_AB: 3.8553 -> 4.0000 (boost 0.1447, better)predicted_RBI: 0.4455 -> 0.0000 (deboost -0.4455, worse)AB rounded to 4 (raw=3.86), rates preserved: AVG=0.296 HR/AB=0.041
5consistency_constraints11010predicted_R: 0.5613 -> 1.0000 (boost 0.4387, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context10101-predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_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
9current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "701807",
  "player_name": "Carson Benge",
  "position": "RF",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.123,
        "predicted_3B": 0.025,
        "predicted_AB": 3.828,
        "predicted_AVG": 0.278,
        "predicted_BB": 0.311,
        "predicted_H": 1.066,
        "predicted_HR": 0.131,
        "predicted_OBP": 0.333,
        "predicted_R": 0.557,
        "predicted_RBI": 0.426,
        "predicted_SLG": 0.426,
        "predicted_SO": 0.885
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1282,
        "predicted_3B": 0.0207,
        "predicted_AB": 3.8553,
        "predicted_AVG": 0.3049,
        "predicted_BB": 0.301,
        "predicted_H": 1.1775,
        "predicted_HBP": 0.03,
        "predicted_HR": 0.1657,
        "predicted_OBP": 0.3581,
        "predicted_R": 0.593,
        "predicted_RBI": 0.4707,
        "predicted_SLG": 0.4778,
        "predicted_SO": 0.8477
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.123,
          "after": 0.1282,
          "delta": 0.0052,
          "percent_delta": 0.0423,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.025,
          "after": 0.0207,
          "delta": -0.0043,
          "percent_delta": -0.172,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.828,
          "after": 3.8553,
          "delta": 0.0273,
          "percent_delta": 0.0071,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.278,
          "after": 0.3049,
          "delta": 0.0269,
          "percent_delta": 0.0968,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.311,
          "after": 0.301,
          "delta": -0.01,
          "percent_delta": -0.0322,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.066,
          "after": 1.1775,
          "delta": 0.1115,
          "percent_delta": 0.1046,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.131,
          "after": 0.1657,
          "delta": 0.0347,
          "percent_delta": 0.2649,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.3581,
          "delta": 0.0251,
          "percent_delta": 0.0754,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.557,
          "after": 0.593,
          "delta": 0.036,
          "percent_delta": 0.0646,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.426,
          "after": 0.4707,
          "delta": 0.0447,
          "percent_delta": 0.1049,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.426,
          "after": 0.4778,
          "delta": 0.0518,
          "percent_delta": 0.1216,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.885,
          "after": 0.8477,
          "delta": -0.0373,
          "percent_delta": -0.0421,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.066,
          "after": 1.1775,
          "delta": 0.1115,
          "percent_delta": 0.1046,
          "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": 122
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1282,
        "predicted_3B": 0.0207,
        "predicted_AB": 3.8553,
        "predicted_AVG": 0.2957,
        "predicted_BB": 0.2976,
        "predicted_H": 1.1402,
        "predicted_HBP": 0.03,
        "predicted_HR": 0.1586,
        "predicted_OBP": 0.3462,
        "predicted_R": 0.5613,
        "predicted_RBI": 0.4455,
        "predicted_SLG": 0.4631,
        "predicted_SO": 0.8574
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1282,
          "after": 0.1282,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0207,
          "after": 0.0207,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8553,
          "after": 3.8553,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3049,
          "after": 0.2957,
          "delta": -0.0092,
          "percent_delta": -0.0302,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.301,
          "after": 0.2976,
          "delta": -0.0034,
          "percent_delta": -0.0113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1775,
          "after": 1.1402,
          "delta": -0.0373,
          "percent_delta": -0.0317,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.03,
          "after": 0.03,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1657,
          "after": 0.1586,
          "delta": -0.0071,
          "percent_delta": -0.0428,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3581,
          "after": 0.3462,
          "delta": -0.0119,
          "percent_delta": -0.0332,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.593,
          "after": 0.5613,
          "delta": -0.0317,
          "percent_delta": -0.0535,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4707,
          "after": 0.4455,
          "delta": -0.0252,
          "percent_delta": -0.0535,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4778,
          "after": 0.4631,
          "delta": -0.0147,
          "percent_delta": -0.0308,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8477,
          "after": 0.8574,
          "delta": 0.0097,
          "percent_delta": 0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4778,
          "after": 0.4631,
          "delta": -0.0147,
          "percent_delta": -0.0308,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.86), rates preserved: AVG=0.296 HR/AB=0.041",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1282,
          "after": 0.0,
          "delta": -0.1282,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0207,
          "after": 0.0,
          "delta": -0.0207,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8553,
          "after": 4.0,
          "delta": 0.1447,
          "percent_delta": 0.0375,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2976,
          "after": 0.0,
          "delta": -0.2976,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1402,
          "after": 1.0,
          "delta": -0.1402,
          "percent_delta": -0.123,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.03,
          "after": 0.0,
          "delta": -0.03,
          "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.4455,
          "after": 0.0,
          "delta": -0.4455,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8574,
          "after": 1.0,
          "delta": 0.1426,
          "percent_delta": 0.1663,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.8553,
          "after": 4.0,
          "delta": 0.1447,
          "percent_delta": 0.0375,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4455,
          "after": 0.0,
          "delta": -0.4455,
          "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.5613,
          "after": 1.0,
          "delta": 0.4387,
          "percent_delta": 0.7816,
          "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.5613,
          "after": 1.0,
          "delta": 0.4387,
          "percent_delta": 0.7816,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "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_SO",
          "before": 1.0,
          "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_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.296,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.351,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.463,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2957,
          "after": 0.296,
          "delta": 0.0003,
          "percent_delta": 0.001,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3462,
          "after": 0.351,
          "delta": 0.0048,
          "percent_delta": 0.0139,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4631,
          "after": 0.463,
          "delta": -0.0001,
          "percent_delta": -0.0002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2957,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3462,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4631,
        "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.296,
          "after": 0.2957,
          "delta": -0.0003,
          "percent_delta": -0.0009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.351,
          "after": 0.3462,
          "delta": -0.0048,
          "percent_delta": -0.0137,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.463,
          "after": 0.4631,
          "delta": 0.0001,
          "percent_delta": 0.0003,
          "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": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.123,
        "after": 0.0,
        "delta": -0.123,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.025,
        "after": 0.0,
        "delta": -0.025,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.828,
        "after": 4.0,
        "delta": 0.172,
        "percent_delta": 0.0449,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.278,
        "after": 0.2957,
        "delta": 0.0177,
        "percent_delta": 0.0637,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.311,
        "after": 0.0,
        "delta": -0.311,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.066,
        "after": 0.0,
        "delta": -1.066,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.131,
        "after": 0.0,
        "delta": -0.131,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.333,
        "after": 0.3462,
        "delta": 0.0132,
        "percent_delta": 0.0396,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.557,
        "after": 0.0,
        "delta": -0.557,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.426,
        "after": 0.0,
        "delta": -0.426,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.426,
        "after": 0.4631,
        "delta": 0.0371,
        "percent_delta": 0.0871,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.885,
        "after": 2.0,
        "delta": 1.115,
        "percent_delta": 1.2599,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.885,
        "after": 2.0,
        "delta": 1.115,
        "percent_delta": 1.2599,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.066,
        "after": 0.0,
        "delta": -1.066,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.123-
predicted_3B0.025-
predicted_AB3.828-
predicted_AVG0.278-
predicted_BB0.311-
predicted_H1.066-
predicted_HR0.131-
predicted_OBP0.333-
predicted_R0.557-
predicted_RBI0.426-
predicted_SLG0.426-
predicted_SO0.885-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.1280.005
predicted_3B0.021-0.004
predicted_AB3.8550.027
predicted_AVG0.3050.027
predicted_BB0.301-0.010
predicted_H1.1770.111
predicted_HBP0.030-
predicted_HR0.1660.035
predicted_OBP0.3580.025
predicted_R0.5930.036
predicted_RBI0.4710.045
predicted_SLG0.4780.052
predicted_SO0.848-0.037
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1280.000
predicted_3B0.0210.000
predicted_AB3.8550.000
predicted_AVG0.296-0.009
predicted_BB0.298-0.003
predicted_H1.140-0.037
predicted_HBP0.0300.000
predicted_HR0.159-0.007
predicted_OBP0.346-0.012
predicted_R0.561-0.032
predicted_RBI0.446-0.025
predicted_SLG0.463-0.015
predicted_SO0.8570.010
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.86), rates preserved: AVG=0.296 HR/AB=0.041

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
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. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI1.0001.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.128
predicted_3B0.000-0.021
predicted_AB4.0000.145
predicted_AVG0.2960.000
predicted_BB0.000-0.298
predicted_H1.000-0.140
predicted_HR0.000-0.159
predicted_OBP0.3510.005
predicted_R1.0000.439
predicted_RBI0.000-0.446
predicted_SLG0.463-0.000
predicted_SO1.0000.143
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.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 122
Reference playing time: 3.828
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.00011.0001.0000.0002.0004.0005.0001.0003.0000.52380.54550.85710.52380.09520.19050.04760.1429
last_100.2010-38.00014.0001.0000.0003.0006.0006.0003.0007.0000.36840.41460.63160.36840.07900.15790.07900.1842
season0.60122-467.000130.00015.0003.00016.00052.00068.00038.000108.0000.27840.33980.42610.27840.03430.11140.08140.2313
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1350
predicted_3B0.0150
predicted_AB3.8910
predicted_AVG0.3401
predicted_BB0.2880
predicted_H1.3230
predicted_HBP0.0300
predicted_HR0.2110
predicted_OBP0.3909
predicted_R0.6400
predicted_RBI0.5290
predicted_SLG0.5453
predicted_SO0.7990
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12300.13500.1282model_form_blend
predicted_3B0.02500.01500.0207model_form_blend
predicted_AB3.82803.89103.8553model_form_blend
predicted_AVG0.27800.34010.3049model_form_blend
predicted_BB0.31100.28800.3010model_form_blend
predicted_H1.06601.32301.1775model_form_blend
predicted_HBP-0.03000.0300form_only
predicted_HR0.13100.21100.1657model_form_blend
predicted_OBP0.33300.39090.3581model_form_blend
predicted_R0.55700.64000.5930model_form_blend
predicted_RBI0.42600.52900.4707model_form_blend
predicted_SLG0.42600.54530.4778model_form_blend
predicted_SO0.88500.79900.8477model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date506
Season rows before report date506
Report year2026
Profile rows used122
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO2
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_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
gameID20260826_MIL@NYM
game_typefull
mlbID701807
playerID701807
playerNameCarson Benge
posOF
startedTrue
startingPositionRF
teamNYM
teamID18
game_date2026-08-26
sl_k_percent21.8
sl_bb_percent7.2
sl_woba0.333
sl_xwoba0.338
sl_xba0.279
sl_xslg0.436
sl_sweet_spot_percent37.3
sl_barrel_batted_rate7.4
sl_hard_hit_percent39.9
sl_exit_velocity_avg88.9
sl_launch_angle_avg11.7
sl_whiff_percent21.4
sl_swing_percent46.0
Luis Robert Jr. (673357) · BATTER · DH · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 189
All-history rows before 20260827: 189
System season_avg: 0.2320
Data season_avg (2026 season-to-date): 0.2352
Diff (system - data): -0.0032
System opponent_avg: 0.2140

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0800.0000.000Hitting_2B0.0690.000-0.0690.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.5403.0004.000Hitting_AB3.7574.000-0.757-1.000
predicted_AVG0.2320.0000.250Hitting_AVG0.2350.250-0.235-0.250
predicted_BB0.4000.0001.000Hitting_BB0.4020.000-0.4020.000
predicted_CS-0.0000.000BaseRunning_CS0.0580.000-0.0580.000
predicted_H0.8200.0001.000Hitting_H0.8841.000-0.884-1.000
predicted_HR0.2000.0001.000Hitting_HR0.1800.000-0.1800.000
predicted_OBP0.3100.0000.400Hitting_OBP0.3060.250-0.306-0.250
predicted_R0.4400.0001.000Hitting_R0.4710.000-0.4710.000
predicted_RBI0.4600.0001.000Hitting_RBI0.4920.000-0.4920.000
predicted_SLG0.4240.0001.000Hitting_SLG0.3970.250-0.397-0.250
predicted_SO0.9601.0001.000Hitting_SO0.9840.0000.0161.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics3
Deboosted Metrics7
Better Metrics3
Worse Metrics7
Biggest Boostpredicted_SLG: 0.4240 -> 0.4801 (boost 0.0561, better)
Biggest Deboostpredicted_H: 0.8200 -> 0.0000 (deboost -0.8200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend77070predicted_SLG: 0.4240 -> 0.4971 (boost 0.0731, 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.4971 -> 0.4801 (deboost -0.0170, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling74334predicted_RBI: 0.4895 -> 1.0000 (boost 0.5105, better)predicted_BB: 0.4239 -> 0.0000 (deboost -0.4239, worse)AB rounded to 4 (raw=3.56), rates preserved: AVG=0.242 HR/AB=0.070
5consistency_constraints10101-predicted_R: 0.4683 -> 0.0000 (deboost -0.4683, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation33030predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context52323predicted_SLG: 0.4801 -> 0.4880 (boost 0.0079, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference30303-predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final20202-predicted_SLG: 0.4880 -> 0.4801 (deboost -0.0079, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "673357",
  "player_name": "Luis Robert Jr.",
  "position": "DH",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.08,
        "predicted_3B": 0.0,
        "predicted_AB": 3.54,
        "predicted_AVG": 0.232,
        "predicted_BB": 0.4,
        "predicted_H": 0.82,
        "predicted_HR": 0.2,
        "predicted_OBP": 0.31,
        "predicted_R": 0.44,
        "predicted_RBI": 0.46,
        "predicted_SLG": 0.424,
        "predicted_SO": 0.96
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0952,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.5556,
        "predicted_AVG": 0.2499,
        "predicted_BB": 0.4288,
        "predicted_H": 0.8883,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.2613,
        "predicted_OBP": 0.3283,
        "predicted_R": 0.4948,
        "predicted_RBI": 0.5172,
        "predicted_SLG": 0.4971,
        "predicted_SO": 0.939
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.08,
          "after": 0.0952,
          "delta": 0.0152,
          "percent_delta": 0.19,
          "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.54,
          "after": 3.5556,
          "delta": 0.0156,
          "percent_delta": 0.0044,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.232,
          "after": 0.2499,
          "delta": 0.0179,
          "percent_delta": 0.0772,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4,
          "after": 0.4288,
          "delta": 0.0288,
          "percent_delta": 0.072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.82,
          "after": 0.8883,
          "delta": 0.0683,
          "percent_delta": 0.0833,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2,
          "after": 0.2613,
          "delta": 0.0613,
          "percent_delta": 0.3065,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.31,
          "after": 0.3283,
          "delta": 0.0183,
          "percent_delta": 0.059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.44,
          "after": 0.4948,
          "delta": 0.0548,
          "percent_delta": 0.1245,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.46,
          "after": 0.5172,
          "delta": 0.0572,
          "percent_delta": 0.1243,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.424,
          "after": 0.4971,
          "delta": 0.0731,
          "percent_delta": 0.1724,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.96,
          "after": 0.939,
          "delta": -0.021,
          "percent_delta": -0.0219,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 7,
        "deboosted_metrics": 0,
        "better_metrics": 7,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.424,
          "after": 0.4971,
          "delta": 0.0731,
          "percent_delta": 0.1724,
          "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.0952,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.5556,
        "predicted_AVG": 0.2419,
        "predicted_BB": 0.4239,
        "predicted_H": 0.8601,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.2501,
        "predicted_OBP": 0.3227,
        "predicted_R": 0.4683,
        "predicted_RBI": 0.4895,
        "predicted_SLG": 0.4801,
        "predicted_SO": 0.9497
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0952,
          "after": 0.0952,
          "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.5556,
          "after": 3.5556,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2499,
          "after": 0.2419,
          "delta": -0.008,
          "percent_delta": -0.032,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4288,
          "after": 0.4239,
          "delta": -0.0049,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8883,
          "after": 0.8601,
          "delta": -0.0282,
          "percent_delta": -0.0317,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.004,
          "after": 0.004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2613,
          "after": 0.2501,
          "delta": -0.0112,
          "percent_delta": -0.0429,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3283,
          "after": 0.3227,
          "delta": -0.0056,
          "percent_delta": -0.0171,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4948,
          "after": 0.4683,
          "delta": -0.0265,
          "percent_delta": -0.0536,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5172,
          "after": 0.4895,
          "delta": -0.0277,
          "percent_delta": -0.0536,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4971,
          "after": 0.4801,
          "delta": -0.017,
          "percent_delta": -0.0342,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.939,
          "after": 0.9497,
          "delta": 0.0107,
          "percent_delta": 0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4971,
          "after": 0.4801,
          "delta": -0.017,
          "percent_delta": -0.0342,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.56), rates preserved: AVG=0.242 HR/AB=0.070",
      "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.0952,
          "after": 0.0,
          "delta": -0.0952,
          "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.5556,
          "after": 4.0,
          "delta": 0.4444,
          "percent_delta": 0.125,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4239,
          "after": 0.0,
          "delta": -0.4239,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8601,
          "after": 1.0,
          "delta": 0.1399,
          "percent_delta": 0.1627,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.004,
          "after": 0.0,
          "delta": -0.004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2501,
          "after": 0.0,
          "delta": -0.2501,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4895,
          "after": 1.0,
          "delta": 0.5105,
          "percent_delta": 1.0429,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9497,
          "after": 1.0,
          "delta": 0.0503,
          "percent_delta": 0.053,
          "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.4895,
          "after": 1.0,
          "delta": 0.5105,
          "percent_delta": 1.0429,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4239,
          "after": 0.0,
          "delta": -0.4239,
          "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.4683,
          "after": 0.0,
          "delta": -0.4683,
          "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.4683,
          "after": 0.0,
          "delta": -0.4683,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 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_SO",
          "before": 1.0,
          "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_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.242,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.328,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.488,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2419,
          "after": 0.242,
          "delta": 0.0001,
          "percent_delta": 0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3227,
          "after": 0.328,
          "delta": 0.0053,
          "percent_delta": 0.0164,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4801,
          "after": 0.488,
          "delta": 0.0079,
          "percent_delta": 0.0165,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.4801,
          "after": 0.488,
          "delta": 0.0079,
          "percent_delta": 0.0165,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "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": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2419,
        "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.3227,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4801,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.242,
          "after": 0.2419,
          "delta": -0.0001,
          "percent_delta": -0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.328,
          "after": 0.3227,
          "delta": -0.0053,
          "percent_delta": -0.0163,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.488,
          "after": 0.4801,
          "delta": -0.0079,
          "percent_delta": -0.0161,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.488,
          "after": 0.4801,
          "delta": -0.0079,
          "percent_delta": -0.0161,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.08,
        "after": 0.0,
        "delta": -0.08,
        "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.54,
        "after": 3.0,
        "delta": -0.54,
        "percent_delta": -0.1525,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.232,
        "after": 0.2419,
        "delta": 0.0099,
        "percent_delta": 0.0427,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.4,
        "after": 0.0,
        "delta": -0.4,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.82,
        "after": 0.0,
        "delta": -0.82,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.2,
        "after": 0.0,
        "delta": -0.2,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.31,
        "after": 0.3227,
        "delta": 0.0127,
        "percent_delta": 0.041,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.44,
        "after": 0.0,
        "delta": -0.44,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.46,
        "after": 0.0,
        "delta": -0.46,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.424,
        "after": 0.4801,
        "delta": 0.0561,
        "percent_delta": 0.1323,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.96,
        "after": 1.0,
        "delta": 0.04,
        "percent_delta": 0.0417,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_SLG",
        "before": 0.424,
        "after": 0.4801,
        "delta": 0.0561,
        "percent_delta": 0.1323,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.82,
        "after": 0.0,
        "delta": -0.82,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.080-
predicted_3B0.000-
predicted_AB3.540-
predicted_AVG0.232-
predicted_BB0.400-
predicted_H0.820-
predicted_HR0.200-
predicted_OBP0.310-
predicted_R0.440-
predicted_RBI0.460-
predicted_SLG0.424-
predicted_SO0.960-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.0950.015
predicted_3B0.0010.001
predicted_AB3.5560.016
predicted_AVG0.2500.018
predicted_BB0.4290.029
predicted_H0.8880.068
predicted_HBP0.004-
predicted_HR0.2610.061
predicted_OBP0.3280.018
predicted_R0.4950.055
predicted_RBI0.5170.057
predicted_SLG0.4970.073
predicted_SO0.939-0.021
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.0950.000
predicted_3B0.0010.000
predicted_AB3.5560.000
predicted_AVG0.242-0.008
predicted_BB0.424-0.005
predicted_H0.860-0.028
predicted_HBP0.0040.000
predicted_HR0.250-0.011
predicted_OBP0.323-0.006
predicted_R0.468-0.027
predicted_RBI0.489-0.028
predicted_SLG0.480-0.017
predicted_SO0.9500.011
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.56), rates preserved: AVG=0.242 HR/AB=0.070

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. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
H1.0000.000
HR1.0001.000
R1.0001.000
RBI1.0000.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.095
predicted_3B0.000-0.001
predicted_AB4.0000.444
predicted_AVG0.2420.000
predicted_BB0.000-0.424
predicted_H1.0000.140
predicted_HR0.000-0.250
predicted_OBP0.3280.005
predicted_R0.000-0.468
predicted_RBI1.0000.510
predicted_SLG0.4880.008
predicted_SO1.0000.050
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB0.000-1.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.000-1.000
PA3.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 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-18.0007.0001.0000.0004.0005.0005.0004.0004.0000.38890.50001.11110.38890.22220.27780.22220.2222
last_100.2010-35.00011.0001.0000.0005.0007.0006.0005.0009.0000.31430.39020.77140.31430.14290.20000.14290.2571
season0.6050-177.00041.0004.0000.00010.00023.00022.00020.00048.0000.23160.30650.42370.23160.05650.12990.11300.2712
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1170
predicted_3B0.0020
predicted_AB3.5780
predicted_AVG0.2754
predicted_BB0.4700
predicted_H0.9860
predicted_HBP0.0040
predicted_HR0.3490
predicted_OBP0.3545
predicted_R0.5730
predicted_RBI0.5990
predicted_SLG0.6015
predicted_SO0.9090
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.08000.11700.0952model_form_blend
predicted_3B0.00000.00200.0008model_form_blend
predicted_AB3.54003.57803.5556model_form_blend
predicted_AVG0.23200.27540.2499model_form_blend
predicted_BB0.40000.47000.4288model_form_blend
predicted_H0.82000.98600.8883model_form_blend
predicted_HBP-0.00400.0040form_only
predicted_HR0.20000.34900.2613model_form_blend
predicted_OBP0.31000.35450.3283model_form_blend
predicted_R0.44000.57300.4948model_form_blend
predicted_RBI0.46000.59900.5172model_form_blend
predicted_SLG0.42400.60150.4971model_form_blend
predicted_SO0.96000.90900.9390model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date189
Season rows before report date189
Report year2026
Profile rows 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
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260826_MIL@NYM
game_typefull
mlbID673357
playerID673357
playerNameLuis Robert Jr.
posCF
startedTrue
startingPositionDH
teamNYM
teamID18
game_date2026-08-26
sl_k_percent24.3
sl_bb_percent10.6
sl_woba0.309
sl_xwoba0.318
sl_xba0.236
sl_xslg0.411
sl_sweet_spot_percent25.4
sl_barrel_batted_rate8.5
sl_hard_hit_percent40.1
sl_exit_velocity_avg89.5
sl_launch_angle_avg15.5
sl_whiff_percent28.7
sl_swing_percent49.9
Brett Baty (683146) · BATTER · LF · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 397
All-history rows before 20260827: 397
System season_avg: 0.2220
Data season_avg (2026 season-to-date): 0.2234
Diff (system - data): -0.0014
System opponent_avg: 0.1550

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1470.0000.000Hitting_2B0.1560.000-0.1560.000
predicted_3B0.0090.0000.000Hitting_3B0.0130.000-0.0130.000
predicted_AB3.2203.0003.000Hitting_AB3.4283.000-0.4280.000
predicted_AVG0.2220.3330.333Hitting_AVG0.2230.6670.110-0.333
predicted_BB0.2840.0000.000Hitting_BB0.3301.000-0.330-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0100.000-0.0100.000
predicted_H0.7161.0001.000Hitting_H0.7662.0000.234-1.000
predicted_HR0.0730.0000.000Hitting_HR0.0780.000-0.0780.000
predicted_OBP0.2850.3330.333Hitting_OBP0.2950.7500.039-0.417
predicted_R0.3941.0000.000Hitting_R0.4631.0000.5370.000
predicted_RBI0.3670.0000.000Hitting_RBI0.3900.000-0.3900.000
predicted_SLG0.3420.3330.333Hitting_SLG0.3450.667-0.011-0.333
predicted_SO0.9821.0001.000Hitting_SO1.0630.000-0.0631.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics10
Boosted Metrics5
Deboosted Metrics5
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_R: 0.3940 -> 1.0000 (boost 0.6060, better)
Biggest Deboostpredicted_RBI: 0.3670 -> 0.0000 (deboost -0.3670, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend64251predicted_2B: 0.1470 -> 0.1972 (boost 0.0502, better)predicted_AB: 3.2200 -> 3.0673 (deboost -0.1527, worse)Final model input calibrated 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.3808 -> 0.3674 (deboost -0.0134, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_H: 0.7153 -> 1.0000 (boost 0.2847, better)predicted_RBI: 0.3827 -> 0.0000 (deboost -0.3827, worse)AB rounded to 3 (raw=3.22), rates preserved: AVG=0.222 HR/AB=0.021
5consistency_constraints10101-predicted_R: 0.3291 -> 0.0000 (deboost -0.3291, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context30303-predicted_SLG: 0.3674 -> 0.3500 (deboost -0.0174, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference11010predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.3500 -> 0.3674 (boost 0.0174, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "683146",
  "player_name": "Brett Baty",
  "position": "LF",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.147,
        "predicted_3B": 0.009,
        "predicted_AB": 3.22,
        "predicted_AVG": 0.222,
        "predicted_BB": 0.284,
        "predicted_H": 0.716,
        "predicted_HR": 0.073,
        "predicted_OBP": 0.285,
        "predicted_R": 0.394,
        "predicted_RBI": 0.367,
        "predicted_SLG": 0.342,
        "predicted_SO": 0.982
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1972,
        "predicted_3B": 0.0073,
        "predicted_AB": 3.0673,
        "predicted_AVG": 0.242,
        "predicted_BB": 0.2904,
        "predicted_H": 0.7387,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.0696,
        "predicted_OBP": 0.3082,
        "predicted_R": 0.3477,
        "predicted_RBI": 0.4043,
        "predicted_SLG": 0.3808,
        "predicted_SO": 0.8872
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.147,
          "after": 0.1972,
          "delta": 0.0502,
          "percent_delta": 0.3415,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.009,
          "after": 0.0073,
          "delta": -0.0017,
          "percent_delta": -0.1889,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.22,
          "after": 3.0673,
          "delta": -0.1527,
          "percent_delta": -0.0474,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.242,
          "delta": 0.02,
          "percent_delta": 0.0901,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.284,
          "after": 0.2904,
          "delta": 0.0064,
          "percent_delta": 0.0225,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.716,
          "after": 0.7387,
          "delta": 0.0227,
          "percent_delta": 0.0317,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.073,
          "after": 0.0696,
          "delta": -0.0034,
          "percent_delta": -0.0466,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.285,
          "after": 0.3082,
          "delta": 0.0232,
          "percent_delta": 0.0814,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.394,
          "after": 0.3477,
          "delta": -0.0463,
          "percent_delta": -0.1175,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.367,
          "after": 0.4043,
          "delta": 0.0373,
          "percent_delta": 0.1016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.342,
          "after": 0.3808,
          "delta": 0.0388,
          "percent_delta": 0.1135,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.982,
          "after": 0.8872,
          "delta": -0.0948,
          "percent_delta": -0.0965,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.147,
          "after": 0.1972,
          "delta": 0.0502,
          "percent_delta": 0.3415,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.22,
          "after": 3.0673,
          "delta": -0.1527,
          "percent_delta": -0.0474,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 109
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1972,
        "predicted_3B": 0.0073,
        "predicted_AB": 3.0673,
        "predicted_AVG": 0.2332,
        "predicted_BB": 0.2871,
        "predicted_H": 0.7153,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.0666,
        "predicted_OBP": 0.2988,
        "predicted_R": 0.3291,
        "predicted_RBI": 0.3827,
        "predicted_SLG": 0.3674,
        "predicted_SO": 0.8973
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1972,
          "after": 0.1972,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0073,
          "after": 0.0073,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0673,
          "after": 3.0673,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.242,
          "after": 0.2332,
          "delta": -0.0088,
          "percent_delta": -0.0364,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2904,
          "after": 0.2871,
          "delta": -0.0033,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7387,
          "after": 0.7153,
          "delta": -0.0234,
          "percent_delta": -0.0317,
          "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.0696,
          "after": 0.0666,
          "delta": -0.003,
          "percent_delta": -0.0431,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3082,
          "after": 0.2988,
          "delta": -0.0094,
          "percent_delta": -0.0305,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3477,
          "after": 0.3291,
          "delta": -0.0186,
          "percent_delta": -0.0535,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4043,
          "after": 0.3827,
          "delta": -0.0216,
          "percent_delta": -0.0534,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3808,
          "after": 0.3674,
          "delta": -0.0134,
          "percent_delta": -0.0352,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8872,
          "after": 0.8973,
          "delta": 0.0101,
          "percent_delta": 0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3808,
          "after": 0.3674,
          "delta": -0.0134,
          "percent_delta": -0.0352,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.22), rates preserved: AVG=0.222 HR/AB=0.021",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1972,
          "after": 0.0,
          "delta": -0.1972,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0073,
          "after": 0.0,
          "delta": -0.0073,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0673,
          "after": 3.0,
          "delta": -0.0673,
          "percent_delta": -0.0219,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2871,
          "after": 0.0,
          "delta": -0.2871,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7153,
          "after": 1.0,
          "delta": 0.2847,
          "percent_delta": 0.398,
          "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.0666,
          "after": 0.0,
          "delta": -0.0666,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3827,
          "after": 0.0,
          "delta": -0.3827,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8973,
          "after": 1.0,
          "delta": 0.1027,
          "percent_delta": 0.1145,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7153,
          "after": 1.0,
          "delta": 0.2847,
          "percent_delta": 0.398,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3827,
          "after": 0.0,
          "delta": -0.3827,
          "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.3291,
          "after": 0.0,
          "delta": -0.3291,
          "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.3291,
          "after": 0.0,
          "delta": -0.3291,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": {},
      "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.222,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.291,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.35,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2332,
          "after": 0.222,
          "delta": -0.0112,
          "percent_delta": -0.048,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2988,
          "after": 0.291,
          "delta": -0.0078,
          "percent_delta": -0.0261,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.3674,
          "after": 0.35,
          "delta": -0.0174,
          "percent_delta": -0.0474,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.3674,
          "after": 0.35,
          "delta": -0.0174,
          "percent_delta": -0.0474,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 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_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2332,
        "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.2988,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3674,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2332,
          "delta": 0.0112,
          "percent_delta": 0.0504,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.291,
          "after": 0.2988,
          "delta": 0.0078,
          "percent_delta": 0.0269,
          "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.35,
          "after": 0.3674,
          "delta": 0.0174,
          "percent_delta": 0.0497,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.35,
          "after": 0.3674,
          "delta": 0.0174,
          "percent_delta": 0.0497,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.147,
        "after": 0.0,
        "delta": -0.147,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.009,
        "after": 0.0,
        "delta": -0.009,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.22,
        "after": 3.0,
        "delta": -0.22,
        "percent_delta": -0.0683,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.222,
        "after": 0.2332,
        "delta": 0.0112,
        "percent_delta": 0.0505,
        "direction": "boost",
        "projection_effect": "better",
        "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.716,
        "after": 1.0,
        "delta": 0.284,
        "percent_delta": 0.3966,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.073,
        "after": 0.0,
        "delta": -0.073,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.285,
        "after": 0.2988,
        "delta": 0.0138,
        "percent_delta": 0.0484,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.394,
        "after": 1.0,
        "delta": 0.606,
        "percent_delta": 1.5381,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.367,
        "after": 0.0,
        "delta": -0.367,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.342,
        "after": 0.3674,
        "delta": 0.0254,
        "percent_delta": 0.0743,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.982,
        "after": 1.0,
        "delta": 0.018,
        "percent_delta": 0.0183,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 5,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_R",
        "before": 0.394,
        "after": 1.0,
        "delta": 0.606,
        "percent_delta": 1.5381,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.367,
        "after": 0.0,
        "delta": -0.367,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.147-
predicted_3B0.009-
predicted_AB3.220-
predicted_AVG0.222-
predicted_BB0.284-
predicted_H0.716-
predicted_HR0.073-
predicted_OBP0.285-
predicted_R0.394-
predicted_RBI0.367-
predicted_SLG0.342-
predicted_SO0.982-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.1970.050
predicted_3B0.007-0.002
predicted_AB3.067-0.153
predicted_AVG0.2420.020
predicted_BB0.2900.006
predicted_H0.7390.023
predicted_HBP0.015-
predicted_HR0.070-0.003
predicted_OBP0.3080.023
predicted_R0.348-0.046
predicted_RBI0.4040.037
predicted_SLG0.3810.039
predicted_SO0.887-0.095
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1970.000
predicted_3B0.0070.000
predicted_AB3.0670.000
predicted_AVG0.233-0.009
predicted_BB0.287-0.003
predicted_H0.715-0.023
predicted_HBP0.0150.000
predicted_HR0.067-0.003
predicted_OBP0.299-0.009
predicted_R0.329-0.019
predicted_RBI0.383-0.022
predicted_SLG0.367-0.013
predicted_SO0.8970.010
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.22), rates preserved: AVG=0.222 HR/AB=0.021

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
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. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.197
predicted_3B0.000-0.007
predicted_AB3.000-0.067
predicted_AVG0.222-0.011
predicted_BB0.000-0.287
predicted_H1.0000.285
predicted_HR0.000-0.067
predicted_OBP0.291-0.008
predicted_R0.000-0.329
predicted_RBI0.000-0.383
predicted_SLG0.350-0.017
predicted_SO1.0000.103
8. 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
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: 109
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.0004.0002.0000.0000.0002.0000.0001.0001.0000.44440.50000.66670.44440.00000.22220.11110.1111
last_100.2010-25.0006.0003.0000.0001.0006.0003.0004.0008.0000.24000.34480.48000.24000.04000.24000.16000.3200
season0.60109-351.00078.00016.0001.0008.00040.00043.00031.000107.0000.22220.28790.34190.22220.02280.11400.08830.3048
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2640
predicted_3B0.0050
predicted_AB2.8640
predicted_AVG0.2686
predicted_BB0.2990
predicted_H0.7690
predicted_HBP0.0150
predicted_HR0.0650
predicted_OBP0.3391
predicted_R0.2860
predicted_RBI0.4540
predicted_SLG0.4325
predicted_SO0.7610
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14700.26400.1972model_form_blend
predicted_3B0.00900.00500.0073model_form_blend
predicted_AB3.22002.86403.0673model_form_blend
predicted_AVG0.22200.26860.2420model_form_blend
predicted_BB0.28400.29900.2904model_form_blend
predicted_H0.71600.76900.7387model_form_blend
predicted_HBP-0.01500.0150form_only
predicted_HR0.07300.06500.0696model_form_blend
predicted_OBP0.28500.33910.3082model_form_blend
predicted_R0.39400.28600.3477model_form_blend
predicted_RBI0.36700.45400.4043model_form_blend
predicted_SLG0.34200.43250.3808model_form_blend
predicted_SO0.98200.76100.8872model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date397
Season rows before report date397
Report year2026
Profile rows used109
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA3
AB3
H1
2B0
3B0
HR0
R1
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.667
Hitting_BB1
Hitting_GIDP1
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
allPositionsPlayedLF-3B-SS
gameID20260826_MIL@NYM
game_typefull
mlbID683146
playerID683146
playerNameBrett Baty
pos3B
startedTrue
startingPositionLF
teamNYM
teamID18
game_date2026-08-26
sl_k_percent27.8
sl_bb_percent8.7
sl_woba0.283
sl_xwoba0.305
sl_xba0.232
sl_xslg0.381
sl_sweet_spot_percent36.4
sl_barrel_batted_rate9.3
sl_hard_hit_percent41.5
sl_exit_velocity_avg89.9
sl_launch_angle_avg11.8
sl_whiff_percent29.1
sl_swing_percent49.1
Francisco Lindor (596019) · BATTER · SS · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 315
All-history rows before 20260827: 315
System season_avg: 0.2400
Data season_avg (2026 season-to-date): 0.2352
Diff (system - data): 0.0048
System opponent_avg: 0.3440

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1100.0000.000Hitting_2B0.1050.000-0.1050.000
predicted_3B0.0550.0000.000Hitting_3B0.0630.000-0.0630.000
predicted_AB4.5304.0005.000Hitting_AB3.9813.0000.0191.000
predicted_AVG0.2710.0000.200Hitting_AVG0.2350.000-0.2350.000
predicted_BB0.4520.0001.000Hitting_BB0.4760.000-0.4760.000
predicted_CS-0.0000.000BaseRunning_CS0.0290.000-0.0290.000
predicted_H1.2300.0001.000Hitting_H0.9370.000-0.9370.000
predicted_HR0.2200.0000.000Hitting_HR0.1810.000-0.1810.000
predicted_OBP0.3310.0000.333Hitting_OBP0.3250.000-0.3250.000
predicted_R0.5750.0001.000Hitting_R0.6060.000-0.6060.000
predicted_RBI0.5000.0001.000Hitting_RBI0.4860.000-0.4860.000
predicted_SLG0.4740.0000.200Hitting_SLG0.4300.000-0.4300.000
predicted_SO0.8083.0001.000Hitting_SO0.8761.0002.1242.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics1
Deboosted Metrics11
Better Metrics0
Worse Metrics12
Biggest Boostpredicted_SO: 0.8080 -> 3.0000 (boost 2.1920, worse)
Biggest Deboostpredicted_H: 1.2300 -> 0.0000 (deboost -1.2300, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend60615-predicted_AB: 4.5300 -> 4.2817 (deboost -0.2483, worse)Final model input calibrated 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.4542 -> 0.4364 (deboost -0.0178, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_AB: 4.2817 -> 5.0000 (boost 0.7183, better)predicted_BB: 0.4338 -> 0.0000 (deboost -0.4338, worse)AB rounded to 5 (raw=4.53), rates preserved: AVG=0.237 HR/AB=0.043
5consistency_constraints11010predicted_R: 0.5317 -> 1.0000 (boost 0.4683, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation22020predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context50505-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference41304predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse)predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.4120 -> 0.4364 (boost 0.0244, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "596019",
  "player_name": "Francisco Lindor",
  "position": "SS",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.11,
        "predicted_3B": 0.055,
        "predicted_AB": 4.53,
        "predicted_AVG": 0.271,
        "predicted_BB": 0.452,
        "predicted_H": 1.23,
        "predicted_HR": 0.22,
        "predicted_OBP": 0.331,
        "predicted_R": 0.575,
        "predicted_RBI": 0.5,
        "predicted_SLG": 0.474,
        "predicted_SO": 0.808
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1185,
        "predicted_3B": 0.0452,
        "predicted_AB": 4.2817,
        "predicted_AVG": 0.2578,
        "predicted_BB": 0.4388,
        "predicted_H": 1.1097,
        "predicted_HBP": 0.025,
        "predicted_HR": 0.2038,
        "predicted_OBP": 0.3249,
        "predicted_R": 0.5618,
        "predicted_RBI": 0.4503,
        "predicted_SLG": 0.4542,
        "predicted_SO": 0.7408
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.11,
          "after": 0.1185,
          "delta": 0.0085,
          "percent_delta": 0.0773,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.055,
          "after": 0.0452,
          "delta": -0.0098,
          "percent_delta": -0.1782,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.53,
          "after": 4.2817,
          "delta": -0.2483,
          "percent_delta": -0.0548,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.271,
          "after": 0.2578,
          "delta": -0.0132,
          "percent_delta": -0.0487,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.452,
          "after": 0.4388,
          "delta": -0.0132,
          "percent_delta": -0.0292,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.23,
          "after": 1.1097,
          "delta": -0.1203,
          "percent_delta": -0.0978,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.22,
          "after": 0.2038,
          "delta": -0.0162,
          "percent_delta": -0.0736,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.331,
          "after": 0.3249,
          "delta": -0.0061,
          "percent_delta": -0.0184,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.575,
          "after": 0.5618,
          "delta": -0.0132,
          "percent_delta": -0.023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5,
          "after": 0.4503,
          "delta": -0.0497,
          "percent_delta": -0.0994,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.474,
          "after": 0.4542,
          "delta": -0.0198,
          "percent_delta": -0.0418,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.808,
          "after": 0.7408,
          "delta": -0.0672,
          "percent_delta": -0.0832,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.53,
          "after": 4.2817,
          "delta": -0.2483,
          "percent_delta": -0.0548,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 73
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1185,
        "predicted_3B": 0.0452,
        "predicted_AB": 4.2817,
        "predicted_AVG": 0.251,
        "predicted_BB": 0.4338,
        "predicted_H": 1.0745,
        "predicted_HBP": 0.025,
        "predicted_HR": 0.195,
        "predicted_OBP": 0.3199,
        "predicted_R": 0.5317,
        "predicted_RBI": 0.4262,
        "predicted_SLG": 0.4364,
        "predicted_SO": 0.7492
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1185,
          "after": 0.1185,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0452,
          "after": 0.0452,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2817,
          "after": 4.2817,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2578,
          "after": 0.251,
          "delta": -0.0068,
          "percent_delta": -0.0264,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4388,
          "after": 0.4338,
          "delta": -0.005,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1097,
          "after": 1.0745,
          "delta": -0.0352,
          "percent_delta": -0.0317,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.025,
          "after": 0.025,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2038,
          "after": 0.195,
          "delta": -0.0088,
          "percent_delta": -0.0432,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3249,
          "after": 0.3199,
          "delta": -0.005,
          "percent_delta": -0.0154,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5618,
          "after": 0.5317,
          "delta": -0.0301,
          "percent_delta": -0.0536,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4503,
          "after": 0.4262,
          "delta": -0.0241,
          "percent_delta": -0.0535,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4542,
          "after": 0.4364,
          "delta": -0.0178,
          "percent_delta": -0.0392,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7408,
          "after": 0.7492,
          "delta": 0.0084,
          "percent_delta": 0.0113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4542,
          "after": 0.4364,
          "delta": -0.0178,
          "percent_delta": -0.0392,
          "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.237 HR/AB=0.043",
      "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.1185,
          "after": 0.0,
          "delta": -0.1185,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0452,
          "after": 0.0,
          "delta": -0.0452,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2817,
          "after": 5.0,
          "delta": 0.7183,
          "percent_delta": 0.1678,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4338,
          "after": 0.0,
          "delta": -0.4338,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0745,
          "after": 1.0,
          "delta": -0.0745,
          "percent_delta": -0.0693,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.025,
          "after": 0.0,
          "delta": -0.025,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.195,
          "after": 0.0,
          "delta": -0.195,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4262,
          "after": 0.0,
          "delta": -0.4262,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7492,
          "after": 1.0,
          "delta": 0.2508,
          "percent_delta": 0.3348,
          "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.2817,
          "after": 5.0,
          "delta": 0.7183,
          "percent_delta": 0.1678,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4338,
          "after": 0.0,
          "delta": -0.4338,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5317,
          "after": 1.0,
          "delta": 0.4683,
          "percent_delta": 0.8808,
          "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.5317,
          "after": 1.0,
          "delta": 0.4683,
          "percent_delta": 0.8808,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.237,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.309,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.412,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.251,
          "after": 0.237,
          "delta": -0.014,
          "percent_delta": -0.0558,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3199,
          "after": 0.309,
          "delta": -0.0109,
          "percent_delta": -0.0341,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4364,
          "after": 0.412,
          "delta": -0.0244,
          "percent_delta": -0.0559,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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.251,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3199,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4364,
        "predicted_SO": 3.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.237,
          "after": 0.251,
          "delta": 0.014,
          "percent_delta": 0.0589,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.309,
          "after": 0.3199,
          "delta": 0.0109,
          "percent_delta": 0.0352,
          "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.412,
          "after": 0.4364,
          "delta": 0.0244,
          "percent_delta": 0.0592,
          "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.412,
          "after": 0.4364,
          "delta": 0.0244,
          "percent_delta": 0.0592,
          "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.11,
        "after": 0.0,
        "delta": -0.11,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.055,
        "after": 0.0,
        "delta": -0.055,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.53,
        "after": 4.0,
        "delta": -0.53,
        "percent_delta": -0.117,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.271,
        "after": 0.251,
        "delta": -0.02,
        "percent_delta": -0.0738,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.452,
        "after": 0.0,
        "delta": -0.452,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.23,
        "after": 0.0,
        "delta": -1.23,
        "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.331,
        "after": 0.3199,
        "delta": -0.0111,
        "percent_delta": -0.0335,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.575,
        "after": 0.0,
        "delta": -0.575,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.5,
        "after": 0.0,
        "delta": -0.5,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.474,
        "after": 0.4364,
        "delta": -0.0376,
        "percent_delta": -0.0793,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.808,
        "after": 3.0,
        "delta": 2.192,
        "percent_delta": 2.7129,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 1,
      "deboosted_metrics": 11,
      "better_metrics": 0,
      "worse_metrics": 12,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.808,
        "after": 3.0,
        "delta": 2.192,
        "percent_delta": 2.7129,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.23,
        "after": 0.0,
        "delta": -1.23,
        "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.110-
predicted_3B0.055-
predicted_AB4.530-
predicted_AVG0.271-
predicted_BB0.452-
predicted_H1.230-
predicted_HR0.220-
predicted_OBP0.331-
predicted_R0.575-
predicted_RBI0.500-
predicted_SLG0.474-
predicted_SO0.808-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.1180.008
predicted_3B0.045-0.010
predicted_AB4.282-0.248
predicted_AVG0.258-0.013
predicted_BB0.439-0.013
predicted_H1.110-0.120
predicted_HBP0.025-
predicted_HR0.204-0.016
predicted_OBP0.325-0.006
predicted_R0.562-0.013
predicted_RBI0.450-0.050
predicted_SLG0.454-0.020
predicted_SO0.741-0.067
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1180.000
predicted_3B0.0450.000
predicted_AB4.2820.000
predicted_AVG0.251-0.007
predicted_BB0.434-0.005
predicted_H1.075-0.035
predicted_HBP0.0250.000
predicted_HR0.195-0.009
predicted_OBP0.320-0.005
predicted_R0.532-0.030
predicted_RBI0.426-0.024
predicted_SLG0.436-0.018
predicted_SO0.7490.008
4. ab_floor_and_scaling

AB rounded to 5 (raw=4.53), rates preserved: AVG=0.237 HR/AB=0.043

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB5.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
5. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB1.0001.000
H1.0000.000
HR0.0000.000
R1.0000.000
RBI1.0001.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.118
predicted_3B0.000-0.045
predicted_AB5.0000.718
predicted_AVG0.237-0.014
predicted_BB0.000-0.434
predicted_H1.000-0.075
predicted_HR0.000-0.195
predicted_OBP0.309-0.011
predicted_R1.0000.468
predicted_RBI0.000-0.426
predicted_SLG0.412-0.024
predicted_SO1.0000.251
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.000-1.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO3.0002.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 73
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-21.0005.0001.0000.0001.0001.0002.0001.0001.0000.23810.27270.42860.23810.04760.04760.04760.0476
last_100.2010-38.0009.0001.0000.0002.0003.0006.0006.0005.0000.23680.34090.42110.23680.05260.07900.15790.1316
season0.6073-287.00069.0008.0004.00013.00033.00042.00033.00059.0000.24040.32510.43210.24040.04530.11500.11500.2056
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1300
predicted_3B0.0320
predicted_AB3.9460
predicted_AVG0.2400
predicted_BB0.4210
predicted_H0.9470
predicted_HBP0.0250
predicted_HR0.1820
predicted_OBP0.3167
predicted_R0.5440
predicted_RBI0.3830
predicted_SLG0.4274
predicted_SO0.6500
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11000.13000.1185model_form_blend
predicted_3B0.05500.03200.0452model_form_blend
predicted_AB4.53003.94604.2817model_form_blend
predicted_AVG0.27100.24000.2578model_form_blend
predicted_BB0.45200.42100.4388model_form_blend
predicted_H1.23000.94701.1097model_form_blend
predicted_HBP-0.02500.0250form_only
predicted_HR0.22000.18200.2038model_form_blend
predicted_OBP0.33100.31670.3249model_form_blend
predicted_R0.57500.54400.5618model_form_blend
predicted_RBI0.50000.38300.4503model_form_blend
predicted_SLG0.47400.42740.4542model_form_blend
predicted_SO0.80800.65000.7408model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date315
Season rows before report date315
Report year2026
Profile rows used73
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO3
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_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_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
gameID20260826_MIL@NYM
game_typefull
mlbID596019
playerID596019
playerNameFrancisco Lindor
posSS
startedTrue
startingPositionSS
teamNYM
teamID18
game_date2026-08-26
sl_k_percent19.1
sl_bb_percent10.3
sl_woba0.324
sl_xwoba0.337
sl_xba0.242
sl_xslg0.444
sl_sweet_spot_percent29.0
sl_barrel_batted_rate9.4
sl_hard_hit_percent46.9
sl_exit_velocity_avg90.9
sl_launch_angle_avg20.0
sl_whiff_percent24.5
sl_swing_percent45.8
Jared Young (676724) · BATTER · 1B · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 260
All-history rows before 20260827: 260
System season_avg: 0.2670
Data season_avg (2026 season-to-date): 0.2764
Diff (system - data): -0.0094
System opponent_avg: 0.2140

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1820.0001.000Hitting_2B0.1880.000-0.1880.000
predicted_3B0.0260.0000.000Hitting_3B0.0380.000-0.0380.000
predicted_AB3.2304.0003.000Hitting_AB3.3544.0000.6460.000
predicted_AVG0.2490.0000.333Hitting_AVG0.2760.250-0.276-0.250
predicted_BB0.2210.0000.000Hitting_BB0.2420.000-0.2420.000
predicted_CS-0.0000.000BaseRunning_CS0.0040.000-0.0040.000
predicted_H0.8000.0001.000Hitting_H0.9271.000-0.927-1.000
predicted_HR0.0900.0000.000Hitting_HR0.0960.000-0.0960.000
predicted_OBP0.3000.0000.333Hitting_OBP0.3390.250-0.339-0.250
predicted_R0.3900.0000.000Hitting_R0.4120.000-0.4120.000
predicted_RBI0.4000.0000.000Hitting_RBI0.4150.000-0.4150.000
predicted_SLG0.4080.0000.667Hitting_SLG0.4420.250-0.442-0.250
predicted_SO0.6361.0000.000Hitting_SO0.6621.0000.3380.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_AB: 3.2300 -> 4.0000 (boost 0.7700, better)
Biggest Deboostpredicted_H: 0.8000 -> 0.0000 (deboost -0.8000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend55050predicted_AB: 3.2300 -> 3.3149 (boost 0.0849, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_OBP: 0.3073 -> 0.2932 (deboost -0.0141, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_SO: 0.6568 -> 1.0000 (boost 0.3432, worse)predicted_RBI: 0.3882 -> 0.0000 (deboost -0.3882, worse)AB rounded to 3 (raw=3.31), rates preserved: AVG=0.252 HR/AB=0.025
5consistency_constraints10101-predicted_R: 0.3950 -> 0.0000 (deboost -0.3950, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation21120predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context32112predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_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
9current_json_final10101-predicted_OBP: 0.2990 -> 0.2932 (deboost -0.0058, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "676724",
  "player_name": "Jared Young",
  "position": "1B",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.182,
        "predicted_3B": 0.026,
        "predicted_AB": 3.23,
        "predicted_AVG": 0.249,
        "predicted_BB": 0.221,
        "predicted_H": 0.8,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.3,
        "predicted_R": 0.39,
        "predicted_RBI": 0.4,
        "predicted_SLG": 0.408,
        "predicted_SO": 0.636
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2127,
        "predicted_3B": 0.0222,
        "predicted_AB": 3.3149,
        "predicted_AVG": 0.2611,
        "predicted_BB": 0.1933,
        "predicted_H": 0.8643,
        "predicted_HBP": 0.049,
        "predicted_HR": 0.0871,
        "predicted_OBP": 0.3073,
        "predicted_R": 0.4173,
        "predicted_RBI": 0.4101,
        "predicted_SLG": 0.4191,
        "predicted_SO": 0.6494
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.182,
          "after": 0.2127,
          "delta": 0.0307,
          "percent_delta": 0.1687,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.026,
          "after": 0.0222,
          "delta": -0.0038,
          "percent_delta": -0.1462,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.23,
          "after": 3.3149,
          "delta": 0.0849,
          "percent_delta": 0.0263,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.249,
          "after": 0.2611,
          "delta": 0.0121,
          "percent_delta": 0.0486,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.221,
          "after": 0.1933,
          "delta": -0.0277,
          "percent_delta": -0.1253,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8,
          "after": 0.8643,
          "delta": 0.0643,
          "percent_delta": 0.0804,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.0871,
          "delta": -0.0029,
          "percent_delta": -0.0322,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.3073,
          "delta": 0.0073,
          "percent_delta": 0.0243,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.39,
          "after": 0.4173,
          "delta": 0.0273,
          "percent_delta": 0.07,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4,
          "after": 0.4101,
          "delta": 0.0101,
          "percent_delta": 0.0252,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.408,
          "after": 0.4191,
          "delta": 0.0111,
          "percent_delta": 0.0272,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.636,
          "after": 0.6494,
          "delta": 0.0134,
          "percent_delta": 0.0211,
          "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_AB",
          "before": 3.23,
          "after": 3.3149,
          "delta": 0.0849,
          "percent_delta": 0.0263,
          "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": 77
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2127,
        "predicted_3B": 0.0222,
        "predicted_AB": 3.3149,
        "predicted_AVG": 0.2525,
        "predicted_BB": 0.1911,
        "predicted_H": 0.8369,
        "predicted_HBP": 0.049,
        "predicted_HR": 0.0834,
        "predicted_OBP": 0.2932,
        "predicted_R": 0.395,
        "predicted_RBI": 0.3882,
        "predicted_SLG": 0.4055,
        "predicted_SO": 0.6568
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2127,
          "after": 0.2127,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0222,
          "after": 0.0222,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3149,
          "after": 3.3149,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2611,
          "after": 0.2525,
          "delta": -0.0086,
          "percent_delta": -0.0329,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1933,
          "after": 0.1911,
          "delta": -0.0022,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8643,
          "after": 0.8369,
          "delta": -0.0274,
          "percent_delta": -0.0317,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.049,
          "after": 0.049,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0871,
          "after": 0.0834,
          "delta": -0.0037,
          "percent_delta": -0.0425,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3073,
          "after": 0.2932,
          "delta": -0.0141,
          "percent_delta": -0.0459,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4173,
          "after": 0.395,
          "delta": -0.0223,
          "percent_delta": -0.0534,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4101,
          "after": 0.3882,
          "delta": -0.0219,
          "percent_delta": -0.0534,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4191,
          "after": 0.4055,
          "delta": -0.0136,
          "percent_delta": -0.0325,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6494,
          "after": 0.6568,
          "delta": 0.0074,
          "percent_delta": 0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3073,
          "after": 0.2932,
          "delta": -0.0141,
          "percent_delta": -0.0459,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.31), rates preserved: AVG=0.252 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.2127,
          "after": 0.0,
          "delta": -0.2127,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0222,
          "after": 0.0,
          "delta": -0.0222,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3149,
          "after": 3.0,
          "delta": -0.3149,
          "percent_delta": -0.095,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1911,
          "after": 0.0,
          "delta": -0.1911,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8369,
          "after": 1.0,
          "delta": 0.1631,
          "percent_delta": 0.1949,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.049,
          "after": 0.0,
          "delta": -0.049,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0834,
          "after": 0.0,
          "delta": -0.0834,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3882,
          "after": 0.0,
          "delta": -0.3882,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6568,
          "after": 1.0,
          "delta": 0.3432,
          "percent_delta": 0.5225,
          "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.6568,
          "after": 1.0,
          "delta": 0.3432,
          "percent_delta": 0.5225,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3882,
          "after": 0.0,
          "delta": -0.3882,
          "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.395,
          "after": 0.0,
          "delta": -0.395,
          "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.395,
          "after": 0.0,
          "delta": -0.395,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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_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": 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.252,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.299,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.405,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2525,
          "after": 0.252,
          "delta": -0.0005,
          "percent_delta": -0.002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2932,
          "after": 0.299,
          "delta": 0.0058,
          "percent_delta": 0.0198,
          "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.4055,
          "after": 0.405,
          "delta": -0.0005,
          "percent_delta": -0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2525,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2932,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4055,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.252,
          "after": 0.2525,
          "delta": 0.0005,
          "percent_delta": 0.0019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.299,
          "after": 0.2932,
          "delta": -0.0058,
          "percent_delta": -0.0194,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.405,
          "after": 0.4055,
          "delta": 0.0005,
          "percent_delta": 0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.299,
          "after": 0.2932,
          "delta": -0.0058,
          "percent_delta": -0.0194,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.182,
        "after": 0.0,
        "delta": -0.182,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.026,
        "after": 0.0,
        "delta": -0.026,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.23,
        "after": 4.0,
        "delta": 0.77,
        "percent_delta": 0.2384,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.249,
        "after": 0.2525,
        "delta": 0.0035,
        "percent_delta": 0.0141,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.221,
        "after": 0.0,
        "delta": -0.221,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.8,
        "after": 0.0,
        "delta": -0.8,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.3,
        "after": 0.2932,
        "delta": -0.0068,
        "percent_delta": -0.0227,
        "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.4,
        "after": 0.0,
        "delta": -0.4,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.408,
        "after": 0.4055,
        "delta": -0.0025,
        "percent_delta": -0.0061,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.636,
        "after": 1.0,
        "delta": 0.364,
        "percent_delta": 0.5723,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 2,
      "deboosted_metrics": 7,
      "better_metrics": 1,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.23,
        "after": 4.0,
        "delta": 0.77,
        "percent_delta": 0.2384,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.8,
        "after": 0.0,
        "delta": -0.8,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "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.182-
predicted_3B0.026-
predicted_AB3.230-
predicted_AVG0.249-
predicted_BB0.221-
predicted_H0.800-
predicted_HR0.090-
predicted_OBP0.300-
predicted_R0.390-
predicted_RBI0.400-
predicted_SLG0.408-
predicted_SO0.636-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.2130.031
predicted_3B0.022-0.004
predicted_AB3.3150.085
predicted_AVG0.2610.012
predicted_BB0.193-0.028
predicted_H0.8640.064
predicted_HBP0.049-
predicted_HR0.087-0.003
predicted_OBP0.3070.007
predicted_R0.4170.027
predicted_RBI0.4100.010
predicted_SLG0.4190.011
predicted_SO0.6490.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.2130.000
predicted_3B0.0220.000
predicted_AB3.3150.000
predicted_AVG0.253-0.009
predicted_BB0.191-0.002
predicted_H0.837-0.027
predicted_HBP0.0490.000
predicted_HR0.083-0.004
predicted_OBP0.293-0.014
predicted_R0.395-0.022
predicted_RBI0.388-0.022
predicted_SLG0.406-0.014
predicted_SO0.6570.007
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.31), rates preserved: AVG=0.252 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. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.000
SO0.000-1.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.213
predicted_3B0.000-0.022
predicted_AB3.000-0.315
predicted_AVG0.252-0.001
predicted_BB0.000-0.191
predicted_H1.0000.163
predicted_HR0.000-0.083
predicted_OBP0.2990.006
predicted_R0.000-0.395
predicted_RBI0.000-0.388
predicted_SLG0.405-0.001
predicted_SO1.0000.343
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.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.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 77
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.0006.0002.0000.0000.0002.0003.0000.0003.0000.30000.30000.40000.30000.00000.10000.00000.1500
last_100.2010-36.00011.0004.0000.0001.0006.0005.0000.0007.0000.30560.30560.50000.30560.02780.16670.00000.1944
season0.6077-240.00064.00014.0002.0007.00028.00030.00017.00049.0000.26670.32950.42920.26670.02920.11670.07080.2042
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2550
predicted_3B0.0170
predicted_AB3.4320
predicted_AVG0.2777
predicted_BB0.1550
predicted_H0.9530
predicted_HBP0.0490
predicted_HR0.0830
predicted_OBP0.3174
predicted_R0.4550
predicted_RBI0.4240
predicted_SLG0.4345
predicted_SO0.6680
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18200.25500.2127model_form_blend
predicted_3B0.02600.01700.0222model_form_blend
predicted_AB3.23003.43203.3149model_form_blend
predicted_AVG0.24900.27770.2611model_form_blend
predicted_BB0.22100.15500.1933model_form_blend
predicted_H0.80000.95300.8643model_form_blend
predicted_HBP-0.04900.0490form_only
predicted_HR0.09000.08300.0871model_form_blend
predicted_OBP0.30000.31740.3073model_form_blend
predicted_R0.39000.45500.4173model_form_blend
predicted_RBI0.40000.42400.4101model_form_blend
predicted_SLG0.40800.43450.4191model_form_blend
predicted_SO0.63600.66800.6494model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date260
Season rows before report date260
Report year2026
Profile rows used77
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_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
allPositionsPlayed1B
gameID20260826_MIL@NYM
game_typefull
mlbID676724
playerID676724
playerNameJared Young
pos1B
startedTrue
startingPosition1B
teamNYM
teamID18
game_date2026-08-26
sl_k_percent19.0
sl_bb_percent6.2
sl_woba0.336
sl_xwoba0.31
sl_xba0.242
sl_xslg0.393
sl_sweet_spot_percent29.4
sl_barrel_batted_rate7.1
sl_hard_hit_percent45.0
sl_exit_velocity_avg89.8
sl_launch_angle_avg11.7
sl_whiff_percent25.5
sl_swing_percent47.8
Marcus Semien (543760) · BATTER · 2B · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 424
All-history rows before 20260827: 424
System season_avg: 0.2160
Data season_avg (2026 season-to-date): 0.2286
Diff (system - data): -0.0126
System opponent_avg: 0.1820

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0920.0000.000Hitting_2B0.1060.000-0.1060.000
predicted_3B0.0090.0000.000Hitting_3B0.0090.000-0.0090.000
predicted_AB3.8402.0004.000Hitting_AB3.6634.000-1.663-2.000
predicted_AVG0.2230.0000.250Hitting_AVG0.2290.500-0.229-0.500
predicted_BB0.3031.0000.000Hitting_BB0.3160.0000.6841.000
predicted_CS-0.0000.000BaseRunning_CS0.0280.000-0.0280.000
predicted_H0.8600.0001.000Hitting_H0.8372.000-0.837-2.000
predicted_HR0.1100.0000.000Hitting_HR0.1420.000-0.1420.000
predicted_OBP0.2800.3330.250Hitting_OBP0.2880.5000.045-0.167
predicted_R0.3760.0000.000Hitting_R0.4200.000-0.4200.000
predicted_RBI0.4000.0000.000Hitting_RBI0.4250.000-0.4250.000
predicted_SB-0.0000.000BaseRunning_SB0.0830.000-0.0830.000
predicted_SLG0.3450.0000.250Hitting_SLG0.3790.500-0.379-0.500
predicted_SO0.8441.0001.000Hitting_SO0.8821.0000.1180.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics1
Worse Metrics10
Biggest Boostpredicted_BB: 0.3030 -> 1.0000 (boost 0.6970, better)
Biggest Deboostpredicted_AB: 3.8400 -> 2.0000 (deboost -1.8400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend30303-predicted_AB: 3.8400 -> 3.7327 (deboost -0.1073, worse)Final model input calibrated 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.3339 -> 0.3201 (deboost -0.0138, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_AB: 3.7327 -> 4.0000 (boost 0.2673, better)predicted_RBI: 0.3636 -> 0.0000 (deboost -0.3636, worse)AB rounded to 4 (raw=3.84), rates preserved: AVG=0.211 HR/AB=0.024
5consistency_constraints10101-predicted_R: 0.3020 -> 0.0000 (deboost -0.3020, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context20202-predicted_SLG: 0.3201 -> 0.3110 (deboost -0.0091, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference31212predicted_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_final22020predicted_SLG: 0.3110 -> 0.3201 (boost 0.0091, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "543760",
  "player_name": "Marcus Semien",
  "position": "2B",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.092,
        "predicted_3B": 0.009,
        "predicted_AB": 3.84,
        "predicted_AVG": 0.223,
        "predicted_BB": 0.303,
        "predicted_H": 0.86,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.28,
        "predicted_R": 0.376,
        "predicted_RBI": 0.4,
        "predicted_SLG": 0.345,
        "predicted_SO": 0.844
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0881,
        "predicted_3B": 0.0077,
        "predicted_AB": 3.7327,
        "predicted_AVG": 0.224,
        "predicted_BB": 0.294,
        "predicted_H": 0.838,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.0975,
        "predicted_OBP": 0.2808,
        "predicted_R": 0.3191,
        "predicted_RBI": 0.3841,
        "predicted_SLG": 0.3339,
        "predicted_SO": 0.8052
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.092,
          "after": 0.0881,
          "delta": -0.0039,
          "percent_delta": -0.0424,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.009,
          "after": 0.0077,
          "delta": -0.0013,
          "percent_delta": -0.1444,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.84,
          "after": 3.7327,
          "delta": -0.1073,
          "percent_delta": -0.0279,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.223,
          "after": 0.224,
          "delta": 0.001,
          "percent_delta": 0.0045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.303,
          "after": 0.294,
          "delta": -0.009,
          "percent_delta": -0.0297,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.86,
          "after": 0.838,
          "delta": -0.022,
          "percent_delta": -0.0256,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.0975,
          "delta": -0.0125,
          "percent_delta": -0.1136,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.28,
          "after": 0.2808,
          "delta": 0.0008,
          "percent_delta": 0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.376,
          "after": 0.3191,
          "delta": -0.0569,
          "percent_delta": -0.1513,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4,
          "after": 0.3841,
          "delta": -0.0159,
          "percent_delta": -0.0398,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.345,
          "after": 0.3339,
          "delta": -0.0111,
          "percent_delta": -0.0322,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.844,
          "after": 0.8052,
          "delta": -0.0388,
          "percent_delta": -0.046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.84,
          "after": 3.7327,
          "delta": -0.1073,
          "percent_delta": -0.0279,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 109
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0881,
        "predicted_3B": 0.0077,
        "predicted_AB": 3.7327,
        "predicted_AVG": 0.2174,
        "predicted_BB": 0.2906,
        "predicted_H": 0.8114,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.0933,
        "predicted_OBP": 0.2739,
        "predicted_R": 0.302,
        "predicted_RBI": 0.3636,
        "predicted_SLG": 0.3201,
        "predicted_SO": 0.8144
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0881,
          "after": 0.0881,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0077,
          "after": 0.0077,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7327,
          "after": 3.7327,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.224,
          "after": 0.2174,
          "delta": -0.0066,
          "percent_delta": -0.0295,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.294,
          "after": 0.2906,
          "delta": -0.0034,
          "percent_delta": -0.0116,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.838,
          "after": 0.8114,
          "delta": -0.0266,
          "percent_delta": -0.0317,
          "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.0975,
          "after": 0.0933,
          "delta": -0.0042,
          "percent_delta": -0.0431,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2808,
          "after": 0.2739,
          "delta": -0.0069,
          "percent_delta": -0.0246,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3191,
          "after": 0.302,
          "delta": -0.0171,
          "percent_delta": -0.0536,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3841,
          "after": 0.3636,
          "delta": -0.0205,
          "percent_delta": -0.0534,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3339,
          "after": 0.3201,
          "delta": -0.0138,
          "percent_delta": -0.0413,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8052,
          "after": 0.8144,
          "delta": 0.0092,
          "percent_delta": 0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3339,
          "after": 0.3201,
          "delta": -0.0138,
          "percent_delta": -0.0413,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.84), rates preserved: AVG=0.211 HR/AB=0.024",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0881,
          "after": 0.0,
          "delta": -0.0881,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0077,
          "after": 0.0,
          "delta": -0.0077,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7327,
          "after": 4.0,
          "delta": 0.2673,
          "percent_delta": 0.0716,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2906,
          "after": 0.0,
          "delta": -0.2906,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8114,
          "after": 1.0,
          "delta": 0.1886,
          "percent_delta": 0.2324,
          "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.0933,
          "after": 0.0,
          "delta": -0.0933,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3636,
          "after": 0.0,
          "delta": -0.3636,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8144,
          "after": 1.0,
          "delta": 0.1856,
          "percent_delta": 0.2279,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.7327,
          "after": 4.0,
          "delta": 0.2673,
          "percent_delta": 0.0716,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3636,
          "after": 0.0,
          "delta": -0.3636,
          "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.302,
          "after": 0.0,
          "delta": -0.302,
          "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.302,
          "after": 0.0,
          "delta": -0.302,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.211,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.273,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.311,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2174,
          "after": 0.211,
          "delta": -0.0064,
          "percent_delta": -0.0294,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2739,
          "after": 0.273,
          "delta": -0.0009,
          "percent_delta": -0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3201,
          "after": 0.311,
          "delta": -0.0091,
          "percent_delta": -0.0284,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.3201,
          "after": 0.311,
          "delta": -0.0091,
          "percent_delta": -0.0284,
          "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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 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.2174,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2739,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3201,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.211,
          "after": 0.2174,
          "delta": 0.0064,
          "percent_delta": 0.0303,
          "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.273,
          "after": 0.2739,
          "delta": 0.0009,
          "percent_delta": 0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.311,
          "after": 0.3201,
          "delta": 0.0091,
          "percent_delta": 0.0293,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.311,
          "after": 0.3201,
          "delta": 0.0091,
          "percent_delta": 0.0293,
          "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.092,
        "after": 0.0,
        "delta": -0.092,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.009,
        "after": 0.0,
        "delta": -0.009,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.84,
        "after": 2.0,
        "delta": -1.84,
        "percent_delta": -0.4792,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.223,
        "after": 0.2174,
        "delta": -0.0056,
        "percent_delta": -0.0251,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.303,
        "after": 1.0,
        "delta": 0.697,
        "percent_delta": 2.3003,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.86,
        "after": 0.0,
        "delta": -0.86,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.11,
        "after": 0.0,
        "delta": -0.11,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.28,
        "after": 0.2739,
        "delta": -0.0061,
        "percent_delta": -0.0218,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.376,
        "after": 0.0,
        "delta": -0.376,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.4,
        "after": 0.0,
        "delta": -0.4,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.345,
        "after": 0.3201,
        "delta": -0.0249,
        "percent_delta": -0.0722,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.844,
        "after": 1.0,
        "delta": 0.156,
        "percent_delta": 0.1848,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.303,
        "after": 1.0,
        "delta": 0.697,
        "percent_delta": 2.3003,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.84,
        "after": 2.0,
        "delta": -1.84,
        "percent_delta": -0.4792,
        "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.092-
predicted_3B0.009-
predicted_AB3.840-
predicted_AVG0.223-
predicted_BB0.303-
predicted_H0.860-
predicted_HR0.110-
predicted_OBP0.280-
predicted_R0.376-
predicted_RBI0.400-
predicted_SLG0.345-
predicted_SO0.844-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.088-0.004
predicted_3B0.008-0.001
predicted_AB3.733-0.107
predicted_AVG0.2240.001
predicted_BB0.294-0.009
predicted_H0.838-0.022
predicted_HBP0.007-
predicted_HR0.098-0.012
predicted_OBP0.2810.001
predicted_R0.319-0.057
predicted_RBI0.384-0.016
predicted_SLG0.334-0.011
predicted_SO0.805-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.0880.000
predicted_3B0.0080.000
predicted_AB3.7330.000
predicted_AVG0.217-0.007
predicted_BB0.291-0.003
predicted_H0.811-0.027
predicted_HBP0.0070.000
predicted_HR0.093-0.004
predicted_OBP0.274-0.007
predicted_R0.302-0.017
predicted_RBI0.364-0.021
predicted_SLG0.320-0.014
predicted_SO0.8140.009
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.84), rates preserved: AVG=0.211 HR/AB=0.024

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
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. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.088
predicted_3B0.000-0.008
predicted_AB4.0000.267
predicted_AVG0.211-0.006
predicted_BB0.000-0.291
predicted_H1.0000.189
predicted_HR0.000-0.093
predicted_OBP0.273-0.001
predicted_R0.000-0.302
predicted_RBI0.000-0.364
predicted_SLG0.311-0.009
predicted_SO1.0000.186
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.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: 109
Reference playing time: 3.840
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0005.0000.0000.0000.0002.0000.0001.0003.0000.26320.30000.26320.26320.00000.10530.05260.1579
last_100.2010-34.0007.0001.0000.0000.0002.0000.0003.0006.0000.20590.27030.23530.20590.00000.05880.08820.1765
season0.60109-388.00084.00010.0001.00014.00043.00041.00033.00092.0000.21650.27700.35570.21650.03610.11080.08510.2371
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0830
predicted_3B0.0060
predicted_AB3.5910
predicted_AVG0.2253
predicted_BB0.2820
predicted_H0.8090
predicted_HBP0.0070
predicted_HR0.0810
predicted_OBP0.2819
predicted_R0.2440
predicted_RBI0.3630
predicted_SLG0.3193
predicted_SO0.7540
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09200.08300.0881model_form_blend
predicted_3B0.00900.00600.0077model_form_blend
predicted_AB3.84003.59103.7327model_form_blend
predicted_AVG0.22300.22530.2240model_form_blend
predicted_BB0.30300.28200.2940model_form_blend
predicted_H0.86000.80900.8380model_form_blend
predicted_HBP-0.00700.0070form_only
predicted_HR0.11000.08100.0975model_form_blend
predicted_OBP0.28000.28190.2808model_form_blend
predicted_R0.37600.24400.3191model_form_blend
predicted_RBI0.40000.36300.3841model_form_blend
predicted_SLG0.34500.31930.3339model_form_blend
predicted_SO0.84400.75400.8052model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date424
Season rows before report date424
Report year2026
Profile rows used109
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA3
AB2
H0
2B0
3B0
HR0
R0
RBI0
BB1
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_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_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260826_MIL@NYM
game_typefull
mlbID543760
playerID543760
playerNameMarcus Semien
pos2B
startedTrue
startingPosition2B
teamNYM
teamID18
game_date2026-08-26
sl_k_percent21.1
sl_bb_percent7.8
sl_woba0.278
sl_xwoba0.305
sl_xba0.249
sl_xslg0.386
sl_sweet_spot_percent35.3
sl_barrel_batted_rate6.2
sl_hard_hit_percent32.8
sl_exit_velocity_avg86.5
sl_launch_angle_avg18.5
sl_whiff_percent24.4
sl_swing_percent50.1
Bo Bichette (666182) · BATTER · 3B · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 550
All-history rows before 20260827: 550
System season_avg: 0.2670
Data season_avg (2026 season-to-date): 0.2793
Diff (system - data): -0.0123
System opponent_avg: 0.3120

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1650.0000.000Hitting_2B0.1910.000-0.1910.000
predicted_3B0.0160.0000.000Hitting_3B0.0150.000-0.0150.000
predicted_AB4.6403.0005.000Hitting_AB4.0951.000-1.0952.000
predicted_AVG0.2500.0000.200Hitting_AVG0.2790.000-0.2790.000
predicted_BB0.2681.0000.000Hitting_BB0.2891.0000.7110.000
predicted_CS-0.0000.000BaseRunning_CS0.0020.000-0.0020.000
predicted_H1.1600.0001.000Hitting_H1.1440.000-1.1440.000
predicted_HR0.1700.0000.000Hitting_HR0.1070.000-0.1070.000
predicted_OBP0.2990.2500.200Hitting_OBP0.3250.500-0.075-0.250
predicted_R0.4960.0001.000Hitting_R0.5180.000-0.5180.000
predicted_RBI0.6200.0001.000Hitting_RBI0.5600.000-0.5600.000
predicted_SLG0.4300.0000.200Hitting_SLG0.4120.000-0.4120.000
predicted_SO0.8032.0001.000Hitting_SO0.8270.0001.1732.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.8030 -> 2.0000 (boost 1.1970, worse)
Biggest Deboostpredicted_AB: 4.6400 -> 3.0000 (deboost -1.6400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31212predicted_SLG: 0.4300 -> 0.4353 (boost 0.0053, better)predicted_AB: 4.6400 -> 4.3777 (deboost -0.2623, worse)Final model input calibrated 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.4353 -> 0.4053 (deboost -0.0300, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_AB: 4.3777 -> 5.0000 (boost 0.6223, better)predicted_BB: 0.2538 -> 0.0000 (deboost -0.2538, worse)AB rounded to 5 (raw=4.64), rates preserved: AVG=0.231 HR/AB=0.036
5consistency_constraints10101-predicted_R: 0.4929 -> 0.0000 (deboost -0.4929, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation11010predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)-Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context40404-predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference52314predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.3820 -> 0.4053 (boost 0.0233, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "666182",
  "player_name": "Bo Bichette",
  "position": "3B",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.165,
        "predicted_3B": 0.016,
        "predicted_AB": 4.64,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.268,
        "predicted_H": 1.16,
        "predicted_HR": 0.17,
        "predicted_OBP": 0.299,
        "predicted_R": 0.496,
        "predicted_RBI": 0.62,
        "predicted_SLG": 0.43,
        "predicted_SO": 0.803
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1554,
        "predicted_3B": 0.0217,
        "predicted_AB": 4.3777,
        "predicted_AVG": 0.2533,
        "predicted_BB": 0.2567,
        "predicted_H": 1.1078,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.1752,
        "predicted_OBP": 0.299,
        "predicted_R": 0.5208,
        "predicted_RBI": 0.5804,
        "predicted_SLG": 0.4353,
        "predicted_SO": 0.8121
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.165,
          "after": 0.1554,
          "delta": -0.0096,
          "percent_delta": -0.0582,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.016,
          "after": 0.0217,
          "delta": 0.0057,
          "percent_delta": 0.3563,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.64,
          "after": 4.3777,
          "delta": -0.2623,
          "percent_delta": -0.0565,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2533,
          "delta": 0.0033,
          "percent_delta": 0.0132,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.268,
          "after": 0.2567,
          "delta": -0.0113,
          "percent_delta": -0.0422,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.16,
          "after": 1.1078,
          "delta": -0.0522,
          "percent_delta": -0.045,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.17,
          "after": 0.1752,
          "delta": 0.0052,
          "percent_delta": 0.0306,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.299,
          "after": 0.299,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.496,
          "after": 0.5208,
          "delta": 0.0248,
          "percent_delta": 0.05,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.62,
          "after": 0.5804,
          "delta": -0.0396,
          "percent_delta": -0.0639,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.43,
          "after": 0.4353,
          "delta": 0.0053,
          "percent_delta": 0.0123,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.803,
          "after": 0.8121,
          "delta": 0.0091,
          "percent_delta": 0.0113,
          "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.43,
          "after": 0.4353,
          "delta": 0.0053,
          "percent_delta": 0.0123,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.64,
          "after": 4.3777,
          "delta": -0.2623,
          "percent_delta": -0.0565,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 127
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1554,
        "predicted_3B": 0.0217,
        "predicted_AB": 4.3777,
        "predicted_AVG": 0.245,
        "predicted_BB": 0.2538,
        "predicted_H": 1.0727,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.1677,
        "predicted_OBP": 0.2864,
        "predicted_R": 0.4929,
        "predicted_RBI": 0.5493,
        "predicted_SLG": 0.4053,
        "predicted_SO": 0.8214
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1554,
          "after": 0.1554,
          "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": 4.3777,
          "after": 4.3777,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2533,
          "after": 0.245,
          "delta": -0.0083,
          "percent_delta": -0.0328,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2567,
          "after": 0.2538,
          "delta": -0.0029,
          "percent_delta": -0.0113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1078,
          "after": 1.0727,
          "delta": -0.0351,
          "percent_delta": -0.0317,
          "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.1752,
          "after": 0.1677,
          "delta": -0.0075,
          "percent_delta": -0.0428,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.299,
          "after": 0.2864,
          "delta": -0.0126,
          "percent_delta": -0.0421,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5208,
          "after": 0.4929,
          "delta": -0.0279,
          "percent_delta": -0.0536,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5804,
          "after": 0.5493,
          "delta": -0.0311,
          "percent_delta": -0.0536,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4353,
          "after": 0.4053,
          "delta": -0.03,
          "percent_delta": -0.0689,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8121,
          "after": 0.8214,
          "delta": 0.0093,
          "percent_delta": 0.0115,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.4353,
          "after": 0.4053,
          "delta": -0.03,
          "percent_delta": -0.0689,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=4.64), rates preserved: AVG=0.231 HR/AB=0.036",
      "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.1554,
          "after": 0.0,
          "delta": -0.1554,
          "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": 4.3777,
          "after": 5.0,
          "delta": 0.6223,
          "percent_delta": 0.1422,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2538,
          "after": 0.0,
          "delta": -0.2538,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0727,
          "after": 1.0,
          "delta": -0.0727,
          "percent_delta": -0.0678,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.011,
          "after": 0.0,
          "delta": -0.011,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1677,
          "after": 0.0,
          "delta": -0.1677,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5493,
          "after": 1.0,
          "delta": 0.4507,
          "percent_delta": 0.8205,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8214,
          "after": 1.0,
          "delta": 0.1786,
          "percent_delta": 0.2174,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.3777,
          "after": 5.0,
          "delta": 0.6223,
          "percent_delta": 0.1422,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2538,
          "after": 0.0,
          "delta": -0.2538,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4929,
          "after": 0.0,
          "delta": -0.4929,
          "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.4929,
          "after": 0.0,
          "delta": -0.4929,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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_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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.231,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.277,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.382,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.245,
          "after": 0.231,
          "delta": -0.014,
          "percent_delta": -0.0571,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2864,
          "after": 0.277,
          "delta": -0.0094,
          "percent_delta": -0.0328,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4053,
          "after": 0.382,
          "delta": -0.0233,
          "percent_delta": -0.0575,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 3.0,
          "delta": -2.0,
          "percent_delta": -0.4,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 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": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 3.0,
          "delta": -2.0,
          "percent_delta": -0.4,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.245,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2864,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4053,
        "predicted_SO": 2.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.231,
          "after": 0.245,
          "delta": 0.014,
          "percent_delta": 0.0608,
          "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.277,
          "after": 0.2864,
          "delta": 0.0094,
          "percent_delta": 0.0339,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.382,
          "after": 0.4053,
          "delta": 0.0233,
          "percent_delta": 0.0611,
          "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.382,
          "after": 0.4053,
          "delta": 0.0233,
          "percent_delta": 0.0611,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.165,
        "after": 0.0,
        "delta": -0.165,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.016,
        "after": 0.0,
        "delta": -0.016,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.64,
        "after": 3.0,
        "delta": -1.64,
        "percent_delta": -0.3534,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.25,
        "after": 0.245,
        "delta": -0.005,
        "percent_delta": -0.02,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.268,
        "after": 1.0,
        "delta": 0.732,
        "percent_delta": 2.7313,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.16,
        "after": 0.0,
        "delta": -1.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.17,
        "after": 0.0,
        "delta": -0.17,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.299,
        "after": 0.2864,
        "delta": -0.0126,
        "percent_delta": -0.0421,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.496,
        "after": 0.0,
        "delta": -0.496,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.62,
        "after": 0.0,
        "delta": -0.62,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.43,
        "after": 0.4053,
        "delta": -0.0247,
        "percent_delta": -0.0574,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.803,
        "after": 2.0,
        "delta": 1.197,
        "percent_delta": 1.4907,
        "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.803,
        "after": 2.0,
        "delta": 1.197,
        "percent_delta": 1.4907,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.64,
        "after": 3.0,
        "delta": -1.64,
        "percent_delta": -0.3534,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.165-
predicted_3B0.016-
predicted_AB4.640-
predicted_AVG0.250-
predicted_BB0.268-
predicted_H1.160-
predicted_HR0.170-
predicted_OBP0.299-
predicted_R0.496-
predicted_RBI0.620-
predicted_SLG0.430-
predicted_SO0.803-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.155-0.010
predicted_3B0.0220.006
predicted_AB4.378-0.262
predicted_AVG0.2530.003
predicted_BB0.257-0.011
predicted_H1.108-0.052
predicted_HBP0.011-
predicted_HR0.1750.005
predicted_OBP0.2990.000
predicted_R0.5210.025
predicted_RBI0.580-0.040
predicted_SLG0.4350.005
predicted_SO0.8120.009
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1550.000
predicted_3B0.0220.000
predicted_AB4.3780.000
predicted_AVG0.245-0.008
predicted_BB0.254-0.003
predicted_H1.073-0.035
predicted_HBP0.0110.000
predicted_HR0.168-0.008
predicted_OBP0.286-0.013
predicted_R0.493-0.028
predicted_RBI0.549-0.031
predicted_SLG0.405-0.030
predicted_SO0.8210.009
4. ab_floor_and_scaling

AB rounded to 5 (raw=4.64), rates preserved: AVG=0.231 HR/AB=0.036

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB5.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
5. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
R1.0001.000
RBI1.0000.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.155
predicted_3B0.000-0.022
predicted_AB5.0000.622
predicted_AVG0.231-0.014
predicted_BB0.000-0.254
predicted_H1.000-0.073
predicted_HR0.000-0.168
predicted_OBP0.277-0.009
predicted_R0.000-0.493
predicted_RBI1.0000.451
predicted_SLG0.382-0.023
predicted_SO1.0000.179
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-2.000
BB1.0001.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 127
Reference playing time: 4.640
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-21.0004.0000.0000.0002.0003.0004.0001.0004.0000.19050.22730.47620.19050.09520.14290.04760.1905
last_100.2010-40.00012.0002.0001.0002.0005.0005.0002.0009.0000.30000.33330.55000.30000.05000.12500.05000.2250
season0.60127-510.000136.00021.0002.00014.00066.00063.00034.000102.0000.26670.31100.39800.26670.02740.12940.06670.2000
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1430
predicted_3B0.0290
predicted_AB4.0370
predicted_AVG0.2576
predicted_BB0.2420
predicted_H1.0400
predicted_HBP0.0110
predicted_HR0.1820
predicted_OBP0.2991
predicted_R0.5530
predicted_RBI0.5290
predicted_SLG0.4422
predicted_SO0.8240
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16500.14300.1554model_form_blend
predicted_3B0.01600.02900.0217model_form_blend
predicted_AB4.64004.03704.3777model_form_blend
predicted_AVG0.25000.25760.2533model_form_blend
predicted_BB0.26800.24200.2567model_form_blend
predicted_H1.16001.04001.1078model_form_blend
predicted_HBP-0.01100.0110form_only
predicted_HR0.17000.18200.1752model_form_blend
predicted_OBP0.29900.29910.2990model_form_blend
predicted_R0.49600.55300.5208model_form_blend
predicted_RBI0.62000.52900.5804model_form_blend
predicted_SLG0.43000.44220.4353model_form_blend
predicted_SO0.80300.82400.8121model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date550
Season rows before report date550
Report year2026
Profile rows used127
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H0
2B0
3B0
HR0
R0
RBI0
BB1
SO2
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260826_MIL@NYM
game_typefull
mlbID666182
playerID666182
playerNameBo Bichette
pos3B
startedTrue
startingPosition3B
teamNYM
teamID18
game_date2026-08-26
sl_k_percent18.2
sl_bb_percent6.5
sl_woba0.308
sl_xwoba0.322
sl_xba0.276
sl_xslg0.411
sl_sweet_spot_percent36.1
sl_barrel_batted_rate6.2
sl_hard_hit_percent41.6
sl_exit_velocity_avg89.6
sl_launch_angle_avg8.0
sl_whiff_percent19.5
sl_swing_percent53.4
Francisco Alvarez (682626) · BATTER · C · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 336
All-history rows before 20260827: 336
System season_avg: 0.2280
Data season_avg (2026 season-to-date): 0.2314
Diff (system - data): -0.0034
System opponent_avg: 0.2860

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1140.0000.000Hitting_2B0.1100.000-0.1100.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.2952.0003.000Hitting_AB3.4354.000-1.435-2.000
predicted_AVG0.1860.0000.000Hitting_AVG0.2310.250-0.231-0.250
predicted_BB0.3981.0000.000Hitting_BB0.4230.0000.5771.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.3500.0000.000Hitting_H0.7951.000-0.795-1.000
predicted_HR0.1100.0000.000Hitting_HR0.1640.000-0.1640.000
predicted_OBP0.2540.3330.000Hitting_OBP0.3240.2500.0090.083
predicted_R0.3070.0000.000Hitting_R0.3660.000-0.3660.000
predicted_RBI0.1600.0000.000Hitting_RBI0.3661.000-0.366-1.000
predicted_SLG0.3480.0000.000Hitting_SLG0.4060.250-0.406-0.250
predicted_SO1.1140.0001.000Hitting_SO1.1192.000-1.119-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics1
Deboosted Metrics10
Better Metrics2
Worse Metrics9
Biggest Boostpredicted_BB: 0.3980 -> 1.0000 (boost 0.6020, better)
Biggest Deboostpredicted_AB: 3.2950 -> 2.0000 (deboost -1.2950, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42213predicted_SO: 1.1140 -> 1.2140 (boost 0.1000, worse)predicted_SLG: 0.3480 -> 0.3164 (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_snapshot30303-predicted_SLG: 0.3164 -> 0.2470 (deboost -0.0694, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling70716-predicted_H: 0.4267 -> 0.0000 (deboost -0.4267, worse)AB rounded to 3 (raw=3.32), rates preserved: AVG=0.128 HR/AB=0.029
5consistency_constraints10101-predicted_R: 0.2511 -> 0.0000 (deboost -0.2511, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6lineup_integer_allocation00000--Lineup-level largest-remainder allocation so team totals match the summed model expectation
7embedded_savant_player_context22020predicted_SLG: 0.2470 -> 0.2550 (boost 0.0080, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference31221predicted_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
9current_json_final20202-predicted_SLG: 0.2550 -> 0.2470 (deboost -0.0080, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "682626",
  "player_name": "Francisco Alvarez",
  "position": "C",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.114,
        "predicted_3B": 0.0,
        "predicted_AB": 3.295,
        "predicted_AVG": 0.186,
        "predicted_BB": 0.398,
        "predicted_H": 0.35,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.254,
        "predicted_R": 0.307,
        "predicted_RBI": 0.16,
        "predicted_SLG": 0.348,
        "predicted_SO": 1.114
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1063,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.3218,
        "predicted_AVG": 0.1782,
        "predicted_BB": 0.3942,
        "predicted_H": 0.4407,
        "predicted_HBP": 0.028,
        "predicted_HR": 0.0998,
        "predicted_OBP": 0.2562,
        "predicted_R": 0.2653,
        "predicted_RBI": 0.1906,
        "predicted_SLG": 0.3164,
        "predicted_SO": 1.214
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.114,
          "after": 0.1063,
          "delta": -0.0077,
          "percent_delta": -0.0675,
          "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.295,
          "after": 3.3218,
          "delta": 0.0268,
          "percent_delta": 0.0081,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.186,
          "after": 0.1782,
          "delta": -0.0078,
          "percent_delta": -0.0419,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.398,
          "after": 0.3942,
          "delta": -0.0038,
          "percent_delta": -0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.35,
          "after": 0.4407,
          "delta": 0.0907,
          "percent_delta": 0.2591,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.0998,
          "delta": -0.0102,
          "percent_delta": -0.0927,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.254,
          "after": 0.2562,
          "delta": 0.0022,
          "percent_delta": 0.0087,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.307,
          "after": 0.2653,
          "delta": -0.0417,
          "percent_delta": -0.1358,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.16,
          "after": 0.1906,
          "delta": 0.0306,
          "percent_delta": 0.1912,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.348,
          "after": 0.3164,
          "delta": -0.0316,
          "percent_delta": -0.0908,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.114,
          "after": 1.214,
          "delta": 0.1,
          "percent_delta": 0.0898,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.114,
          "after": 1.214,
          "delta": 0.1,
          "percent_delta": 0.0898,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.348,
          "after": 0.3164,
          "delta": -0.0316,
          "percent_delta": -0.0908,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 88
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1063,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.3218,
        "predicted_AVG": 0.1285,
        "predicted_BB": 0.3897,
        "predicted_H": 0.4267,
        "predicted_HBP": 0.028,
        "predicted_HR": 0.0955,
        "predicted_OBP": 0.22,
        "predicted_R": 0.2511,
        "predicted_RBI": 0.1804,
        "predicted_SLG": 0.247,
        "predicted_SO": 1.2278
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1063,
          "after": 0.1063,
          "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.3218,
          "after": 3.3218,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1782,
          "after": 0.1285,
          "delta": -0.0497,
          "percent_delta": -0.2789,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3942,
          "after": 0.3897,
          "delta": -0.0045,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4407,
          "after": 0.4267,
          "delta": -0.014,
          "percent_delta": -0.0318,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.028,
          "after": 0.028,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0998,
          "after": 0.0955,
          "delta": -0.0043,
          "percent_delta": -0.0431,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2562,
          "after": 0.22,
          "delta": -0.0362,
          "percent_delta": -0.1413,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2653,
          "after": 0.2511,
          "delta": -0.0142,
          "percent_delta": -0.0535,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1906,
          "after": 0.1804,
          "delta": -0.0102,
          "percent_delta": -0.0535,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3164,
          "after": 0.247,
          "delta": -0.0694,
          "percent_delta": -0.2193,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.214,
          "after": 1.2278,
          "delta": 0.0138,
          "percent_delta": 0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3164,
          "after": 0.247,
          "delta": -0.0694,
          "percent_delta": -0.2193,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.32), rates preserved: AVG=0.128 HR/AB=0.029",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1063,
          "after": 0.0,
          "delta": -0.1063,
          "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.3218,
          "after": 3.0,
          "delta": -0.3218,
          "percent_delta": -0.0969,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3897,
          "after": 0.0,
          "delta": -0.3897,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.4267,
          "after": 0.0,
          "delta": -0.4267,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.028,
          "after": 0.0,
          "delta": -0.028,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0955,
          "after": 0.0,
          "delta": -0.0955,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1804,
          "after": 0.0,
          "delta": -0.1804,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2278,
          "after": 1.0,
          "delta": -0.2278,
          "percent_delta": -0.1855,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 0,
        "deboosted_metrics": 7,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.4267,
          "after": 0.0,
          "delta": -0.4267,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.2511,
          "after": 0.0,
          "delta": -0.2511,
          "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.2511,
          "after": 0.0,
          "delta": -0.2511,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": {},
      "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.128,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.226,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.255,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1285,
          "after": 0.128,
          "delta": -0.0005,
          "percent_delta": -0.0039,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.22,
          "after": 0.226,
          "delta": 0.006,
          "percent_delta": 0.0273,
          "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.247,
          "after": 0.255,
          "delta": 0.008,
          "percent_delta": 0.0324,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.247,
          "after": 0.255,
          "delta": 0.008,
          "percent_delta": 0.0324,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_BB": 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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_AVG": 0.1285,
        "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.22,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.247,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.128,
          "after": 0.1285,
          "delta": 0.0005,
          "percent_delta": 0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.226,
          "after": 0.22,
          "delta": -0.006,
          "percent_delta": -0.0267,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.255,
          "after": 0.247,
          "delta": -0.008,
          "percent_delta": -0.0315,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.255,
          "after": 0.247,
          "delta": -0.008,
          "percent_delta": -0.0315,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.114,
        "after": 0.0,
        "delta": -0.114,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.295,
        "after": 2.0,
        "delta": -1.295,
        "percent_delta": -0.393,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.186,
        "after": 0.1285,
        "delta": -0.0575,
        "percent_delta": -0.3091,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.398,
        "after": 1.0,
        "delta": 0.602,
        "percent_delta": 1.5126,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.35,
        "after": 0.0,
        "delta": -0.35,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.11,
        "after": 0.0,
        "delta": -0.11,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.254,
        "after": 0.22,
        "delta": -0.034,
        "percent_delta": -0.1339,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.307,
        "after": 0.0,
        "delta": -0.307,
        "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.348,
        "after": 0.247,
        "delta": -0.101,
        "percent_delta": -0.2902,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.114,
        "after": 0.0,
        "delta": -1.114,
        "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.398,
        "after": 1.0,
        "delta": 0.602,
        "percent_delta": 1.5126,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.295,
        "after": 2.0,
        "delta": -1.295,
        "percent_delta": -0.393,
        "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.114-
predicted_3B0.000-
predicted_AB3.295-
predicted_AVG0.186-
predicted_BB0.398-
predicted_H0.350-
predicted_HR0.110-
predicted_OBP0.254-
predicted_R0.307-
predicted_RBI0.160-
predicted_SLG0.348-
predicted_SO1.114-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.106-0.008
predicted_3B0.0000.000
predicted_AB3.3220.027
predicted_AVG0.178-0.008
predicted_BB0.394-0.004
predicted_H0.4410.091
predicted_HBP0.028-
predicted_HR0.100-0.010
predicted_OBP0.2560.002
predicted_R0.265-0.042
predicted_RBI0.1910.031
predicted_SLG0.316-0.032
predicted_SO1.2140.100
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1060.000
predicted_3B0.0000.000
predicted_AB3.3220.000
predicted_AVG0.129-0.050
predicted_BB0.390-0.005
predicted_H0.427-0.014
predicted_HBP0.0280.000
predicted_HR0.096-0.004
predicted_OBP0.220-0.036
predicted_R0.251-0.014
predicted_RBI0.180-0.010
predicted_SLG0.247-0.069
predicted_SO1.2280.014
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.32), rates preserved: AVG=0.128 HR/AB=0.029

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H0.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
5. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H0.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H0.0000.000
HR0.0000.000
R0.0000.000
RBI0.0000.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.106
predicted_3B0.000-0.000
predicted_AB3.000-0.322
predicted_AVG0.128-0.001
predicted_BB0.000-0.390
predicted_H0.000-0.427
predicted_HR0.000-0.096
predicted_OBP0.2260.006
predicted_R0.000-0.251
predicted_RBI0.000-0.180
predicted_SLG0.2550.008
predicted_SO1.000-0.228
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-1.000
BB1.0001.000
CS0.0000.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA3.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 88
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0001.0000.0000.0000.0000.0000.0002.0008.0000.05880.15790.05880.05880.00000.00000.11770.4706
last_100.2010-33.0002.0001.0000.0000.0001.0000.0004.00020.0000.06060.16220.09090.06060.00000.03030.12120.6061
season0.6088-290.00066.00010.0000.00012.00028.00027.00035.00098.0000.22760.31820.38620.22760.04140.09650.12070.3379
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0960
predicted_3B0.0010
predicted_AB3.3580
predicted_AVG0.1677
predicted_BB0.3890
predicted_H0.5630
predicted_HBP0.0280
predicted_HR0.0860
predicted_OBP0.2591
predicted_R0.2090
predicted_RBI0.2320
predicted_SLG0.2738
predicted_SO1.3490
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11400.09600.1063model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.29503.35803.3218model_form_blend
predicted_AVG0.18600.16770.1782model_form_blend
predicted_BB0.39800.38900.3942model_form_blend
predicted_H0.35000.56300.4407model_form_blend
predicted_HBP-0.02800.0280form_only
predicted_HR0.11000.08600.0998model_form_blend
predicted_OBP0.25400.25910.2562model_form_blend
predicted_R0.30700.20900.2653model_form_blend
predicted_RBI0.16000.23200.1906model_form_blend
predicted_SLG0.34800.27380.3164model_form_blend
predicted_SO1.11401.34901.2140model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date336
Season rows before report date336
Report year2026
Profile rows used88
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA3
AB2
H0
2B0
3B0
HR0
R0
RBI0
BB1
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB1
Hitting_battingOrder9
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260826_MIL@NYM
game_typefull
mlbID682626
playerID682626
playerNameFrancisco Alvarez
posC
startedTrue
startingPositionC
teamNYM
teamID18
game_date2026-08-26
sl_k_percent30.4
sl_bb_percent10.1
sl_woba0.318
sl_xwoba0.322
sl_xba0.228
sl_xslg0.422
sl_sweet_spot_percent32.7
sl_barrel_batted_rate15.6
sl_hard_hit_percent44.4
sl_exit_velocity_avg90.0
sl_launch_angle_avg11.0
sl_whiff_percent35.4
sl_swing_percent45.3
Sean Manaea (640455) · PITCHER · Starter · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 27
All-history rows before 20260827: 27

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB1.4442.000-0.444-1.000
predicted_ER2.0002.0002.000Pitching_ER2.0744.000-0.074-2.000
predicted_H5.0005.0005.000Pitching_H4.2225.0000.7780.000
predicted_IP6.1006.1006.100Pitching_InningsPitched4.2046.0001.8960.100
predicted_SO4.0004.0004.000Pitching_SO4.3334.000-0.3330.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_IP: 6.3333 -> 6.1000 (deboost -0.2333, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_IP: 6.3333 -> 6.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": "640455",
  "player_name": "Sean Manaea",
  "position": "Starter",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 2.0,
        "predicted_H": 5.0,
        "predicted_HR": 1.0,
        "predicted_IP": 6.3333,
        "predicted_SO": 4.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 2.0,
        "predicted_H": 5.0,
        "predicted_HR": 1.0,
        "predicted_IP": 6.1,
        "predicted_R": 2.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 6.3333,
          "after": 6.1,
          "delta": -0.2333,
          "percent_delta": -0.0368,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 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": 6.3333,
          "after": 6.1,
          "delta": -0.2333,
          "percent_delta": -0.0368,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 6.3333,
        "after": 6.1,
        "delta": -0.2333,
        "percent_delta": -0.0368,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 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": 6.3333,
        "after": 6.1,
        "delta": -0.2333,
        "percent_delta": -0.0368,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER2.000-
predicted_H5.000-
predicted_HR1.000-
predicted_IP6.333-
predicted_SO4.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 27
Reference playing time: 6.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45531.10013.00026.00011.00033.0007.0003.73401.18090.41490.82980.35111.05320.2234
last_100.351059.20025.00053.00019.00057.00013.0003.77091.20670.41900.88830.31840.95530.2179
season0.2027117.00056.000114.00039.000117.00019.0004.30771.30770.47860.97440.33331.00000.1624
Weighted Prediction From Real Data
MetricValue
predicted_BB2.0110
predicted_ER2.5960
predicted_ERA3.9623
predicted_H5.2730
predicted_HR1.1760
predicted_IP6.0000
predicted_SO5.8880
predicted_WHIP1.2352
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00002.01101.5904model_form_blend
predicted_ER2.00002.59602.3481model_form_blend
predicted_ERA-3.96233.9623form_only
predicted_H5.00005.27305.1594model_form_blend
predicted_HR1.00001.17601.1028model_form_blend
predicted_IP6.10006.00006.1000model_form_blend
predicted_SO4.00005.88805.1026model_form_blend
predicted_WHIP-1.23521.2352form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date27
Season rows before report date27
Report year2026
Profile rows used27
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP6.1
H5
R2
ER2
BB1
SO4
HR1
BF25
Pitches99

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced25
Pitching_ER4
Pitching_ERA4.31
Pitching_Flyouts8
Pitching_Groundouts4
Pitching_H5
Pitching_HBP0
Pitching_HR3
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched6.0
Pitching_Pitches93
Pitching_R4
Pitching_SO4
Pitching_Strikes62
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260821_NYM@CHW
game_typefull
mlbID640455
playerID640455
playerNameSean Manaea
posP
startedTrue
startingPositionP
teamNYM
teamID18
game_date2026-08-21
sl_k_percent22.5
sl_bb_percent7.5
sl_woba0.346
sl_xwoba0.336
sl_sweet_spot_percent36.2
sl_barrel_batted_rate11.2
sl_hard_hit_percent42.1
sl_whiff_percent22.3
sl_swing_percent50.0
sl_avg_best_speed77.721342316
sl_avg_hyper_speed94.670712627
Daniel Duarte (650960) · PITCHER · Setup Man · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 18
All-history rows before 20260827: 18

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2780.000-0.2780.000
predicted_ER0.0000.0000.000Pitching_ER0.1671.000-0.167-1.000
predicted_H0.0000.0000.000Pitching_H0.5562.000-0.556-2.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.1611.000-0.1610.000
predicted_SO0.0000.0000.000Pitching_SO1.2783.000-1.278-3.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "650960",
  "player_name": "Daniel Duarte",
  "position": "Setup Man",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

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: 18
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.2001.0002.0000.0009.0000.0001.92860.42860.21430.42860.00001.92860.0000
last_100.351010.1001.0003.0003.00011.0000.0000.87100.58060.09680.29030.29031.06450.0000
season0.201823.0003.00010.0005.00023.0001.0001.17390.65220.13040.43480.21741.00000.0435
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2690
predicted_ER0.3460
predicted_ERA3.0189
predicted_H0.7120
predicted_HR0.0830
predicted_IP1.0000
predicted_SO1.2210
predicted_WHIP0.9508
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.26900.1158model_form_blend
predicted_ER0.00000.34600.1489model_form_blend
predicted_ERA-3.01893.0189form_only
predicted_H0.00000.71200.3064model_form_blend
predicted_HR0.00000.08300.0357model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.22100.5254model_form_blend
predicted_WHIP-0.95080.9508form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date18
Season rows before report date18
Report year2026
Profile rows used18
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
BB0
SO0
HR0
BF3
Pitches13

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER1
Pitching_ERA1.17
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches28
Pitching_R1
Pitching_SO3
Pitching_Strikes18
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260823_NYM@CHW
game_typefull
mlbID650960
playerID650960
playerNameDaniel Duarte
posP
startedFalse
startingPositionP
teamNYM
teamID18
game_date2026-08-23
sl_k_percent26.9
sl_bb_percent6.5
sl_woba0.22
sl_xwoba0.258
sl_sweet_spot_percent37.7
sl_barrel_batted_rate6.6
sl_hard_hit_percent23.0
sl_whiff_percent23.6
sl_swing_percent52.9
sl_avg_best_speed68.817294
sl_avg_hyper_speed92.266393333
Kodai Senga (673540) · PITCHER · Closer · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 21
All-history rows before 20260827: 21

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB1.7140.000-1.7140.000
predicted_ER2.0002.0002.000Pitching_ER2.1431.000-0.1431.000
predicted_H3.0003.0003.000Pitching_H2.4761.0000.5242.000
predicted_IP1.0001.0001.000Pitching_InningsPitched2.3430.100-1.3430.900
predicted_SO2.0002.0002.000Pitching_SO2.9520.000-0.9522.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": "673540",
  "player_name": "Kodai Senga",
  "position": "Closer",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 3.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": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 2.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 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": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 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_ER2.000-
predicted_H3.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: 21
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.1002.0005.0002.0005.0001.0004.15381.61540.46151.15390.46151.15390.2308
last_100.351012.2007.00010.0009.00015.0001.0004.97371.50000.55260.78950.71051.18420.0790
season0.202152.00045.00052.00036.00062.00013.0007.78851.69230.86541.00000.69231.19230.2500
Weighted Prediction From Real Data
MetricValue
predicted_BB0.6560
predicted_ER0.6930
predicted_ERA4.9535
predicted_H1.2450
predicted_HR0.2140
predicted_IP1.1000
predicted_SO1.3840
predicted_WHIP1.5101
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.65600.3366model_form_blend
predicted_ER2.00000.69301.3293model_form_blend
predicted_ERA-4.95354.9535form_only
predicted_H3.00001.24502.0994model_form_blend
predicted_HR0.00000.21400.1098model_form_blend
predicted_IP1.00001.10001.2000model_form_blend
predicted_SO2.00001.38401.6839model_form_blend
predicted_WHIP-1.51011.5101form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date21
Season rows before report date21
Report year2026
Profile rows used21
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H3
R2
ER2
BB0
SO2
HR0
BF6
Pitches17

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced2
Pitching_ER1
Pitching_ERA7.79
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.1
Pitching_Pitches9
Pitching_R1
Pitching_SO0
Pitching_Strikes4
Pitching_Wild Pitch0
Pitching_decisionL
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260823_NYM@CHW
game_typefull
mlbID673540
playerID673540
playerNameKodai Senga
posP
startedFalse
startingPositionP
teamNYM
teamID18
game_date2026-08-23
sl_k_percent25.8
sl_bb_percent14.7
sl_woba0.374
sl_xwoba0.344
sl_sweet_spot_percent42.2
sl_barrel_batted_rate12.9
sl_hard_hit_percent39.5
sl_whiff_percent28.4
sl_swing_percent44.4
sl_avg_best_speed79.959242329
sl_avg_hyper_speed94.215391034
Nathan Lavender (681320) · PITCHER · Middle Reliever (High Leverage) · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260827: 9
All-history rows before 20260827: 9

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.2220.0000.7781.000
predicted_ER0.0000.0000.000Pitching_ER0.0000.0000.0000.000
predicted_H0.0000.0000.000Pitching_H0.1110.000-0.1110.000
predicted_IP0.2000.2000.200Pitching_InningsPitched0.8672.000-0.667-1.800
predicted_SO2.0002.0002.000Pitching_SO1.2221.0000.7781.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": "681320",
  "player_name": "Nathan Lavender",
  "position": "Middle Reliever (High Leverage)",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.6667,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.2,
        "predicted_R": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 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": 0.6667,
        "after": 0.2,
        "delta": -0.4667,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 0.2,
        "delta": -0.4667,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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_IP0.667-
predicted_SO2.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 9
Reference playing time: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.2000.0000.0000.0006.0000.0000.00000.00000.00000.00000.00001.05880.0000
last_100.3599.2000.0001.0002.00011.0000.0000.00000.31030.00000.10350.20691.13790.0000
season0.2099.2000.0001.0002.00011.0000.0000.00000.31030.00000.10350.20691.13790.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2180
predicted_ER0.2740
predicted_ERA3.2468
predicted_H0.5420
predicted_HR0.0800
predicted_IP0.2000
predicted_SO0.7490
predicted_WHIP1.0005
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.21800.7297model_form_blend
predicted_ER0.00000.27400.0947model_form_blend
predicted_ERA-3.24683.2468form_only
predicted_H0.00000.54200.1873model_form_blend
predicted_HR0.00000.08000.0276model_form_blend
predicted_IP0.20000.20000.2000model_form_blend
predicted_SO2.00000.74901.5677model_form_blend
predicted_WHIP-1.00051.0005form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date9
Season rows before report date9
Report year2026
Profile rows used9
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP0.2
H0
R0
ER0
BB1
SO2
HR0
BF3
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_BB0
Pitching_Balk0
Pitching_Batters Faced6
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts2
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched2.0
Pitching_Pitches20
Pitching_R0
Pitching_SO1
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260825_MIL@NYM
game_typefull
mlbID681320
playerID681320
playerNameNathan Lavender
posP
startedFalse
startingPositionP
teamNYM
teamID18
game_date2026-08-25
sl_k_percent32.4
sl_bb_percent5.4
sl_woba0.144
sl_xwoba0.214
sl_sweet_spot_percent34.8
sl_barrel_batted_rate8.7
sl_hard_hit_percent30.4
sl_whiff_percent30.2
sl_swing_percent49.6
sl_avg_best_speed73.703343333
sl_avg_hyper_speed92.254733043